【发布时间】:2017-06-07 21:26:02
【问题描述】:
我创建了一个登录表单,它通过 ajax POST 数据到另一个 php 页面并检查用户名和密码验证。如果用户名或密码错误,它会在页面上显示错误消息登录表单。但是如果用户身份验证正常,它应该重定向到相应的页面。但是现在它正在加载登录表单。如何成功重定向?
这是后端逻辑
if ( password_verify($password, $user['passwrd']) ) {
$userrole=$user['role'];
switch($userrole){
case 'admin':
$_SESSION['username']=$username;
$_SESSION['role']="admin";
// This is how we'll know the user is logged in
$_SESSION['logged_in'] = true;
header('Location: admin-view.php');
break;
前端页面中的这段代码
<script type="text/javascript">
var frm= $('#login-form');
frm.submit(function(e){
e.preventDefault();
$.ajax({
type:frm.attr('method'),
url:frm.attr('action'),
data:frm.serialize(),
success:function(data){
$('#feedback').html(data).fadeIn( 300 ).delay( 1500 ).fadeOut( 400 );
},
error:function(data){
console.log('An error occurred !');
console.log(data);
}
});
});
</script>
【问题讨论】:
-
php代码是否与jquery代码分离?
-
这只是提取代码。这些在两个不同的页面中
-
您将需要从 javascript 重定向。顺便说一句,我希望您放置的代码不是来自单个文件。
-
@Manusha 你能把代码分成不同的块吗,否则人们(像我一样)会认为代码只是一个块。顺便说一句,php 标头无助于重定向,请在 php 中删除该行并使用 javascript 重定向
-
window.location.href不起作用?