提交后选中复选框

时间:2017-08-16 15:42:49

标签: php checkbox

我提交并重新加载页面后,如何选中此复选框?如果用户检查过。

在$ checked变量中,我不需要in_array,但我不知道,我需要的是什么。

echo '<div class="sidebar_szuro_div">
                <span class="sidebar_title"><i class="fa fa-caret-down" aria-hidden="true"></i> Akció</span>';
                $gyartok = runsql_array("
                SELECT gyarto_id, gyarto_nev FROM gyarto WHERE gyarto_id in (SELECT DISTINCT termek_gyarto FROM termek WHERE termek_id IN (  SELECT   kat_kapcs_termek_id FROM  `termek_katgoria_kapcsolo` WHERE kat_kapcs_kategoria_id='$kat_id'  )) ORDER BY gyarto_nev ASC");
                if(isset($_REQUEST["csak_akcios"]))
                {
                    $default = $_REQUEST["csak_akcios"];
                }
                else
                {
                    $default = array();
                }
                echo '<div class="filters_container">';

                        $termekdarab = runsql("SELECT COUNT(termek_id) AS counted FROM termek WHERE termek_status = 1 AND termek_akcio = 1
                        AND termek_id IN (  SELECT   kat_kapcs_termek_id FROM  `termek_katgoria_kapcsolo` WHERE kat_kapcs_kategoria_id='$kat_id'  )
                        ");

                        //$checked = in_array($gy["gyarto_id"] , $default)?' checked ':''; ????
                        echo '<div class="checkbox padding_left_10 filter_div"><label><input type="checkbox"  name="csak_akcios" value="1">Csak az akciós termékek mutatása ('.$termekdarab["counted"].')'.'</label></div>';

                    echo '<div class="text-center"><button type="submit" name="filter_submit_btn" class="btn szures_btn">Mehet</button></div>';
                echo '</div>';
        echo '</div>';

2 个答案:

答案 0 :(得分:1)

这样的事情: (如果您在表单中使用POST)

<label><input type="checkbox" name="myName" value="myValue" <?php if(isset($_POST['myName'])) echo "checked='checked'"; ?> > This is checkbox</label>

$_POST['myName']绑定到name="myName"

答案 1 :(得分:1)

首先,删除以下else块,如果未选中该复选框,请不要使$default成为数组。

else
{
    $default = array();
}

并替换以下两行

//$checked = in_array($gy["gyarto_id"] ...
echo '<div class="checkbox padding_left_10 ...

$checked = (isset($default) && $default == '1') ? 'checked="checked"' : '';
echo '<div class="checkbox padding_left_10 filter_div">
        <label>
            <input type="checkbox"  name="csak_akcios" value="1" '.$checked.' />
                Csak az akciós termékek mutatása ('.$termekdarab["counted"].')'.'
        </label>
    </div>';