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

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

從登錄頁面加載我的 php 頁面不會給出錯誤,但從我的應用程序中的其他頁面加載它會出現錯誤

從登錄頁面加載我的 php 頁面不會給出錯誤,但從我的應用程序中的其他頁面加載它會出現錯誤

紅顏莎娜 2023-06-29 15:49:22
當我嘗試從登錄頁面(index.php)加載上面的 php 頁面時,沒有錯誤,但是當我登錄后嘗試從應用程序中的任何其他頁面加載它時,它在控制臺上給我一個未捕獲的語法錯誤。它指向腳本并表示 php 變量 $name 未定義。<?phpif (isset($_POST["login"])) {session_start();$_SESSION["email"] = $_POST["email"];$email = $_POST["email"];$password = $_POST["password"];$dbhost = 'localhost';$dbuser = 'root';$dbpass = '';$dbname = 'attendance_system';$conn = new mysqli($dbhost, $dbuser, $dbpass, $dbname);if ($conn->connect_error) {    die("Failed to connect: " . $conn->connect_error);} else {    $success = false;    $query = "SELECT * FROM student";    $result = $conn->query($query);    while ($row = $result->fetch_assoc()) {        if ($row["email"] === $email && $row["password"] === $password) {            $name = $row["name"];            $age = $row["age"];            $criteria = $row["attendance_criteria"];            $course = $row["course"];            $college = $row["college_name"];            $attendance = $row["attendance"];            $success = true;            break;        }    }    if ($success === false) {        header("Location: index.php");    }}}if (isset($_POST["signup"])) {session_start();$_SESSION["email"] = $_POST["email1"];$email = $_POST["email1"];$password = $_POST["password1"];$name = $_POST["name"];$age = $_POST["age"];$criteria = 100;$course = null;$college = null;$attendance = 0;$dbhost = 'localhost';$dbuser = 'root';$dbpass = '';$dbname = 'attendance_system';$conn = new mysqli($dbhost, $dbuser, $dbpass, $dbname);if ($conn->connect_error) {    die("Failed to connect: " . $conn->connect_error);} else {    $query = "INSERT INTO student SET email = '$email', name = '$name', age = '$age', password =  '$password' ";    $result = $conn->query($query);}}?><!DOCTYPE html><html><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width"><title>Attendance Manager - Home</title><link rel="stylesheet" href="../css/skeleton.css"><link rel="stylesheet" href="../css/home.css"><link rel="icon" type="image/jpg" href="../media/icon.png"></head>
查看完整描述

1 回答

?
瀟湘沐

TA貢獻1816條經驗 獲得超6個贊

如果您的頁腳<script>始終運行并且始終期望$name被填充,那么您必須檢查會話是否已登錄。如果未登錄,請將用戶重定向到登錄頁面,或指定默認值。

另外,您可能應該重寫用于驗證用戶身份的 SQL。首先,將密碼保存為哈希值。其次,使用WHERE語句來獲取與電子郵件和密碼匹配的任何行,而不是循環訪問應用程序中的結果。

您可能還想修復var pasword拼寫錯誤,我建議您將$success變量重命名為更具描述性的名稱,例如$loggedIn. 對于這個特定目的來說,這可能并不重要,但養成正確命名變量的習慣是一件好事。


查看完整回答
反對 回復 2023-06-29
  • 1 回答
  • 0 關注
  • 128 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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