<td id="page">
<h2>Add Subject</h2>
<form action="create_subject.php" method="post">
<p>Subject name: <input type="text" name="menu_name" value="" id="menu-name"></p>
<p>Position:
<select name="position">
<?php
$subject_set = get_all_subject();
$subject_count = mysql_num_rows($subject_set);
for ($i=1; $i <= $subject_count+1 ; $i++) {
echo "<option value=\"$i\">$i</option>";
}
?>
</select>
</p>
<p>Visible:
<input type="radio" name="visible" value="0" >No
<input type="radio" name="visible" value="1" >Yes
</p>
<input type="submit" name="submit" value="Add subject" >
</form>
<?php
$menu_name = mysql_slash_checker($_POST['menu_name']);
$position = mysql_slash_checker($_POST['position']);
$visible = is_numeric($_POST['visible']);
echo $visible;
?>
每当我回显单选按钮时,我都会不断获得价值。当我把它传递给post变量时,我不是得到No的值,而是继续得到YES的值。我的信息在我的数据库中可见。我不知道我在这里做错了什么。请有人知道我应该做什么吗?
答案 0 :(得分:0)
我认为你误解了is_numeric
的作用。它只是检查值是否为数字。 0
和1
都是数字。
您应该检查值本身,例如
$visible = ($_POST['visible'] == 1 ? true : false);
或可能
$visible = (bool) $_POST['visible'];
如果你想要一个字符串,请尝试(在上面之后)
echo $visible ? 'visible' : 'not visible';
答案 1 :(得分:0)
嗨,因为您正在打印is_numeric();
的结果。这只是0/1
试试这个
$visible = is_numeric($_POST['visible']) ? $_POST['visible'] : '';
echo $visible;
或只是
echo $_POST['visible'];