这是我的代码,我试图将from和to字段中的值发送回同一页面。在页面的顶部我有这个代码:(它总是回声'在其他循环',我不明白这个简单的事情有什么问题。)
if ($_POST['ok'])
{
if (isset($_GET['from']))
{
$tmp_fromdate=$_GET['from'];
$tmp_todate=$_GET['to'];
echo "in if loop<br/>";
echo $tmp_fromdate. " ". $tmp_todate."<br/>";
$from_date=date("Y-m-d", strtotime($tmp_fromdate));
$to_date=date("Y-m-d", strtotime($tmp_todate));
echo $from_date. " ". $to_date."<br/>";
$fdate=date("F d Y", strtotime($tmp_fromdate));
$tdate=date("F d Y", strtotime($tmptodate));
}
else
{
echo "in else loop<br/>";
$start_date='2010-08-01';
$end_date=date ("Y-m-d");
$sdate=date("F d Y", strtotime($start_date));
$edate=date("F d Y", strtotime($end_date));
}
}
<form id="form1" name="form1" method="post">
<div class="demo">
<label for="from">From</label>
<span id="sprytextfield1">
<input type="text" id="from" name="from" />
<span class="textfieldRequiredMsg">mm/dd/yyyy format only.</span>
</span>
<label for="to">to</label>
<span id="sprytextfield2">
<input type="text" id="to" name="to" />
<span class="textfieldRequiredMsg">mm/dd/yyyy format only.</span>
</span>
<input type="submit" id="ok" name= "ok" value="Change Dates"/>
<input type="hidden" name="from" VALUE="<? echo($from);?>"/>
<input type="hidden" name="to" VALUE="<? echo($to);?>"/>
</div>
</form>
答案 0 :(得分:4)
也许第三行if (isset($_GET['from']))
应该代之以if (isset($_POST['from']))
。 (第一行表明需要POST请求 - 它不能同时是POST和GET。)
答案 1 :(得分:3)
您正在混合GET
和POST
。您的表单已发布,但在您的第二个if
中,您正在检查isset($_GET['from'])
答案 2 :(得分:1)
将您的if (isset($_GET['from']))
更改为if (isset($_POST['from']))
您将整个表单作为POST发送,因此GET将为空。
答案 3 :(得分:0)
从'和'到'字段,您希望返回值,因为您有两个与日期输入字段同名的隐藏字段。你想要那些不同的名字。如果你得到像1969这样的日期,那么你的输入不是一个有效的开始日期。来自隐藏输入的$ from和$来自哪里?你没有在代码片段中引用它们