用于网站会话的 PHP isset 函数无法正常工作

所以我正在尝试为网站实施登录,我希望它能更改顶部的菜单栏。但是我在使用 php 会话时没有得到想要的结果


我一开始使用session_start


<?php

session_start();

?>

然后为了改变我使用的菜单栏


<?php

    if (!isset($_SESSION['username'])){

 ?>

<ul>

    <li><a href="Index.php">Home</a></li>

    <li><a href="About.php">About</a></li>

    <li><a onclick="document.getElementById('log').style.display='block'" style="width:auto;">Log In</a> </li>

</ul>

<?php

    }else if (isset($_SESSION['username'])){

?>

<ul>

    <li><a href="Index.php">Home</a></li>

    <li><a href="About.php">About</a></li>

    <li><a href="#logout">PLEASE LOG OUT</a></li>

</ul>

<?php

    }

?>

我的日志模式框和脚本如下


<div id="log" class="modal">

    <form class="modal-content animate" action="logindata.php" method="post">

        <div class="container">

            <label for="uname"><b>Username</b></label>

            <input type="text" placeholder="Enter Username" name="usrname" required>

            <label for="psw"><b>Password</b></label>

            <input type="password" placeholder="Enter Password" name="psw" required>

            <button type="submit">Login</button>

        </div>

        <div class="container">

            <button type="button" onclick="document.getElementById('id01').style.display='none'" class="cancelbtn">Cancel</button>

        </div>

    </form>

</div>

<script>

    // Get the modal

    var modal = document.getElementById('log');

    // When the user clicks anywhere outside of the modal, close it

    window.onclick = function(event) {

        if (event.target == modal) {

            modal.style.display = "none";

        }

    }

</script>


尚方宝剑之说
浏览 131回答 1
1回答

哆啦的时光机

session_start 需要在你的代码的第一行......我看到你在另一页上有这个但是,这个仍然是错误的;)否则,在 isset 之前做一个:print_r($_SESSION);<?phpsession_start();&nbsp;$servername = "localhost";$username = "root";$password = "";$dbname = "phpmysql";$conn = new mysqli($servername, $username, $password, $dbname);if ($conn->connect_error) {&nbsp; &nbsp; die("Connection failed: " . $conn->connect_error);}$user1 = $email1 = $pass1 = "";if ($_SERVER["REQUEST_METHOD"] == "POST") {&nbsp; $user1 = test_input($_POST["usrname"]);&nbsp; $pass1 = test_input($_POST["psw"]);}&nbsp;&nbsp;function test_input($data) {&nbsp; $data = trim($data);&nbsp; $data = stripslashes($data);&nbsp; $data = htmlspecialchars($data);&nbsp; return $data;}$sql = "SELECT username, password, email FROM users";$result = $conn->query($sql);$row = $result->fetch_array();if ($row["username"]==$user1 && $row["password"]==$pass1) {&nbsp; &nbsp; &nbsp;$_SESSION["username"] = $row["username"];//$_SESSION["email"] = $row["email"];header("Location: Main_login_authentication.php");&nbsp;} else {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;header("Location: Denied.php");&nbsp;}$conn->close();?>
打开App,查看更多内容
随时随地看视频慕课网APP