复选框检查的值通过几个php页面传递

时间:2011-08-29 16:39:04

标签: php cookies checkbox checked unchecked

所以我试图创建一个复选框,我可以传递它的值或将它的值存储在cookie中,这样我就可以在几个不同的页面中使用它。

目前我有这个:

<input type="checkbox" id="customLogoCheckbox" name="customLogo" onClick="window.open('vtest.php', '_blank','width=300,height=150,left=25,top=25,scrollbars=yes')" value="Show Active">Use Custom Logo

    <?
    if (customLogoCheckbox.checked == true)
    {
        $_SESSION['logoCheck'] = 1;
    }
    else
    {
        $_SESSION['logoCheck'] = 0;
    }

它只是将cookie设置为1并且当我取消选中复选框时,不允许它变回零?

2 个答案:

答案 0 :(得分:1)

这应该有效:

if( isset($_REQUEST['customLogo']) && $_REQUEST['customLogo'] == "Show Active" )
   $_SESSION['logoCheck'] = 1;
else
   $_SESSION['logoCheck'] = 0;

首先检查是否设置了customLogo复选框,然后检查它的值,如果一切正常,则将logoCheck设置为1.如果未设置customLogo值或者它不是“显示活动”,则变量设置为0并且您选择被还原 这是它如何工作的一个例子:

<?php
//start session
session_start();
//check if form as been submitted
if( isset( $_REQUEST['submit'] ) {
   if( isset($_REQUEST['customLogo']) && $_REQUEST['customLogo'] == "Show Active" )
      $_SESSION['logoCheck'] = 1;
   else
      $_SESSION['logoCheck'] = 0;
}
?>
<form action="<?= $_SERVER['PHP_SELF'] ?>" method="post">
    <input <? if( $_SESSION['logoCheck'] == 1 ) echo "checked=\"checked\"" ?> type="checkbox" id="customLogoCheckbox" name="customLogo" value="Show Active"> Use Custom Logo<br />
    <input type="submit" name="submit" value="Ok"/>
</form>

答案 1 :(得分:0)

你应该在$ _POST或$ _GET变量上应用一个条件,而不是在一些php-unknown customLogoCheckbox.checked变量上。