亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

網站會話的 PHP isset 函數無法正常工作

網站會話的 PHP isset 函數無法正常工作

慕姐4208626 2023-12-25 16:03: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>我的logindata.php包含以下內容<?php$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"]);}  我知道通過明文發送密碼不是一個好策略。
查看完整描述

1 回答

?
FFIVE

TA貢獻1797條經驗 獲得超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();

?>


查看完整回答
反對 回復 2023-12-25
  • 1 回答
  • 0 關注
  • 171 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號