好吧,我有这段代码:
<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" />
但......没有变化:(
答案 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']