PHP无法从0到1返回错误的单选按钮值 添加主题
主题名称: 职位: 可见: 不 对PHP无法从0到1返回错误的单选按钮值 添加主题,php,Php,主题名称: 职位: 可见: 不 对 每当我回显单选按钮时,我总是得到值。当我将其传递到post变量时,我没有得到No的值,而是一直得到YES的值。我的信息在我的数据库中可见。我不知道我在这里做错了什么。任何人都知道我应该做什么吗?我想你误解了是什么数字。它只是检查值是否为数字0和1都是数字 您应该检查值本身,例如 $visible=($\u POST['visible']==1?真:假) 或者可能 $visible=(bool)$\u POST['visible'] 如果需要字符串,请尝试
每当我回显单选按钮时,我总是得到值。当我将其传递到post变量时,我没有得到No的值,而是一直得到YES的值。我的信息在我的数据库中可见。我不知道我在这里做错了什么。任何人都知道我应该做什么吗?我想你误解了
是什么数字。它只是检查值是否为数字<代码>0和1都是数字
您应该检查值本身,例如
$visible=($\u POST['visible']==1?真:假)代码>
或者可能
$visible=(bool)$\u POST['visible']代码>
如果需要字符串,请尝试(在上面的步骤之后)
echo$可见?“可见':'不可见'代码>我想你误解了是什么数字。它只是检查值是否为数字<代码>0和1都是数字
您应该检查值本身,例如
$visible=($\u POST['visible']==1?真:假)代码>
或者可能
$visible=(bool)$\u POST['visible']代码>
如果需要字符串,请尝试(在上面的步骤之后)
echo$可见?“可见':'不可见'代码>因为您正在打印的结果是数值()代码>。仅为0/1
试试这个
<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;
?>
或者干脆
$visible = is_numeric($_POST['visible']) ? $_POST['visible'] : '';
echo $visible;
您好,这是因为您正在打印的结果为_numeric()代码>。仅为0/1
试试这个
<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;
?>
或者干脆
$visible = is_numeric($_POST['visible']) ? $_POST['visible'] : '';
echo $visible;
因此,您的问题是回显$\u POST[“visible”]?尝试使用if(!isset($\u POST['visible'])$visible=intval($\u POST['visible']);因此,您的问题是回显$\u POST[“visible”]?尝试使用if(!isset($\u POST['visible'])$visible=intval($\u POST['visible']);这将不起作用,因为您正在比较字符串和int@LucaJung=
将自动在两者之间转换。如果我使用==
,那么它确实不起作用。请阅读此内容,因为您正在比较字符串和int@LucaJung=
将自动在两者之间转换。如果我使用==
,那么它确实不起作用。请阅读