为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
尚方宝剑之说 2022-12-23 16:20:33
所以我正在尝试为网站实施登录,我希望它能更改顶部的菜单栏。但是我在使用 php 会话时没有得到想要的结果我一开始使用session_start<?phpsession_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>
查看完整描述

1 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

session_start 需要在你的代码的第一行......我看到你在另一页上有这个但是,这个仍然是错误的;)否则,在 isset 之前做一个:print_r($_SESSION);


<?php

session_start(); 

$servername = "localhost";

$username = "root";

$password = "";

$dbname = "phpmysql";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {

    die("Connection failed: " . $conn->connect_error);

}

$user1 = $email1 = $pass1 = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") {

  $user1 = test_input($_POST["usrname"]);

  $pass1 = test_input($_POST["psw"]);

}  

function test_input($data) {

  $data = trim($data);

  $data = stripslashes($data);

  $data = htmlspecialchars($data);

  return $data;

}

$sql = "SELECT username, password, email FROM users";

$result = $conn->query($sql);

$row = $result->fetch_array();

if ($row["username"]==$user1 && $row["password"]==$pass1) {     

$_SESSION["username"] = $row["username"];

//$_SESSION["email"] = $row["email"];

header("Location: Main_login_authentication.php"); 

} else {

         header("Location: Denied.php"); 

}

$conn->close();

?>


查看完整回答
反对 回复 2022-12-23
  • 1 回答
  • 0 关注
  • 99 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信