二
代码中出现错误:
-
首先显示表单,然后将值设置到
SESSION
。这应该是相反的方式,因为当提交时,表单将首先显示,并且只有在设置值之后才会显示,这就是为什么您需要提交两次以查看值的问题。
-
您没有检查
会话
变量已在
in_array
,这最初会抛出一个错误。与
$_POST['category']
首先将其放在顶部:
<?
if (isset($_POST['category'])){
$_SESSION['category'] = $_POST['category']; }
else
{
unset($_SESSION['category']);
}
?>
然后将表单代码更改为:
<form name="search" action="" method="post">
<input type="checkbox" name="checkAllMyCB" id="checkAllMyCB" onclick="jqCheckAll2( this.id, 'myCB' )"/>All
<input name="category[]" type="checkbox" <?php if (isset($_SESSION['category']) && in_array("art", $_SESSION['category'])) { echo "checked='checked'"; } ?> value="art">Art
<input name="category[]" type="checkbox" <?php if (isset($_SESSION['category']) && in_array("church", $_SESSION['category'])) { echo "checked='checked'"; } ?> value="church">Church
<input name="category[]" type="checkbox" <?php if (isset($_SESSION['category']) && in_array("education", $_SESSION['category'])) { echo "checked='checked'"; } ?> value="education">Education/Schools
<input name="category[]" type="checkbox" <?php if (isset($_SESSION['category']) && in_array("food", $_SESSION['category'])) { echo "checked='checked'"; } ?> value="food">Food
<input name="category[]" type="checkbox" <?php if (isset($_SESSION['category']) && in_array("gardening", $_SESSION['category'])) { echo "checked='checked'"; } ?>value="gardening">Gardening
<input name="category[]" type="checkbox" <?php if (isset($_SESSION['category']) && in_array("kids", $_SESSION['category'])) { echo "checked='checked'"; } ?> value="kids">Kids
<input name="category[]" type="checkbox" <?php if (isset($_SESSION['category']) && in_array("music", $_SESSION['category'])) { echo "checked='checked'"; } ?> value="music">Music
<input name="category[]" type="checkbox" <?php if (isset($_SESSION['category']) && in_array("outdoors", $_SESSION['category'])) { echo "checked='checked'"; } ?> value="outdoors">Outdoors
<input name="category[]" type="checkbox" <?php if (isset($_SESSION['category']) && in_array("seniors", $_SESSION['category'])) { echo "checked='checked'"; } ?> value="seniors">Seniors
<input name="category[]" type="checkbox" <?php if (isset($_SESSION['category']) && in_array("sports", $_SESSION['category'])) { echo "checked='checked'"; } ?> value="sports">Sports/Physical Activity
<input name="category[]" type="checkbox" <?php if (isset($_SESSION['category']) && in_array("support", $_SESSION['category'])) { echo "checked='checked'"; } ?> value="support">Club/Support Group
<input type="submit" name="Go2" id="Go2" value="Go >" />
</form>