2014-10-28 86 views
0

我在html页面中有身份验证表单,并使用PHP检查用户/密码是否正确。 我用jquery ajax调用我的php脚本,并使用preventDefautlt来避免重载页面效果。使用preventDefault时,PHP中的重定向身份验证表单

我想要做的是:如果用户/密码正确,将用户重定向到授权页面,如果不显示en错误消息。 我的问题是,当用户/密码正常时,是否需要将头部函数中的php脚本或JavaScript中的用户重定向到用户? 重定向表单js安全吗?

$("#signin").submit(function(event) { 
    event.preventDefault(); 
    var $form = $(this), url = $form.attr("action"); 
    console.log($form.serialize()); 
    var posting = $.post(url, $form.serialize()); 
    posting.done(function(data) { 
     if(data =="LOGGED-IN"){ 
      //make the redirection; 
     }else if(data =="USER-PASSWORD-KO"){ 
      //display error message 
     } 
     console.log(data); 
     //$("#login-dialog").append(data); 
    }); 
}); 

回答

0

你需要像JavaScript这样做,

posting.done(function(data) { 
    if(data =="LOGGED-IN"){ 
     window.location.href='home.php';//let you want to redirect it on home.php 
    }else if(data =="USER-PASSWORD-KO"){ 
     alert('Invalid Username/password') 
    } 
    console.log(data); 
    //$("#login-dialog").append(data); 
}); 

如果您使用的是js发送的用户名和密码,然后就没有安全重定向问题。

+0

这不起作用,因为我使用'event.preventDefault()'。为什么你说在JS中用POST发送密码时没有安全的问题? – 2014-10-28 12:07:27

+0

@skunka'event.preventDefault'会阻止提交表单,它不会阻止重定向(通过使用location.href)页面。 – 2014-10-29 05:35:10