文件包含在PHP中的if条件?

时间:2014-04-22 03:10:33

标签: php forms include

我的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');
}

但它不起作用我应该检查零值吗?

2 个答案:

答案 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,您需要额外的条件才会导致代码更加繁琐。