在PHP勾选框中验证数据

时间:2016-02-23 12:48:49

标签: php forms validation

如果我在html中有一个表单需要点击按钮接受T和C,我该如何在PHP中验证? 我从

开始
<div>            
     <input type="checkbox" name="terms" id="tandc" value="yes" />
     <label for="tandc">Tick this box to confirm you have read our a href="#">terms and conditions</a></label>
</div>

然后

            if(isset($_POST['terms'])) {
                $t_and_c = $_POST['terms'];
                    if ($t_and_c = empty($_POST['terms'])) {
                        echo'please click to confirm the T's and C's';
                    } else {
                        echo htmlentities($t_and_c);
                    }

                } else {
                echo'system error';
                }

当我没有点击t和c时,它应该说'点击这里确认......'。 目前,它只是说“系统错误”,因此在POST数组中无法识别“术语”名称键。有什么想法吗?

3 个答案:

答案 0 :(得分:3)

if(isset($_POST['terms']))
    // user checked it

如果未选中,则不会设置变量。

答案 1 :(得分:1)

您可以像这样验证:

<?php
if(isset($_POST['terms'])) 
{
    echo htmlentities($_POST['terms']);
} 
else {
    echo "please click to confirm the T's and C's";
}
?>

你的代码出了什么问题:

  • $t_and_c = empty($_POST['terms']您没有比较这是分配值。

  • echo'please click to confirm the T's and C's';这不起作用,因为您在单引号内使用单引号。

答案 2 :(得分:0)

比较是双重符号“==”更正

if ($t_and_c == empty($_POST['terms']))