PDA

View Full Version : فوری: کد برای رفرش شدن خودکار صفحه



.fatemeh
جمعه 24 تیر 1390, 10:57 صبح
سلام
کد من اینه:
<script>history.go(-1);</script>
که با این کد، برمی گرده به صفحه مثلا a.php
حالا توی صفحه a.php یه شرطی دارم که برای اینکه اون شرط برقرار بشه و کدهام اجرا بشه
باید صفحه رفرش بشه
یعنی به محض اینکه وارد صفحه A.php شد، صفحه به طور خودکار رفرش بشه
از چه کدی باید استفاده کنم؟؟
از window.document.location استفاده کردم ولی کار نکرد.

Mr.Moghadam
جمعه 24 تیر 1390, 13:55 عصر
از این کد جاوااسکریپت استفاده کن


window.location.reload()

webpower
جمعه 24 تیر 1390, 15:30 عصر
بر طور کل برای عوض کردن صفحه ای که توش هستین میتونید از اسکریپت زیر استفاده کنید

window.location='Page.php'
برای رفرش کردن صفحه هم میتونید همین رو توی صفحه A.php بزارید

window.location='A.php'

MMSHFE
جمعه 24 تیر 1390, 18:03 عصر
با سلام، همه روشهایی که دوستان گفتن درسته ولی باید به یک نکته دقت کنید و اون اینکه اگه این کد رو توی صفحه بگذارین، مرتباً به محض نمایش صفحه، دوباره صفحه Refresh میشه. برای رفع این مشکل، باید ابتدا توسط PHP چک کنید و ببینید که از صفحه دیگری وارد صفحه شدین یا اینکه این صفحه، Refresh شده همون صفحه قبلی هست. برای این کار هم کد زیر رو استفاده کنید:


<?php
if($_SERVER['HTTP_REFERER']!='')
{
?>
<script language="javascript" type="text/javascript">
window.location.reload();
</script>
<?php
}
?>

اینطوری وقتی صفحه Refresh میشه، چون Referer وجود نداره، دیگه کد JS به صفحه اضافه نمیشه که دوباره صفحه Refresh بشه.
موفق باشید.

رضا قربانی
جمعه 24 تیر 1390, 18:10 عصر
در این کد شما می تونید برای رفرش شدن به صفحه مربوط ثانیه بگذارید :



echo'بعد از 3 ثانیه به صفحه ایندکس هدایت می شه

<meta http-equiv="refresh" content="3;url=index.php" />
';

.fatemeh
جمعه 24 تیر 1390, 21:55 عصر
با سلام، همه روشهایی که دوستان گفتن درسته ولی باید به یک نکته دقت کنید و اون اینکه اگه این کد رو توی صفحه بگذارین، مرتباً به محض نمایش صفحه، دوباره صفحه Refresh میشه. برای رفع این مشکل، باید ابتدا توسط PHP چک کنید و ببینید که از صفحه دیگری وارد صفحه شدین یا اینکه این صفحه، Refresh شده همون صفحه قبلی هست. برای این کار هم کد زیر رو استفاده کنید:
<?php
if($_SERVER['HTTP_REFERER']!='')
{
?>
<script language="javascript" type="text/javascript">
window.location.reload();
</script>
<?php
}
?>




اینطوری وقتی صفحه Refresh میشه، چون Referer وجود نداره، دیگه کد JS به صفحه اضافه نمیشه که دوباره صفحه Refresh بشه.

درست شد !
ممنون

.fatemeh
شنبه 25 تیر 1390, 08:51 صبح
من این کد رو روی یه سیستم دیگه اجرا کردم، ولی جواب نداد
روی هاست هم کار نمی کنه
چرا؟؟!!:ناراحت:

.fatemeh
شنبه 25 تیر 1390, 11:11 صبح
کسی نمی تونه راهنمایی کنه؟؟

