انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


ارائه ۲۴٫۱۰ اوبونتو منتشر شد 🎉

نویسنده موضوع: refresh صفحه پس از بازگشت با استفاده از فشردن back- برنامه نويسي php  (دفعات بازدید: 1940 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین rahmani

  • Sr. Member
  • *
  • ارسال: 291
سلام

در يك سايت براي فروش نرم افزار form طراحي شده كه كاربر پس از پر كردن form و وارد كردن serial number يك شناسه كاربري براي فعال كردن نرم افزار دريافت مي كند هنگامي كه كاربر اولين بار form را پر مي كند بدون هيچ مشكلي فعال سازي انجام مي شود. اما هنگامي كه با استفاده از فشردن  back به صفحه قبل باز مي گردد تا serial number ديگري وارد كند و شناسه و رمز ورود ديگري دريافت كند گويا فعالسازي دچار مشكل مي شود

چه بايد كرد
سپاسگزارم
اگر در صحنه حق و باطل زمان خويش نيستي، هر جا كه خواهي باش....
 دكتر علي شزيعتي مزيناني

آفلاین Ma3X

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 877
  • جنسیت : پسر
  • It is Matrix
    • ماتریکس. آی آر
متد فرم POST هست یا GET؟
من حدود یک ماهه که دارم به‌طور جدی PHP کار می‌کنم؛ به نظر من مشکل از کد PHP نیست، در بعضی مرورگرها با فشردن کلید back محتوای کش شده نشون داده می‌شه و request جدیدی به سرور فرستاده نمیشه. اگر بتونی کاربر رو مجبور به ریفرش کنی، احتمالا مشکل حل میشه.
چیزایی که به ذهن من رسید:
- با یک کد جاوا اسکریپت صفحه رو ریلود کنید.
- در صورتی که معمول کاربران بیشتر از یک شماره سریال وارد می‌کنند، برنامه PHP رو طوری بنویسید که بعد از پردازش، دوباره فرم نمایش داده بشه.
- متد رو روی POST ست کنید تا وقتی کاربر back کرد، فرم expire شده باشه و مجبور بشه ریلود کنه.

آفلاین M!lad

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1757
میتونید از این روش استفاده کنید:

<html>
<head>
<script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<script type="text/javascript">
window.onload = function() {
if( $('#r').val() == '')
{
$('#r').val('1');
}
else
{
$('#r').val('');
location.reload(true);
}
};
window.onunload = function(){};
   </script>
</head>
<body>
<h1>A</h1>
<form method="get" action="b.html">
<input type="text" value="" />
<input type="submit" value="send">
</form>
<input id="r" type="hidden" name="r" value="" />
</body>
</html>
« آخرین ویرایش: 12 خرداد 1393، 01:32 ب‌ظ توسط YPSD »
..I feel no fault for the fault I feel..

آفلاین rahmani

  • Sr. Member
  • *
  • ارسال: 291

- متد رو روی POST ست کنید تا وقتی کاربر back کرد، فرم expire شده باشه و مجبور بشه ریلود کنه.

سلام من از همان ابتدا از post استفاده كردم
« آخرین ویرایش: 12 خرداد 1393، 02:57 ب‌ظ توسط rahmani »
اگر در صحنه حق و باطل زمان خويش نيستي، هر جا كه خواهي باش....
 دكتر علي شزيعتي مزيناني

آفلاین Ma3X

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 877
  • جنسیت : پسر
  • It is Matrix
    • ماتریکس. آی آر
مورد اول و دوم رو هم نگاه کردین؟!

آفلاین rahmani

  • Sr. Member
  • *
  • ارسال: 291
مورد اول و دوم رو هم نگاه کردین؟!
سلام اره ممنون تلاش كردم با راهنمايي شما و جناب M!lad يك كارهايي با javascript كردم اما نتيجه نگرفتم
سپاس
اگر در صحنه حق و باطل زمان خويش نيستي، هر جا كه خواهي باش....
 دكتر علي شزيعتي مزيناني

آفلاین Ma3X

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 877
  • جنسیت : پسر
  • It is Matrix
    • ماتریکس. آی آر
اگه صفحه رو ریفرش کنی، فرم به درستی کار می‌کنه؟

آفلاین rahmani

  • Sr. Member
  • *
  • ارسال: 291
میتونید از این روش استفاده کنید:

<html>
<head>
<script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<script type="text/javascript">
window.onload = function() {
if( $('#r').val() == '')
{
$('#r').val('1');
}
else
{
$('#r').val('');
location.reload(true);
}
};
window.onunload = function(){};
   </script>
</head>
<body>
<h1>A</h1>
<form method="get" action="b.html">
<input type="text" value="" />
<input type="submit" value="send">
</form>
<input id="r" type="hidden" name="r" value="" />
</body>
</html>
سلام
 من مي خواهم فقط در صورتي كه كاربر روي back كليك كند صفحه refresh شود اما اين طوري هميشه refresh مي شود  دقيقا code شما را به كاربردم. بلافاصله پس از فعالسازي يك پيام نمايش داده مي شود و بعد هم كه ok را زدم صفحه refresh مي شود و اجازه نمي دهد كاربر متن پيام را ببيند
سپاسگزارم
اگر در صحنه حق و باطل زمان خويش نيستي، هر جا كه خواهي باش....
 دكتر علي شزيعتي مزيناني