Member 12629459 Ответов: 1

Как я могу остановить свою PHP-страницу от перехода на страницу входа в систему, если она уже вошла в систему?


Например, в facebook, если мы входим в систему один раз и, не выходя из системы, нажимаем кнопку "Назад" в браузере, он снова перезагружает домашнюю страницу. Но на странице входа в систему, которую я сделал с помощью PHP, я нажимаю кнопку Назад в браузере, она возвращает меня на страницу входа, несмотря на то, что я уже вошел в систему.

Что я уже пробовал:

Ниже приведен код для страницы входа в систему:

include 'left.php';
mysql_connect('localhost','root','');
mysql_select_db('onlineexam');

if(isset($_POST['submit']))
{
   session_start();
   $_SESSION['email'] = $_POST['email'];
   $_SESSION['pass'] = $_POST['password'];
   $email = $_SESSION['email'];
   
   $query = mysql_query("select name,password,email from students where email = '$email'") or die("you are not registered");
   $arr = mysql_fetch_assoc($query);

   if ($arr['password']==$_SESSION['pass'])
   {
      $name = $arr['name'];
      echo "<div class="righttop">
            <h1>hello $name</h1><br>
            <form method='post' action='index.php'>
            <input type='submit' name='logout' value='LOGOUT'>
            </form>
            </br></div>";  
   }
   else
   {
      echo "<div class="righttop">
            <h1>Wrong Password. Try Again!!</h1>
            <?php include 'righttop.php'; ???>
            </div>";
      session_destroy();
      session_cache_expire();
   }
}
elseif(isset($_SESSION['email']))
{
   echo "halaluuya";
}
else
{
   header("Location: http://localhost/project/index.php");
   exit();
}

include 'rightbottom.php';
?>

1 Ответов

Рейтинг:
0

Prava-MFS

Попробуйте этот код :

<?php
include 'left.php';
$conn = mysqli_connect('localhost','root','');
mysqli_select_db($conn, 'onlineexam');

if(isset($_POST['submit']) && !(isset($_SESSION['email'])))
{
    session_start();
    $_SESSION['email'] = $_POST['email'];
    $_SESSION['pass'] = $_POST['password'];
    $email = $_SESSION['email'];

    $query = mysqli_query($conn, "select name,password,email from students where email = '$email'") or die("you are not registered");
    $arr = mysqli_fetch_assoc($query);

    if ($arr['password']==$_SESSION['pass'])
    {
        $name = $arr['name'];
        echo "<div class="righttop">
            <h1>hello $name</h1>
 
            <form method='post' action='index.php'>
            <input type='submit' name='logout' value='LOGOUT'>
            </form>
            </br></div>";  
   }
    else
    {
        echo "<div class="righttop">
            <h1>Wrong Password. Try Again!!</h1>
            <?php include 'righttop.php'; ???>
            </div>";
      session_destroy();
      session_cache_expire();
   }
}
elseif(isset($_SESSION['email']))
{
    echo "halaluuya";
}
else
{
    header("Location: http://localhost/project/index.php");
    exit();
}

include 'rightbottom.php';
?>


Я добавил еще одно условие в блок IF как
if(isset($_POST['submit']) &amp;&amp; !(isset($_SESSION['email'])))


Надеюсь, это вам поможет, хотя я еще не проверял его. Пожалуйста, дайте мне знать, если вы все еще обнаружите какие-либо проблемы или в случае, если это не сработает.