webpower
شنبه 25 تیر 1390, 12:46 عصر
این کد <script>history.go(-1);</script> باعث میشه که مرورگر بک کنه ولی وقتی مرورگر بک میکنه اطلاعات قدیمی رو نشون میده که با رفرش درست میشه اگر هدف شما از رفرش کردن رفع این مشکله میتونید از روش های دیگه برای بک کردن استفاده کنید به عنوان مثال همون اول که کاربر از صفحه a.php میره به صفحه که کد <script>history.go(-1);</script> رو داره توی a.php اون دکمه یا لینکی که کاربر رو انتقال میده رو تبدیل به سابمیت کنید و یک hidden با value نام صفحه بهش بدید توی صفحه ای که قراره دکمه بک توش باشه اول مقدار رو بگیرید بعد بذارید توی یک لینک کدش به صورت زیر میشه:
صفحه a.php:


<script language="javascript">
function nextpage()
{
frmNextPage.submit()
}
</script>

<form action="new.php" method="post" name="frmNextPage">
<input type="hidden" name="PageName" value="a.php" />
<a href="#" onclick="nextpage()">Next Page</a>
</form>


این هم مثلا صفحه new.php همون صفحه ای که back داره:


<?php
$LastPageName=$_POST['PageName'];
echo "<a href=\"$LastPageName\">back</a>";
echo "<br>or<br>";
echo "<a href=\"$LastPageName\"><input type=\"button\" value=\"back\" /></a>";
?>

eshpilen
شنبه 25 تیر 1390, 13:04 عصر
<?php
setcookie('refresh', '0');
?>
<html>
<head>
<script>
function p1() {
if(document.cookie.indexOf('refresh=1')!=-1) {
document.cookie='refresh=0; path=/';
alert('Refreshing...');
location.reload();
}
}
</script>
</head>
<body onload="p1();">
Page 1
</body>
</html>




<html>
<head>
<script>
function p2() {
document.cookie='refresh=1; path=/';
history.go(-1);
}
</script>
</head>
<body>
Page 2<br>
<button onclick="p2();">go back and refresh</button>
</body>
</html>

.fatemeh
شنبه 25 تیر 1390, 13:09 عصر
من کد ورود به سایتم رو می خوام یه چیزی شبیه به ورود همین انجمن باشه
که اول فرم ورود نشون داده می شه و بعد از اینکه کاربر وارد شد، خوش آمدید و خروج نمایش داده می شه
و بعد از زدن خروج باز فرم ورود
اینطوری نوشتم:
بعد از اینکه کاربر از یک صفحه داخل سایت یوزر و پسورد رو وارد می کنه داخل صفحه login هویت کاربر چک می شه و بعد به طور اتوماتیک با history.go به همون صفحه ای که بوده برمی گرده
حالا وقتی به همون صفحه برمی گرده باید صفحه رفرش بشه تا نام کاربر بالای صفحه نمایش داده بشه

eshpilen
شنبه 25 تیر 1390, 13:18 عصر
استفاده از history برای اینطور کارها غیرضروری و غیراصولی است.
شما باید آدرسی رو که کاربر قبلا توش بوده جایی ذخیره کنید، مثلا در یک سشن یا در کوکی، و بعد از لاگین با استفاده از اون مقدار، کاربر رو به صفحهء اولیه برگردونید.

MMSHFE
شنبه 25 تیر 1390, 17:22 عصر
دوست گرامی، نکته در اینه که این انجمن یا سایر انجمنها، همون صفحه رو Refresh نمیکنند بلکه یک صفحه واسط برای خوش آمدگویی و... وجود داره که بعد از نمایش پیغام، شما رو به صفحه اصلی Redirect میکنه. برای Redirect هم میتونید از روشهای مختلفی مثل تگ متا، کد JS یا تابع header در PHP استفاده کنید. موفق باشید.

kazem25
پنج شنبه 05 آذر 1394, 19:31 عصر
با سلام یه کد انتقال صفحه برای لوکس بلاگ میخوام که صفحه بعد از ویرایش قالب هی رفرش نشه باتشکر