PDA

View Full Version : سوال: مشکل رفرش و ارسال مجدد اطلاعات



saeidpsl
دوشنبه 09 خرداد 1390, 04:00 صبح
:گریه:


یک فرم برای تماس درست کردم و نوشتم اگر دکمه submit زده شد اطلاعات گرفته شده رو در دیتابیس ذخیره کنه اما این روش یه باگ داره و اونم اینه که بعد از فرستادن اطلاعات اگر کاربر صفحه رو رفرش کنه همون اطلاعاتی که پر کرده بود دوباره ارسال میشه.
شما چه جوری این مشکل رو برطرف میکنید ؟
یه راه به ذهن خودم رسیده اونم اینه که action فرم رو بذارم روی یک صفحه دیگه غیر از خودش و وقتی که اطلاعات رو save کرد با دستور header برگرده به صفحه فرم ! این کارم درسته ؟؟ مشکل دیگه ای به وجود نمیاره ؟
اگر بخام از این راه استفاده کنم چه جوری باید پیغام "پیام شما ارسال شد" رو در صفحه فرم نمایش بدم ؟

:قلب: کسی هست کمکم کنه ?

Mr.Moghadam
دوشنبه 09 خرداد 1390, 13:49 عصر
سلام
بهترین روش استفاده از Captcha یا تصاویر امنیتی هست.

eshpilen
دوشنبه 09 خرداد 1390, 21:35 عصر
<?php
session_start();

header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: private, no-store, no-cache, must-revalidate, post-check=0, pre-check=0, max-age=0");
header('Pragma: private');
header("Pragma: no-cache");

function random_string($length) {
$chars='0123456789ABCDEF';
$random_string='';
for($i=0; $i<$length; $i++) $random_string.=$chars[mt_rand(0, strlen($chars)-1)];
return $random_string;
}

if(isset($_POST['txt'])) {
if(!isset($_SESSION['submittedFormID']) or $_SESSION['submittedFormID']!=$_POST['formID']) {
echo '<h2 align="center" style="color: green;">Ok.</h2>';
$_SESSION['submittedFormID']=$_POST['formID'];
}
else echo '<h2 align="center" style="color: red;">Re-submission!</h2>';
}
else {
echo '<html><body><form method="post" action=""><input type="text" name="txt" id="txt">';
echo '<input type="hidden" value="', random_string(32), '" name="formID" id="formID">';
echo '<input type="submit" value="submit"></form></body></html>';
}
?>

رضا قربانی
سه شنبه 10 خرداد 1390, 09:20 صبح
if(isset($_POST['txt'])) {

دستورات

}

اول شرط هایی که داری بذار ، باید مشکلت حل شه

saeidpsl
سه شنبه 10 خرداد 1390, 10:16 صبح
ممنون از همه :تشویق::چشمک: