PDA

View Full Version : سوال: POSt



javad14
چهارشنبه 15 مهر 1394, 15:44 عصر
سلام دوستان
من یه فرمیو در صفحه خودش اعتبارسنجی میکنم و در صورت درست بودن تو پایگاه داده ذخیره میکنم و بعد از ذخیره هم میخام به همون صفحه برگرده اما یه مشکلی هست و اون این که اگر صفحه رو refreshکنم دوباره همون اطلاعات ذخیره میشه باید چی کارکنم تا این اتفاق نیفته(اینم بگم وقتی تو پایگاه داده ذخیره کردم متغیرهای $_POST برابر با "" قرار میدم ولی مشکل حل نمیشه)

kabootar_y
چهارشنبه 15 مهر 1394, 16:09 عصر
چند تا راه پیشنهاد میکنم



مقدار $_POST رو false قرار بده و در کد اعتبار سنجیت این رو هم بذار که مقدار $_POST مساوی false نباشه
قبل از ثبت اطلاعات از وجود نداشتن اطلاعاتی که می خواد ثبت بشه اطمینان حاصل کنی


اصلا چرا صحفحه رو رفرش می کنی؟ برای اینکه اطلاعات جدید ثبت شده یا update شده نمایش داده بشن؟ خب می تونی کد ارسال اطلاعات به دیتابیس رو قبل از کد دریافت اطلاعات از دیتابیس قرار بدی

اگه متوجه نشدی کدت رو بذار تا بهتر بشه کمکت کرد

H:Shojaei
چهارشنبه 15 مهر 1394, 16:17 عصر
سلام دوستان
من یه فرمیو در صفحه خودش اعتبارسنجی میکنم و در صورت درست بودن تو پایگاه داده ذخیره میکنم و بعد از ذخیره هم میخام به همون صفحه برگرده اما یه مشکلی هست و اون این که اگر صفحه رو refreshکنم دوباره همون اطلاعات ذخیره میشه باید چی کارکنم تا این اتفاق نیفته(اینم بگم وقتی تو پایگاه داده ذخیره کردم متغیرهای $_POST برابر با "" قرار میدم ولی مشکل حل نمیشه)
واسه رفع این مشکل معمولا token پیشنهاد میشه...
یه تکست بذارید با نام token یه مقدار تصادفی بسازید این مقدار رو هم به تکست token بدین هم این که داخل یک سشن ذخیرش کنید...
حالا وقتی فرم ارسال میشه چک کنید اگر
$_POST['token']==$_SESSION['token'] در این صورت کد اجرا میشه در غیر این صورت هم یعنی صفحه رفرش شده و سشن مقدار جدید گرفته ولی تکست token مقدار قبلیش رو داره و کاربر داره دوباره صفحه رو ارسال میکنه و اینطوری از اجرای دوباره جلوگیری میشه...

javad14
شنبه 18 مهر 1394, 11:31 صبح
خیلی ممنون لطف کردین براش یه کد امنیتی گذاشتم