未在php中发送隐藏变量
这里是我的代码,我试图将from和to的值发回到同一页面。在页面的顶部,我有这样的代码:(它总是回声“中的其他循环”,我不明白什么是错的这个简单的事情。)未在php中发送隐藏变量
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>
或许在第三行,if (isset($_GET['from']))
,应该不是说if (isset($_POST['from']))
。 (第一行建议预期POST请求 - 它不能同时包含POST和GET)。
好的,是的,这是错误的。现在我怎么能找回来自和来自领域的值。现在我得到这个:'in if loop 1969-12-31 1969-12-31' from和to的值,我如何检索它们? – 2010-09-21 16:50:06
尝试将第5行和第6行上的'$ _GET'的两个实例更改为'$ _POST'。 – Hammerite 2010-09-21 17:58:59
我做到了。它正在检查from和to是否设置,但没有获取字段的值。 – 2010-09-21 18:09:16
您在混合GET
和POST
。您的形式张贴,但在你的第二个if
要检查isset($_GET['from'])
更改您的if (isset($_GET['from']))
到if (isset($_POST['from']))
你发送整个形式POST,所以得到的将是空的。
由于您有两个隐藏字段与日期输入字段具有相同的名称,所以您要从哪个'from'和'to'字段返回值。你需要不同的名字。如果你得到的是像1969这样的日期,那么你的输入不是一个有效的开始日期。 $ from和$来自隐藏的输入?你没有在代码片段中提到它们
'似乎是非常直观的。如果你打算使用[短标签](http://www.php.net/manual/en/ini.core.php#ini.short-open-tag),为什么不使用更易读的 '形式? – 2010-09-21 18:05:57
事实证明,我必须用代替 ?>代码的每一部分,并且一切都很好。感谢提示丹尼尔。 – 2010-09-21 18:23:59