【发布时间】:2011-01-05 13:24:07
【问题描述】:
我有一个函数可以设置和取消设置 $_SESSION 变量,具体取决于从我的主页中的表单提交的内容。
函数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 $_POST 变量通过以下复选框设置:
<input type="checkbox" name="searchmovie" value="movie" <? echo isset($_SESSION['searchmovie']) ? 'checked' : ''; ?>"/>
但是选中的值似乎总是为 false 并显示 '',因此没有设置“选中”以在框中显示对勾。
我知道 $_SESSION 变量设置正确但是因为在同一个文件中我有另一个 IF 语句(如下)可以 100% 工作。
if(isset($_SESSION['searchtv'])){
$database->searchTV($_GET['show'], $session->uid);
}
if(isset($_SESSION['searchmovie'])){
$database->searchMovies($_GET['show'], $session->uid);
}
if(!isset($_SESSION['searchtv']) && !isset($_SESSION['searchmovie'])){
$database->searchTV($_GET['show'], $session->uid);
$database->searchMovies($_GET['show'], $session->uid);
}
如果我只勾选 searchtv 复选框,它只会运行 searchTV 功能等等..所以我知道它正在设置并且可以工作..只是无法获得对复选框的反馈说是的,它在搜索按钮时被勾选被选中。
【问题讨论】: