为什么我的IF条件没有正确采用

时间:2014-09-03 16:31:13

标签: php if-statement conditional-statements

下午好的Dev社区, 我正在开发一个PHP项目。 我的第一页是一个公式,问的问题是:你现在在做什么? 此信息在其他页面调用中发布" Handler.php"

我想设置一个关于用户之前回答的变量($ hnormale)。 要做到这一点,我使用IF函数,但它不起作用。

这里的公式代码:                       

<form method="post" action="handler.php">
<table>
<tr>
    <td style="width:100px"><h4>Nom:</h4></td>
    <td>
        <SELECT NAME=nom >
           <OPTION value=users1>user1</OPTION>
           <OPTION value=user2>user2</OPTION>
           <OPTION value=user3>Sonia</OPTION>
    </td>
</tr>
<tr><td><h4>Activit&#233;:</h4></td>
    <td>
        <SELECT NAME=activite  style="width:182px">
          <OPTION value="arrived">arrived</OPTION>
          <OPTION value="gotolunch">gotolunch</OPTION>
          <OPTION value="backfromlunch">backfromlunch</OPTION>      
          <OPTION value="leave">leave</OPTION>      
    </td>
</tr></td></tr>
<tr><td><h4>Commentaires:</h4></td><td><input type="text" name="commentaires" style="width:182px" /></td></tr>
</table>

<input type="submit">
</form>

</body>
</html>

这是handler.php页面的摘录:

    $hnormale = "09:00";
    $activite = $_POST["activite"];

    if ($activite == "backfromlunch") 
    {
       $hnormale = "14:00";
       echo $hnormale;
    }
    else 
    { 
       echo "it doesn't works";
    }

2 个答案:

答案 0 :(得分:2)

使用引号,像这样

<SELECT NAME="activite"  style="width:182px">

<SELECT NAME="nom" >

并关闭SELECT标记

答案 1 :(得分:0)

首先,我会将你的if语句更改为一个开关(这不是为什么它不起作用但它更干净):

<?php
switch ($activite) {
    case "arrived":
        $hnormale = "Working";
        echo $hnormale;
        break;
    case "gotolunch":
        $hnormale = "Working";
        echo $hnormale;
        break;
    case "backfromlunch":
        $hnormale = "Working";
        echo $hnormale;
        break;
    case "leave":
        $hnormale = "Working";
        echo $hnormale;
        break;
    default:   //This is for if the case does not match any of the above.
        echo "It doesn't work.";
        break;
}
?>

但是你缺少很多引号,例如你在第一个选择中的值,而你没有关闭SELECT。