Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTML的PHP值复选框_Php_Html_Checkbox - Fatal编程技术网

HTML的PHP值复选框

HTML的PHP值复选框,php,html,checkbox,Php,Html,Checkbox,我有一个函数,可以根据主页中表单提交的内容设置和取消设置$\u会话变量 函数if语句: $_SESSION['search'] = true; if($_POST['searchtv']){ $_SESSION['searchtv'] = true; } else { unset($_SESSION['searchtv']); } if($_POST['searchmovie']){ $_SESSION['searchmovie'] = true; } else {

我有一个函数,可以根据主页中表单提交的内容设置和取消设置$\u会话变量

函数if语句:

$_SESSION['search'] = true;
if($_POST['searchtv']){
    $_SESSION['searchtv'] = true;
} else {
    unset($_SESSION['searchtv']);
}
if($_POST['searchmovie']){
    $_SESSION['searchmovie'] = true;
} else {
    unset($_SESSION['searchmovie']);
}
searchtv和searchmovie$\u POST变量通过以下复选框设置:

<input type="checkbox" name="searchmovie" value="movie" <? echo isset($_SESSION['searchmovie']) ? 'checked' : ''; ?>"/>

如果我只勾选searchtv复选框,它只运行searchtv功能,依此类推。。所以我知道它正在被设置和工作。。只是无法获得对复选框的反馈以表示“是”,在选择搜索按钮时,复选框被勾选。

您意识到,检查底部附近的
$\u SESSION['searchtv]&&$\u SESSION['searchmovie']
的代码部分都是!伊塞特。它只会在两个都未检查的情况下运行,而不是在它们都已检查的情况下运行。

您知道,检查底部附近的
$\u SESSION['searchtv]&&$\u SESSION['searchmovie']
的代码部分都是!伊塞特。只有在两个选项都未选中时,它才会运行,而不是在两个选项都选中时运行。

@medoix:尝试更改此选项

<input type="checkbox" name="searchmovie" value="movie" <? echo isset($_SESSION['searchmovie']) ? 'checked' : ''; ?>"/>

@medoix:尝试更改此设置

<input type="checkbox" name="searchmovie" value="movie" <? echo isset($_SESSION['searchmovie']) ? 'checked' : ''; ?>"/>

是的,您需要
checked='checked'
checked='
。现在你只需回显
已选中的
。效果不错!非常感谢你。真是不可思议,这么小的一件事竟能让我忘记!是的,您需要
checked='checked'
checked='
。现在你只需回显
已选中的
。效果不错!非常感谢你。真是不可思议,这么小的一件事竟能让我忘记!这是一个很好的观点,我确实是这样设计的,因为默认情况下这两个框没有被选中。但是,当您打开此对话框时,它会显示一个选项,即如果他们同时选择了这两个框。但是,如果两者都被选中,那么每个函数都将相互依赖地运行。这似乎有点奇怪。实际上也应该是if/elseif/elseif/else结构。如果两者都已设置,则同时执行,否则如果设置了电视,则运行电视,否则如果设置了电影,则运行电影,否则“请选择搜索方法”。然后默认选中这两个选项,这与在当前方法中取消选中这两个选项完全相同。当然,如果没有选中框,您必须将它们设置为false,而不是取消设置,然后检查它们是===true还是false,而不是isset,以便执行此操作。这是一个很好的观点,我确实是这样设计的,因为默认情况下,这两个框没有选中。但是,当您打开此对话框时,它会显示一个选项,即如果他们同时选择了这两个框。但是,如果两者都被选中,那么每个函数都将相互依赖地运行。这似乎有点奇怪。实际上也应该是if/elseif/elseif/else结构。如果两者都已设置,则同时执行,否则如果设置了电视,则运行电视,否则如果设置了电影,则运行电影,否则“请选择搜索方法”。然后默认选中这两个选项,这与在当前方法中取消选中这两个选项完全相同。当然,如果没有选中复选框,您必须将它们设置为false,而不是取消设置,然后检查它们是===true还是false,而不是isset,以便执行此操作。
<input type="checkbox" name="searchmovie" value="movie" <?php if (isset($_SESSION['searchmovie'])) { echo 'checked="checked" '; } ?>/>