我对编码很新,我无法弄清楚我做错了什么!
我正在创建一个代码,我想让php显示用户在我的html日期输入框中放置的内容:
<input type="date" name="dati[]" value="Diagnosis Date" />
到
<input type="date" name="datii[]" value="Diagnosis Date" />
这是我的PHP代码:
if(isset($_POST['dati'])) {
foreach ($_POST['dati'] as $dati);
foreach ($_POST['datii'] as $datii);
echo "Diagnosis from: " . $dati . " to " . $datii;
}
输出是我想要的:“诊断时间:2015年1月1日至2015年1月1日”或类似的东西,但是当用户没有输入日期(因为他们没有必须)
在我的输出中,我总是有“诊断来自:”
我如何摆脱这个?
谢谢!
答案 0 :(得分:3)
我建议:
<input type="date" name="dati" value="Diagnosis Date" />
<input type="date" name="datii" value="Diagnosis Date" />
if(!empty($_POST['dati']) && !empty($_POST['datii'])) {
echo "Diagnosis from: " . filter_var($_POST['dati'], FILTER_SANITIZE_STRING); . "
to " . filter_var($_POST['datii'], FILTER_SANITIZE_STRING);
}
**添加过滤器非常安全,感谢@james R
没有必要将字段dati,datii放入多维数组(通过向名称添加[]),因此不需要foreach循环(即使它们是多维的也不需要)< / p>