جلوگیری از ارسال اطلاعات فرم در هنگام رفرش صفحه

این تاپیک 4 پاسخ و 3 مشارکت کننده دارد . آخرین آپدیت توسط :  کیوان علی محمدی ،‏ 2 سال و 11 ماه پیش .

این تاپیک تاکنون 1631 بازدید داشته است .

تگ شده :  ,

نویسنده پست
چهار شنبه ، 25 دسامبر 2013     12:37 ق.ظ #


shahin69

Subscriber
10 پست9 تاپیک

سلام دوستان من یه فرم دارم که کاربر دران ثبت نام میکنه

زمانی که ثبت نام کرد و اطلاعات در دیتابیس ذخیره شد زمانی که همان صفحه رو رفرش کنم

دوباره رکورد دیگری در دیتابیس ذخیره میشه

چطوری میشه مانع ارسال دوباره فرم شد؟؟؟

0  تشکر
چهار شنبه ، 25 دسامبر 2013     1:11 ق.ظ #


لقمان آوند

مدیر ارشد
VIP
1704 پست5 تاپیک

سلام

این طبیعیه و مربوط به مرورگر هست .

راهکار اینه که پس از ثبت نام کاربر رو به آدرس دیگه ای منتقل کنید ...

1  تشکر
چهار شنبه ، 25 دسامبر 2013     9:33 ق.ظ #


کیوان علی محمدی

Authorplus
VIP
1792 پست4 تاپیک

میتونی یه پیغام تو سشن ذخیره کنی و بعد از ثبت نام طبق گفته آقا لقمان کاربر رو با دستور header دوباره به همون صفحه ثبت نام(یا هر صفحه ای دیگه ای) منتقل کنی و پیغام مناسب رو نشونش بدی.

0  تشکر
چهار شنبه ، 25 دسامبر 2013     11:35 ق.ظ #


shahin69

Subscriber
10 پست9 تاپیک

من تو صفحه اول فرم با جی کوئری اعتبار سنجی میکنم و در صفحه بعد اون با دستور phpبه دیتابیس ارسال میکنم و در صورت ارسال, مقادیر رو در همان صفحه برای کاربر چاپ میکنم
برای جلوگیری از رفرش صفحه هم یه query نوشتم که چک کنه اگر نام و ایمیل و کدملی کاربر در دیتابیس باشن دیگه اون مشخصات وارد نکنه که این مشکل حل شد

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

0  تشکر
چهار شنبه ، 25 دسامبر 2013     12:40 ب.ظ #


کیوان علی محمدی

Authorplus
VIP
1792 پست4 تاپیک

اولا شما باید در صفحه دوم چک کنید که مقادیر ارسالی از صفحه اول ست شده باشن و هم چنین خالی هم نباش.

بعدشم میتونید از 'HTTP_REFERER' برای چک کردن اینکه کاربر از کدوم صفحه اومده استفاده کنید که البته زیاد امن نیست و با درخواست های http میشه اینو دور زد،،به نظرم بهترین راه اینکه در صفحه اول اگه کاربر اطلاعات رو وارد کرد و دکمه ارسال رو زد شما یه سشن ثبت کنید و بعد در صفحه دوم چک کنید ببنید سشن ست شده یانه،اینطوری اگه کسی بخواد مستقیم صفحه دوم رو ببینه با خطای ست نشدن سشن مورد نظر مواجه میشه و عملا اجرای کد متوقف میشه (برای شرط هم از دستوری مثل die استفاده کنید).موفق باشید

1  تشکر
پست 1 تا 5 (از مجموع 5 پست)

برای پاسخ دادن به این تاپیک باید وارد سایت شوید .