PHP - index.php и сессия

0

Мой вопрос о index.php.

(1) Если у меня есть имя файла php, называемое index.php. Когда я получу доступ к веб-странице, он обязательно перейдет на страницу index.php?

(2) login.php

<?php
session_start();

if(isset($_POST['submit']))
{
$usrname = $_POST['username'];
$usrpassword = $_POST['password'];

if(!empty($usrname) && (!empty($usrpassword)))
{
    //db configuration
    $q = "select username from user where username = '".$usrname."' && userpwd = PASSWORD('$usrpassword')";
    $r = mysqli_query($dbc, $q);

    if(mysqli_num_rows($r))
    {
            $row = mysqli_fetch_array($r, MYSQLI_ASSOC);  
            session_regenerate_id();          
            $_SESSION['username'] = $row['username'];
            session_write_close();

            header("Location: index.php");
            exit();
    }
}


<html>
<head></head>

<body>
    <form action="" method="post">
        Username: <input type="text" name="username" /><br />
        Password: <input type="password" name="password" /><br />
        <input type="submit" name="submit" value="Login" />
    </form>
</body>
</html>
?>

index.php

<?php
session_start();
if(!isset($_SESSION['username']))
{
    header("Location: login.php");
    exit();
}
?>
<html>
<head></head>
<body>
<p>Main Page</p>
</body>
</html>

Когда я закрываю браузер на index.php, в следующий раз я снова должен снова войти в login.php. Но из моего кода он не переходит на страницу login.php и остается на странице index.php. Какую ошибку я совершил? Как мне его решить?

  • 0
    Вы должны создать разъединенную ссылку или очистить кеш вашего браузера.
  • 0
    1) Зависит от того, как настроено ваше веб-пространство. Обычно, если вы введете свой домен, он будет искать список файлов.
Показать ещё 2 комментария
Теги:

2 ответа

2

Для файлов сеансов магазина используются файлы cookie. Когда вы закрываете браузер, он должен очистить все файлы cookie. Но ваш браузер этого не делает.

Возможно, вы закрыли только окно с этой страницей, но не закрыли все приложения браузера. В этом случае браузер может хранить файлы cookie сеанса.

0

создать выход из системы с отключением сеанса. создать ссылку для выхода из системы

<a href="logout.php"> Logout</a>

logout.php

<?php 
session_start();
session_destroy();
header("location:login.html");
?>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню