با سلام
من یک فرم ساختم که یک متنو بعد از گلیک به پی اچ پی ارسال می کنه
حالا مثلا کاربر وقتی که متنو ارسال کرد می تونه با reload صفحه متنو دوباره ارسال کنه حالا اگه هزار بار هم ری لود کنه ....
حالا می خواستم ببینم ایا کدی هست داخل پی اچ پی که بررسی کنه ببینه ایا دکمه ای در فرم ارسال فشرده شده که مطالب را ثبت کند
ممنون
0
سلام
سوال خیلی خوبی پرسیدید و راه حل های زیادی هم داره
مثلا وقتی کد مورد نظر اجرا شد کوکی بسازیم و متنی توش ذخیره کنیم و هنگام ارسال دوبارهکوکی ها رو چک کنیم اگر کوکی مرد نظر وجود داشت پس کد اجرا شده و از اجرای دوباره کد جلوگیری میشه.
یا میشه بعد از ارسال فرم صفحه رو redirect کرد به صفحه دیگه
کد:
<?php
session_start();
//set form vars ahead of time so you can pre-populate the value attr on post
$form = array(
'name' => '',
'email' => ''
);
if(!empty($_POST))
{
//do some kind of validation...
$errors = array();
if(trim($_POST['name']) == '')
$errors[] = 'Please enter your name';
if(empty($errors))
{
$_SESSION['message'] = 'Thank you for participating';
header('location: /form.php'); // same file
exit;
}
else
{
// set the form vars to the post vars so you don't lose the user's input
$form['name'] = $_POST['name'];
$form['email'] = $_POST['email'];
$message = '<span style="color:red">';
foreach($errors AS $error)
{
$message .= $error."<br />";
}
$message .= '</span>';
$_SESSION['message'] = $message;
}
}
if(isset($_SESSION['message']))
{
echo $_SESSION['message'];
unset($_SESSION['message']);
}
?>
<form id="some_form" action="form.php" method="post">
<fieldset>
<label for="name">Name</label> <input type="text" name="name" value="<?php echo $form['name']; ?>" />
<br /><br />
<label for="email">Email</label> <input type="text" name="email" value="<?php echo $form['email']; ?>" />
<br /><br />
<input type="submit" name="submit" value="Submit" />
</fieldset>
</form>
سوال برنامه نویسی دارید؟
ندونستن عیب نیست، نپرسیدن چرا!