Checkbox проверяет значение, пройденное через несколько страниц php - PullRequest
0 голосов
/ 29 августа 2011

Поэтому я пытаюсь создать флажок, чтобы я мог передать его значение или сохранить его значение в файле 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 ]

1 голос
/ 29 августа 2011

Это должно работать:

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>
0 голосов
/ 29 августа 2011

Вы должны применять условие к переменной $ _POST или $ _GET, а не к некоторой неизвестной php переменной customLogoCheckbox.checked.

...