PDA

View Full Version : مشکل با تابع isset



10david
دوشنبه 18 خرداد 1388, 20:06 عصر
با سلام من وقتی با تابع isset چک می کنم که دکمه submit فرم زده شده یا نه اگرکاربر یه بار فرم رو بفرسته و با کلید Back یا با بقیه لینکهام به یه جای دیگه سایت بره وقتی دوباره به اون صفجه بر میگرده فرم با همون اطلاعات قبلی ارسال میشه .چجوری میشه بهش فهموند که اطلاعات مال قبله و submit ست نشده؟

حامد مصافی
دوشنبه 18 خرداد 1388, 20:29 عصر
وقتی کاربر مجدداً صفحه مورد نظر رو باز می کنه در واقع داره دوباره اطلاعات رو port می کنه. پس نمیشه بهش فهموند که این اطلاعات مال قبله یا الان. اما می تونید راه حل دیگری به کار بگیرید. در session یک کلید را مقدار دهی کنید (در شروع صفحه) و همان مقدار را در یک hidden element در فرم بنویسید. سپس هنگام submit بررسی کنید آیا مقدار ارسالی همان مقدار موجود در session است یا خیر، اگر نبود یعنی اینکه کاربر بدون بارگذاری صفحه اقدام به post اطلاعات کرده است.

امیـرحسین
دوشنبه 18 خرداد 1388, 20:49 عصر
میلیاردها راه برای انجام همچین کاری وجود داره: Google: php prevent resubmit form (http://www.google.com/search?hl=en&q=php+prevent+resubmit+form)

این هم یک تاپیک مشابه که نظرات سایر کاربران میتونه مفید باشه: جلوگیری از فراخوانی (http://www.barnamenevis.org/forum/showthread.php?p=696222)