我的HTML就像这样
<form name="time" method="POST" action="add.php">
<input type="text" name="empcode" id="empcode" class="textbox" placeholder="822"/><br />
<input type="text" name="totaltime" id="totaltime" class="textbox" value = "50" /><br />
<strong>Start Date</strong><input type="date" name="sday"><br />
<strong>End Date</strong><input type="date" name="eday"><br />
<input type="submit" class="submit-button" value="Submit"/>
</form>
当用户填写$_POST['sday']
和$_POST['sday']
中的数据时,add.php文件将包含file.php,否则为file2.php
我在add.php中试过这个
if(isset($_POST['sday']) && isset($_POST['eday'])){
include('file1.php');
}
else{
include('file2.php');
}
但它不起作用我应该检查零值吗?
答案 0 :(得分:2)
使用!empty()
代替isset()
。这些字段将始终设置,至少为空字符串。
if ( !empty($_POST['sday']) && !empty($_POST['eday']) ) {
答案 1 :(得分:1)
isset()
仅检查变量是否已定义且不等于null
。如果未填写过帐的值,则很可能是空字符串。
因此,您也应检查空字符串:
if (isset($_POST['sday'], $_POST['eday']) &&
strlen($_POST['sday']) &&
strlen($_POST['eday'])) {
为什么不empty()
?
您也可以使用empty()
,但由于empty('0')
会产生true
,您需要额外的条件才会导致代码更加繁琐。