جلوگيري از ارسال مجدد

فرض را بر اين بگذاريد كه وقتي يك فرم Submit ميشه اين اطلاعات ارسال بشه:

کد:
http://127.0.0.1/option.php?name=0&year=1356&action=add&submit=++%D8%A7%D8%B1%D8%B3%D8%A7%D9%84++


وقتي فرم ارسال شد يك سري اطلاعات در ديتابيس ذخيره ميشه. حالا در صفحه جاري اگر صفحه را Refresh كنيم همان اطلاعات در ديتابيس ذخيره ميشه. چطوري جلو اين عمل را بگيرم؟؟




.
 

iman_ebru

Active Member
وقتی صفحه رفرش میشه از کاربر سوال میشه که آیا ضمن رفرش متدها ارسال بشه؟ که شما اگه بله بگی اطلاعات در بامک اطلاعاتی ذخیره میشه..

برای جلوگیری از این کار باید یه حلقه ایجاد کنی و آدرس ها در هر زمانی منحصر به session های واحد باشه. اگه متوجه نشدی بگو یک مثال بزنم.


ایمان
 
iman_ebru گفت:
وقتی صفحه رفرش میشه از کاربر سوال میشه که آیا ضمن رفرش متدها ارسال بشه؟ که شما اگه بله بگی اطلاعات در بامک اطلاعاتی ذخیره میشه..

برای جلوگیری از این کار باید یه حلقه ایجاد کنی و آدرس ها در هر زمانی منحصر به session های واحد باشه. اگه متوجه نشدی بگو یک مثال بزنم.


ایمان


وقتي رفرش بشه از كاربر هيچ سوالي پرسيده نميشه (صفحه فقط رفرش ميشه و از اونبر اطلاعات توي بانك ذخيره ميشه).
 

sama_sally

Member
ببين
قبل از اينكه اطلاعات رو وارد كني با استفاده از يه حلقه while چك كن ببين عين اين مطلب توي فيلد ديتابيس وجود داره يا نه اگه بود يه ارور بده اگه نبود وارد كن
 

mosi20

Active Member
با بالایی موافقم
حتی میتونی ip و تاریخ ارسال را در دیتابیس ذخیره کنی و چک کنی اگه این دوتا یکی بود نفرسته
 
از راهنمايي همه دوستان ممنون هستم.

آيا ميتوان از Session ها هم استفاده كرد؟ اگر كه ميشه لطفا كمي راهنمايي فرماييد
 

golden

Member
در واقع تنها راه علانی و کاربردی استفاده از session هاست.
 
golden گفت:
در واقع تنها راه علانی و کاربردی استفاده از session هاست.


ميشه با يك مثال برام توضيح بديد. راستش با session ها زياد ور رفتم اما نشد. من اينكار را كردم


PHP:
					if ($save2db == true AND !$_SESSION['save']) {
						$_SESSION['save'] = "";
						$result = DB_Execute("INSERT INTO `term` (`term_id`, `name_id`, `term_year`, `create_date`) VALUES ('','" . DB_Clean($term_name) ."', '" . DB_Clean($year) . "', now())");
						if ($result = true) {
							echo 'OK';
						}
					}
 

miladmovie

Active Member
چرا این کارها !
خوب کاربر رو بفرست به یک صفحه ذخیره کن بعد, بعد از چند ثانیه اون رو ریداریکت کن به یک صفحه دیگه مثل همین انجمن
 
miladmovie گفت:
چرا این کارها !
خوب کاربر رو بفرست به یک صفحه ذخیره کن بعد, بعد از چند ثانیه اون رو ریداریکت کن به یک صفحه دیگه مثل همین انجمن



آقا روشي كه پيشنهاد كرديد بسيار عالي هست اما دوست دارم كاربر Session ها را در همچين جايي ببينم. شما ميتونيد در اين زمينه به من كمك كنيد؟
 

miladmovie

Active Member
videoparda گفت:
آقا روشي كه پيشنهاد كرديد بسيار عالي هست اما دوست دارم كاربر Session ها را در همچين جايي ببينم. شما ميتونيد در اين زمينه به من كمك كنيد؟
منظورت از session کاربرها چیه ؟
 
miladmovie گفت:
منظورت از session کاربرها چیه ؟


آقا معذرت ميخوام - اين روزها آدم نميتونه به چشم خودش هم اعتماد كنه . چه خواسته اين كيبردهاي ايراني :)


منظورم اين بود كه مايل هستم كاربرد سشنها را براي حل اين مشكل ببينم و ياد بگيرم. انشاالله كه شما منو راهنمايي كنيد.
 

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

بالا