Перенаправить на ту же страницу после входа пользователя PHP - PullRequest
0 голосов
/ 25 сентября 2018

Я хочу, чтобы пользователь вернулся на страницу, которую пользователь последний раз посещал.Например, пользователь нажимает на кнопку входа на главной странице, и он переходит на страницу формы входа.После нажатия на кнопку входа, он будет перенаправлен обратно на главную страницу.Кодирование, которое я использую сейчас, отлично работает для страницы формы входа на домашнюю страницу (то есть, для входа в Facebook).Однако, когда я пытаюсь сделать пример, который я сказал ранее, это не работает.Это дает "Эта страница не работает" ошибка.Я нахожу, что проблема в session.php, и я пытаюсь немного измениться, но все еще не работает так, как я хочуМожет кто-нибудь помочь мне в кодировании PHP.Я все еще использую это кодирование PHP.

Ниже приведено мое кодирование ..

index.php (HOMEPAGE)

<?php
    include('session.php');
    ?>

      <div class="header-right">
        <?php if (isset($_SESSION['login_user'])) { ?>
            <a class="active" >
                <img src="image/user.png" width="22" height="22">
                <?= $login_session ?>
                <img src="image/drop.png" width="20" height="20" >
            </a>
            <div class="box dropdown">
                <ul>
                    <a href="#">edit</a>
                    <a href="#">delete</a></li>
                    <a id="logout" href="logout.php">Log Out</a>
                </ul>
            </div>
        <?php } else { ?>
            <a class="active" href="login.php"><img src="image/lock.png" width="20" height="20"> Login</a>
        <?php } ?>
    </div>
    </div>

session.php

 <?php
    // Establishing Connection with Server by passing server_name, user_id and password as a parameter
    $connection = mysql_connect("localhost", "root", "");
    // Selecting Database
    $db = mysql_select_db("company", $connection);
    session_start();// Starting Session
    // Storing Session
    $user_check=$_SESSION['login_user'];
    // SQL Query To Fetch Complete Information Of User
    $ses_sql=mysql_query("select username from login where username='$user_check'", $connection);
    $row = mysql_fetch_assoc($ses_sql);
    $login_session =$row['username'];
    if(!isset($login_session)){
    mysql_close($connection); // Closing Connection
    header('Location: '.$_SERVER['HTTP_REFERER']); // Redirecting To Same Page
    }
    ?>

login.php (Страница формы входа)

 <?php
    include('loginsuccess.php'); // Includes Login Script

    if(isset($_SESSION['login_user'])){
    header('Location: '.$_SERVER['HTTP_REFERER']);
    }
    ?>

    <form class="form" action="" method="post">
                  <input type="text" placeholder="Username" required name="username">
                  <input id="myInput" type="password" placeholder="Password" required name="password">
                  <p id="text">Caps lock is ON</p> 

                  <button type="submit" id="login-button" name="submit" value" Login">Login</button>
                  <span><?php echo $error; ?></span>
                </form>

loginsuccess.php

  <?php
    session_start(); // Starting Session
    $error=''; // Variable To Store Error Message
    if (isset($_POST['submit'])) {
    if (empty($_POST['username']) || empty($_POST['password'])) {
    $error = "Username or Password is invalid";
    }
    else
    {
    // Define $username and $password
    $username=$_POST['username'];
    $password=$_POST['password'];
    // Establishing Connection with Server by passing server_name, user_id and password as a parameter
    $connection = mysql_connect("localhost", "root", "");
    // To protect MySQL injection for Security purpose
    $username = stripslashes($username);
    $password = stripslashes($password);
    $username = mysql_real_escape_string($username);
    $password = mysql_real_escape_string($password);
    // Selecting Database
    $db = mysql_select_db("company", $connection);
    // SQL query to fetch information of registerd users and finds user match.
    $query = mysql_query("select * from login where password='$password' AND username='$username'", $connection);
    $rows = mysql_num_rows($query);
    if ($rows == 1) {
    $_SESSION['login_user']=$username; // Initializing Session
    header('Location: '.$_SERVER['HTTP_REFERER']); // Redirecting To Other Page
    } else {
    $error = "Username or Password is invalid";
    }
    mysql_close($connection); // Closing Connection
    }
    }
    ?>

1 Ответ

0 голосов
/ 25 сентября 2018

Измените файл session.php следующим образом:

Добавьте exit(); после header('Location: '.$_SERVER['HTTP_REFERER']);

<?php
    // Establishing Connection with Server by passing server_name, user_id and password as a parameter
    $connection = mysql_connect("localhost", "root", "");
    // Selecting Database
    $db = mysql_select_db("company", $connection);
    session_start();// Starting Session
    // Storing Session
    $user_check=$_SESSION['login_user'];
    // SQL Query To Fetch Complete Information Of User
    $ses_sql=mysql_query("select username from login where username='$user_check'", $connection);
    $row = mysql_fetch_assoc($ses_sql);
    $login_session =$row['username'];
    if(!isset($login_session)){
    mysql_close($connection); // Closing Connection
    header('Location: '.$_SERVER['HTTP_REFERER']); // Redirecting To Same Page
    exit(); 
    }
    ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...