dongshan3759 2016-11-13 18:43
浏览 72
已采纳

如何通过AJAX,PHP传递复选框值?

I have a simple login form with checbox remember me. What i want to achieve is when user checked checbox than create cookies else start session but it still start session even I checked checkbox. Can anyone help ?

This is my html:

<form action="PHP/login.php" method="post" class="loginForm">

                <div class="form_vkope">
                    <input type="text" name="prihlNick" placeholder="Nick" class="prihlNick" />
                    <img src="Obrazky/ios7-person.png" alt="Ikonka postavy">                    
                </div>

                <div class="form_vkope">
                    <input type="password" name="prihlHeslo" placeholder="Heslo" class="prihlHeslo" />
                    <img src="Obrazky/locked.png" alt="Ikonka zámok">                   
                </div>


                <div class="obal_submitov">
                    <input type="checkbox" name="zapametat" class="zamapetat" /><label for="zapametat"><span></span>Remember me</label>
                    <input type="submit" name="prihlasit" value="Login" class="prihlasit" />                    
                </div>
            </form>

part of my PHP:

$zapametat = $_POST['zapametat']; //checkbox
 if ($dbNick == $Snick AND $dbHeslo == $Sheslo) {
        if ($ban != 1) {
            if (isset($zapametat)) {
                setcookie('id',$dbId,time()+86400, '/');
                setcookie('nick',$dbNick,time()+86400, '/');
                echo "cookie";
            }else{
                $_SESSION['id'] = $dbId;
                $_SESSION['nick'] = $dbNick;
                echo "session";
            }
        }else{
            echo "Tvoj účet bol zablokovaný";
        }
    }else{
        echo "Heslo alebo meno sa nezhoduje";
    }
}

And my jQuery:

$('.prihlasit').click(function() {
    var prihlNick = $('.prihlNick').val();
    var prihlHeslo = $('.prihlHeslo').val();
    var prihlasit = $('.loginForm .prihlasit');
    var checbox = $('.zapametat'); //checkbox
    var data = 'prihlNick='+prihlNick+'&prihlHeslo='+prihlHeslo+'&zapametat='+checbox+'&prihlasit='+prihlasit;
    if (prihlNick == '' || prihlHeslo == '') {
        $('.loginForm :input').addClass('inputError');
    }else{
        $('.loginForm :input').removeClass('inputError');
        $.ajax({
            url: 'PHP/login.php',
            type: 'POST',
            data: data ,
        })
        .done(function(data) {
            $('.vypis_chyba').html(data);
            console.log(data);
        })
    }
});
  • 写回答

1条回答 默认 最新

  • douniao8687 2016-11-13 18:53
    关注

    I would suggest using this:

    jQuery

    var checbox = $('.zapametat').prop('checked'); //checkbox (jQuery 1.6+)
    

    PHP

    if((isset($zapametat))&&($zapametat==true)){
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助