Выйти из системы, чтобы щелкнуть дважды - PullRequest
0 голосов
/ 26 июня 2018

Доброе утро.

Создание веб-приложения для управления автомобилями, как вы видите на этом изображении .

То, что вы видите на предыдущем изображении, - это файлindex.php, настроенный на отображение разных вещей, если пользователь выполнил вход в систему или нет:

<body>
<div class="container">
    <h2>Welcome to the Automobiles Database</h2>
    <?php
if ( isset($_SESSION['error']) ) {
    echo('<p style="color: red;">'.htmlentities($_SESSION['error'])."</p>\n");
    unset($_SESSION['error']);
}
if ( isset($_SESSION['success']) ) {
    echo('<p style="color: green;">'.htmlentities($_SESSION['success'])."</p>\n");
    unset($_SESSION['success']);
}
?>


    <!-- without login -->
    <?php if(!isset($_SESSION['name'])) {
        echo '<p><a href="login.php">Please log in</a></p>';
        echo '<p>Attempt to <a href="add.php">add data</a> without logging in</p>';
    } ?>


    <!-- with login -->
    <?php if(isset($_SESSION['name'])) {
        echo '<table border="1"><thead><tr><th>Make</th><th>Model</th><th>Year</th><th>Mileage</th><th>Action</th></tr></thead>';
        $smtp = $pdo->query("SELECT autos_id, make, model, year, mileage FROM autos ORDER BY make");
        while ($row = $smtp->fetch(PDO::FETCH_ASSOC)) {
            echo("<tr><td><b>");
            echo($row['make']);
            echo("</b></td><td><b>");
            echo($row['model']);
            echo("</b></td><td><b>");
            echo($row['year']);
            echo("</b></td><td><b>");
            echo($row['mileage']);
            echo("</b></td><td><b>");
            echo("<a href=\"edit.php?autos_id=".$row["autos_id"]."\">Edit</a> / <a href=\"delete.php?autos_id=".$row["autos_id"]."\">Delete</a>");
            echo("</b></td><tr>\n");
        }
        echo '</table>';
        echo '<p><a href="add.php">Add New Entry</a></p> <p><a href="?logout">Logout</a></p>';
        if(isset($_GET['logout'])) {
        session_unset();
        }
    } ?>



</div>
</body>

Проблема, с которой я сталкиваюсь, связана со ссылкой «Выход из системы», которая выглядит следующим образом:

echo '<p><a href="add.php">Add New Entry</a></p> <p><a href="?logout">Logout</a></p>';

Если я щелкну один раз, это результат, который я получу .

Это выходит из системы пользователя, как и ожидалось, но я хочу, чтобы достиг этой страницы прямо сейчас (это index.php без входа в систему), и для этого мне нужно дважды щелкнуть по ссылке ...

Logout.php:

session_start();
unset($_SESSION['name']);
unset($_SESSION['user_id']);
header('Location: index.php');

Как я могу это сделать?

BP

Ответы [ 2 ]

0 голосов
/ 26 июня 2018

Я изменил Logout.php на:

<?php
session_start();
unset($_SESSION['name']);
unset($_SESSION['user_id']);
header('Location: index.php');
?>

и ссылку выхода из системы:

echo '<p><a href="add.php">Add New Entry</a></p> <p><a href="logout.php">Logout</a></p>';

Теперь отлично работает!

0 голосов
/ 26 июня 2018

Замените "? Logout" на URL страницы logout.php, надеюсь, это может решить проблему

<html>
'<p><a href="add.php">Add New Entry</a></p> <p><a href="?logout">Logout</a></p>'; ?</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...