درج دوباره اطلاعات بعد از Refresh صفحه

Mrpl

Member
سلام به همه دوستان
من یک فرم دارم که با وارد کردن اطلاعات و سابمیت کردن فرم اطلاعات وارد دیتا بیس میشه
ولی صفحه رو refresh می کنم همون اطلاعات قبل دوباره توی دیتا بیسم درج میشن.
چجوری میشه جلو این مشکل رو گرفت؟
 

parsiteam

Member
سلام عزیزم . دو راه وجود داره . یا اینکه آخرین رکورد داخل دیتابیس خودتو با اطلاعاتی که دوباره ارسال میشن چک کنی که اگر تکراری بود دوباره ثبت نکنی . ویا اینکه از کد امنیتی استفاده کنی .

به نظر من اگر ترافیک سایتت بالاست ا کد امنیتی استفاده کن . چون ممکنه در بین همون چند لحظه ای که طول میکشه تا طرف صفحه رو رفرش کنه یک نفر دیگه فرم رو ارسال کنه و وقتی آخرین رکورد رو بررسی میکنی میبینی که تکراری نیست و اطلاعات مجددا ثبت میشن .

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

موفق باشی .
 

Mrpl

Member
ممنون از جوابت
توی گوگل security code رو جستجو کردم. ولی نتایجی که داد خیلی وسیع بود.

منظورت رو از کد امنیتی متوجه نشدم
اگه ممکنه توضیح بیشتر بده.
 

Webber

Well-Known Member
سلام
علاوه بر اینها=
شاید کد زیر به کار بیاد.شاید:
PHP:
unset($_POST) ;
در ضمن می تونید وقتی اطلاعات ثبت شد یک session رو مقدار دهی کنید بعد وقتی خواستید اطلاعات ثبت کنید اون رو چک کنید اگر مقدارش خالی بود ثبت کنه.

موفق باشید
 

Mrpl

Member
من سعی کردم که بعد از اینکه فرم ارسال شد و اطلاعات توی دیتابیس درج شدن متغیر ها رو خالی کنم.
کد:
$country = $_POST["country"];
اما نشد. یا روشم اشتباهه یا اشتباه انجامش دادم
 

hba

Active Member
مي توني عمل ريداركت بعد ثبت انجام بدي كه ديگه اطلاعات پست شده اي وجود نداشته باشه كه رفرش بگيردش
 

parsiteam

Member
اگر میخوای داده ها رو خالی کنی اینطوری خالی کن عزیزم :


کد:
$_POST["country"] = "";


در مورد کد امنیتی هم مثلا این سایت رو ببین : avakadeh.com . سمت چپ یک فرم لوگین هست که دارای کد امینیتیه . توی گوگل captcha رو سرچ کن عزیزم . اطلاعات بیشتر هم خواستی اینجا رو بخون :

http://recaptcha.net/captcha.html
 

I.NoBody

Active Member
من راه Webber رو پيشنهاد مي كنم.
البته اگر بخوايد از session استفاده كنيد، من كوكي رو ترجيح ميدم.
در نتيجه، راه هاي مختلف پيش روي شما :
1- unset كردن مقادير ارسال شده
2- استفاده از كوكي و بررسي آن قبل از درج اطلاعات
3- ريدايركت كردن صفحه بعد از درج
4- بررسي اطلاعات جديد با اطلاعات موجود در ديتابيس(كه اصلاً پيشنهاد نمي كنم )
5-
6-
.
.
.
 

foranyone

Well-Known Member
به نظر من ساده ترین اینه که بعد از درج در دیتابیس متغیر های post یا GET مقدارشون رو از دست بدن و

درج در دیتابیس یه شر داشته باشه که بررسی کنه isset متغیر پست یا نه؟!
 

جدیدترین ارسال ها

بالا