2016-11-13 95 views
1

我有一个简单的checbox登录表单记住我。我想实现的是当用户选中checbox而不是创建cookie时启动会话,但它仍然会启动会话,即使我选中了复选框。谁能帮忙?如何通过AJAX,PHP传递checbox值?

这是我的html:我的PHP的

<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> 

部分:

$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"; 
    } 
} 

和我的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

我会sugge ST使用此:

jQuery的

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

PHP

if((isset($zapametat))&&($zapametat==true)){ 
+0

它的工作原理。谢谢。 – ludvik120