0

所以我试图创建一个复选框,我可以传递它的值或将它的值存储在 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并且当我取消选中复选框时不允许它变回零,有什么想法吗?

4

2 回答 2

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>
于 2011-08-29T16:50:29.023 回答
0

您应该在 $_POST 或 $_GET 变量上应用条件,而不是在某些 php-unknown customLogoCheckbox.checked 类型的变量上。

于 2011-08-29T16:43:41.450 回答