Логин. php
Я пытался извлечь идентификатор сеанса пользователя, который вошел в систему, и вызвать его на другой странице, чтобы сохранить user_id в комментариях. Таблица. Однако, когда я попытался это сделать, на следующей странице он выводит только 0, а не идентификатор пользователя.
<?php
session_start();
require "../layouts/header.php";//including header
require '../database/db.php';//db connection
if (isset($_POST['login'])) {
if(empty($_POST["username"]) || empty($_POST["password"]))
{
$msg = '<label style="color:red;"> Missing fields!</label>';
}
else
{
//checking if the provided credential match with the database
$query = "SELECT * FROM users where username=:username";
$statement = $db->prepare($query);
//criteria for successful login
$condition = [
'username'=>$_POST['username']
];
$statement->execute($condition);
$count = $statement->rowCount();
if($count > 0)
{
$users=$statement->fetch(PDO::FETCH_OBJ);
$pwd = $_POST['password'];
//verification of password
if (password_verify($pwd, $users->password))
{
$type = $_POST['type'];
$_SESSION['username'] = $_POST['username'];
foreach( $users as $view):
$_SESSION['user_id'] = $view['user_id'];
if($type==$view['type'] && $type == 1)
{
header("location:../admin/index.php");
}
if($type==$view['type'] && $type == 0)
{
header("location:../client-side/index.php?user_id=<?= $view->user_id; ?>");
}
else
{
echo "Invalid!";
}
endforeach;
}
else{
echo '<label style="color:red;"> Invaid Entry!</label>';
}
}
else
{
$msg = '<label style="color:red;"> Invaid Entry!</label>';
}
}
}
?> Форма входа
<main class="home" style="margin-bottom: 30px; margin-top:30px;">
<h2 style="text-align: center">Login</h2>
<hr>
<form action="login.php" method="POST">
<label>Username:</label>
<input type="text" name="username" placeholder="Enter Username"><br>
<label>Password:</label>
<input type="password" name="password" placeholder="Enter Password"><br>
<label><strong>Please select one:</strong></label>
<label>Admin</label>
<input type="radio" name="type" id="Admin" value="1" style="margin-top: 33px; height:20px;width:20px;"><br>
<label>Client</label>
<input type="radio" name="type" id="Client" value="0" style="margin-top: 33px; height:20px;width:20px;"><br>
<input type="submit" name="login" value="Login">
</form>
<div style="height: 200px;"></div>
<br>
</main>
<?php
require "../layouts/footer.php";
?>
index. php на странице индекса выводится только 0, а не user_id
<?php
if(isset($_SESSION["user_id"]))
{
echo '<h1> Welcome - '.$_SESSION["user_id"].'</h1>';
}
?>