保存下一个输入的输入

时间:2013-05-02 09:48:16

标签: php html

好吧,我有这段代码:

<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" />

但......没有变化:(

4 个答案:

答案 0 :(得分:1)

查看你的代码,根本就没有$ 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" />

答案 1 :(得分:0)

只需将其保存在$_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" />

如果将来需要更改操作页面,使用会话非常有用。但如果你想使用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" />

答案 2 :(得分:0)

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" />

答案 3 :(得分:0)

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

因此,要检索用户提交的日期,您应该使用:

$_POST['beginning_date']
相关问题