为下一个输入保存输入


Save input for next input

我有这样的代码:

<form name="download" id="download" method="post" enctype="multipart/form-data">
    <div>
        <label for="beginning_date"><span class="required">*</span> Beginning Date: </label>
        <input type="text" size="30" id="beginning_date" name="beginning_date" value="<?php echo date("d.m.Y"); ?>" required="required" />
    </div>
    <input type="submit" value="Next" name="next"/>
</form>

和php . .

if(array_key_exists('next', $_POST))
{
    if (preg_match('/^'d{1,2}'.'d{1,2}'.'d{4}$/', $date))
    {
        //the code continues...
    }
    else
    {
        echo "Wrong formation <br />";
    }
}

这是一个很长的表单,我希望如果有人输入像这样的日期"02.03.20322",并且出现错误,他们不必重新开始填写表单…表单已经出现了"填充字段"…

我已经试过了:

<input type="text" size="30" id="beginning_date" name="beginning_date" value="<?php if (isset($date)) { echo $date; } else { echo date("d.m.Y"); } ?>" required="required" />

但是…

看看你的代码,根本没有$date,所以你应该检查的是$_POST['beginning_date']的存在,而不是像这样的$date:

<input type="text" size="30" id="beginning_date" name="beginning_date" value="<?php if (isset($_POST['beginning_date'])) { echo $_POST['beginning_date']; } else { echo date("d.m.Y"); } ?>" required="required" />

当使用post方法时,用户提交的值将进入$_POST数组。表单元素的名称用作键。

因此,要检索用户提交的日期,您应该使用:
$_POST['beginning_date']

保存在$_SESSION

在页面顶部或action.php中的任何位置:

if (isset($_POST)){
    $_SESSION['date'] = $_POST['beginning_date'];
}

然后:

<input type="text" size="30" id="beginning_date" name="beginning_date" value="<?php echo (isset($_SESSION['date'])) ? $_SESSION['date'] : date("d.m.Y");?>" required="required" />

如果将来需要更改操作页面,使用session是很有用的。但是,如果您想使用post来代替(对于同一页面发布),只需回显它:

<input type="text" size="30" id="beginning_date" name="beginning_date" value="<?php echo (isset($_POST['beginning_date'])) ? $_POST['beginning_date'] : date("d.m.Y"); ?>" required="required" />

php…

 session_start();
 if(array_key_exists('next', $_POST))
 {
      if (preg_match('/^'d{1,2}'.'d{1,2}'.'d{4}$/', $date))
     {
       //the code continues... 
     }
     else{
         echo "Wrong formation <br />";
          $_SESSION['date']=$_POST['beginning_date'];
     }
   }

html . .

<input type="text" size="30" id="beginning_date" name="beginning_date" value="<?php if     
   (isset($_SESSION['date'])) { echo $_SESSION['date'] } else { echo date("d.m.Y"); } ?>" 
    required="required" />