我正在為我的學校專案開發 php 網站,我必須盡快完成。現在我被我的會話處理困住了。用戶注冊和登錄作業得很好。但是這個變數 isset($_SESSION["useruid"]) 總是假的并且不允許我訪問主頁,即使標題中的警報說我已成功登錄。
這是兩個部分,我認為錯誤可能是:
函式.inc.php
function loginUser($connection, $username, $pwd){
$uidExists = uidExists($connection, $username);
if ($uidExists === false) {
header("location: ../login.php?error=wronglogin");
exit();
}
$pwdHashed = $uidExists["usersPwd"];
$checkPwd = password_verify($pwd, $pwdHashed);
if ($checkPwd === false) {
header("location: ../login.php?error=wronglogin");
exit();
}
else if ($checkPwd === true) {
session_start();
$_SESSION["userid"] = $uidExists["usersId"];
$_SESSION["useruid"] = $uidExists["usersUid"];
header("location: ../index.php?error=loginsuccessful");
exit();
}
}
主頁.php
<?php
include_once 'header.php';
if (is_null($_SESSION["useruid"])) {
header("location: index.php");
exit();
}
?>
<button>
<?php
if (isset($_SESSION["useruid"])) {
echo "<a href='includes/logout.inc.php' class='nav-link'>Abmelden</a>";
}
else{
echo "<a href='login.php' class='nav-link'>Anmelden</a>";
}
?>
</button>
<?php
include_once 'end-section.php';
?>
對于整個小專案代碼,請訪問我的 Gitlab:https ://gitlab.iet-gibb.ch/agn122703/secapp
uj5u.com熱心網友回復:
您可以將其放在頁面頂部。您從未在 header.php 檔案中使用或包含 functions.inc.php 使用:
<?php
session_start();
include_once 'functions.inc.php';
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/495485.html
下一篇:自定義PHP會話管理
