I'm working on php-Website for my School-Project which I have to get finished soon. Now I'm stuck with my Session-Handling. User signup & login works just fine. But this variable isset($_SESSION["useruid"]) is always false and doesn't let me access the homepage, even the alert in the header says, that I am successfully logged in.
Here are the two parts, which I think the error might be:
functions.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();
}
}
home.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';
?>
For the whole small project-code visit my Gitlab: https://gitlab.iet-gibb.ch/agn122703/secapp
CodePudding user response:
you may put it on the top of your page. you never used or include functions.inc.php in your header.php file use:
<?php
session_start();
include_once 'functions.inc.php';