登录后我没有重定向到索引页面......可能是会话问题

时间:2016-07-05 11:01:03

标签: php html

当我成功登录后登录时,我想重定向到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">&times;</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">&times;</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">&times;</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">&times;</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>

2 个答案:

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