当我成功登录后登录时,我想重定向到index.php页面,但我回到login.php页面...我已在登录页面中声明$_SESSION
,我想要{{1}在index.php页面
这是我的login.php文件代码。
$_SESSION
这是index.php文件。
<?php
include ('includes/config.php');
global $con;
if (isset($_POST['btn-login'])) {
// Initialize a session:
session_start();
$error = array(); //this aaray will store all error messages
if (empty($_POST['email'])) { //if the email supplied is empty
$error[] = 'You forgot to enter your Email ';
$msg_error_email= 'You forgot to enter your Email';
} else {
$Email = mysqli_real_escape_string($con, $_POST['email']);
$Email = stripslashes($Email);
}
if (empty($_POST['password'])) {
$error[] = 'Please Enter Your Password ';
$msg_error_pass= 'Please Enter Your Password';
} else {
$Password = mysqli_real_escape_string($con, md5($_POST['password']));
$Password = stripslashes($Password);
}
if (empty($error))//if the array is empty , it means no error found
{
$query_check_credentials = "SELECT * FROM m_admins WHERE (admin_password='$Password' AND admin_email='$Email') AND admin_auth='ACTIVE'";
$result_check_credentials = mysqli_query($con, $query_check_credentials) or die (mysqli_error($con));
//if Query is successful
if (mysqli_num_rows($result_check_credentials))
{
$_SESSION['admin_email']=$Email; // Initializing Session
echo "<script>alert('You Logged in Sucessfully... Thanks!!')</script>";
echo "<script>window.open('index.php','_self')</script>";
}else
{
$msg_error1= 'Either Your Account is inactive or Email address / Password is Incorrect';
}
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<title>Demo App | Login</title>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-md-4 col-md-offset-4">
<div style="margin-top:100px; margin-bottom:-50px;">
<?php if(isset($_GET['logout'])) {
echo '<div class="alert alert-success">
<button class="close" data-dismiss="alert">×</button>
<strong>Thanks ! </strong> You have successfully loged out.. </div> ';
}
?>
</div>
<div class="login-panel panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Please Sign In</h3>
</div>
<div class="panel-body">
<form action="login.php" method="post" role="form">
<!-- ========= Sucess/Error will display here =========== -->
<?php if(isset($msg_error1)) {
echo '<div class="alert alert-danger">
<button class="close" data-dismiss="alert">×</button>
<strong>Sorry ! </strong>' .$msg_error1. '</div> ';
} ?>
<?php if(isset($msg_error_email)) {
echo '<div class="alert alert-warning">
<button class="close" data-dismiss="alert">×</button>
<strong>' .$msg_error_email. '</strong></div> ';
} ?>
<fieldset>
<div class="form-group">
<input class="form-control" placeholder="E-mail" name="email" type="email" autofocus>
</div>
<?php if(isset($msg_error_pass)) {
echo '<div class="alert alert-warning">
<button class="close" data-dismiss="alert">×</button>
<strong>' .$msg_error_pass. '</strong></div> ';
} ?>
<div class="form-group">
<input class="form-control" placeholder="Password" name="password" type="password" value="">
</div>
<div class="checkbox">
<label>
<input name="remember" type="checkbox" value="Remember Me">Remember Me
</label>
</div>
<button type="submit" class="btn btn-lg btn-success btn-block" name="btn-login">Login</button>
</fieldset>
</form>
</div>
</div>
</div>
</div>
</div>
<!-- jQuery -->
<script src="login_files/bower_components/jquery/dist/jquery.min.js"></script>
<!-- Bootstrap Core JavaScript -->
<script src="login_files/bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
<!-- Metis Menu Plugin JavaScript -->
<script src="login_files/bower_components/metisMenu/dist/metisMenu.min.js"></script>
<!-- Custom Theme JavaScript -->
<script src="login_files/dist/js/sb-admin-2.js"></script>
</body>
</html>
答案 0 :(得分:0)
您可以在session_destroy()
行下方使用include('includes/config.php');
。否则前一个会话不会被破坏。
答案 1 :(得分:0)
您好评论中的建议使用header()
代替window.open
。此外,您的session()
似乎尚未在index.php
中启动,即使您已声明它,或者它已启动,那么$_SESSION['admin_email']
为空。
首先检查一件事是在login.php中你的$_SESSION['admin_email']
是否具有某种价值。如果它在session_start()之后的index.php中有;写
echo $_SESSION['admin_email']; die; // just to see it has value or not
如果所有这些都无效,请通过header
function
传递您的电子邮件
喜欢
header("Location:index.php?email=".$Email);exit;
并在index.php中获取
if($_GET){
$user = $_GET['email'];
// but it will show email in url