空无线电输入验证
我有一个包含无线电输入的表单。无线电输入可以是0,1或选择enot。我正在尝试进行输入验证,以确保值在发布到数据库之前仅为0,1或空。不知怎的,下面的代码不起作用。空无线电输入验证
有人可以帮我吗?
$posttodatabase = true; $array = (0, 1);
if (!in_array($_POST['x'], $array) && isset($_POST['x'])) {
$posttodatabase = false;
};
编辑:所附表格:
<form action='registration.php' method=POST> <input type="radio" name="x" value=0> Foo
<input type="radio" name="x" value=1> Bar
<input class="button" type=submit value='Submit'>
</form>
回答:
不要设置$posttodatabase
默认true
并将其更改为false
时,不符合要求。当需求满足(值存在且是预期值之一)时,反过来使用它来确保只将值设置为true
。
$posttodatabase = false; if (!isset($_POST['x']) OR // is not set OR
(
isset($_POST['x']) AND // is set and...
in_array($_POST['x'], array(0, 1)) // ... one of these values
)) {
$posttodatabase = true;
}
(或直接赋值...)
以上是 空无线电输入验证 的全部内容, 来源链接: utcz.com/qa/264950.html