<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的值。我的信息在我的数据库中是可见的。我不知道我在这里做错了什么。有谁知道我该怎么做吗?
发布于 2016-07-31 22:33:20
我认为你误解了is_numeric的作用。它只是检查该值是否为数字。0和1都是数字。
你应该检查值本身,例如
$visible = ($_POST['visible'] == 1 ? true : false);
或者有可能
$visible = (bool) $_POST['visible'];
如果你想要一个字符串,试试(在上面的后面)
echo $visible ? 'visible' : 'not visible';
发布于 2016-07-31 22:35:16
您好,因为您正在打印is_numeric();的结果。以下哪项仅适用于0/1
尝尝这个
$visible = is_numeric($_POST['visible']) ? $_POST['visible'] : '';
echo $visible;或者简单地说
echo $_POST['visible'];https://stackoverflow.com/questions/38684958
复制相似问题