Я уже зарегистрировал имя пользователя в переменной $ _SESSION [имя_пользователя]. Как я могу дополнительно сохранить user_id в переменной $ _SESSION [user_id]. Я попытался использовать $ stmt-> fetch_array (MYSQLI_NUM); но не повезло.PHP login validator + сохранить идентификатор пользователя
У меня есть таблица MySQL, как, например:
Логин:
+---------------+-------------+-------------+-------------+
| auto_id | username | password | user_id |
+---------------+-------------+-------------+-------------+
| 0 | a | b | 1 |
+---------------+-------------+-------------+-------------+
| 1 | c | d | 2 |
+---------------+-------------+-------------+-------------+
| 2 | e | f | 3 |
+---------------+-------------+-------------+-------------+
мой PHP Войти валидатор:
<?php
session_start();
require_once('php/config.php');
if(isset($_POST['submit'])){
$username = $_POST['user_name'];
$password = $_POST['pwd'];
$user_id_col = "3";
$stmt = $con->prepare("SELECT * FROM tapp_login WHERE username = ? AND password = ? LIMIT 1");
$stmt->bind_param('ss', $username, $password);
$stmt->execute();
$stmt->bind_result($username, $password);
$stmt->store_result();
if($stmt->num_rows == 1) //To check if the row exists
{
while($stmt->fetch())
{
$_SESSION['LOGIN_STATUS']=true;
$_SESSION['user_name'] = $username;
$_SESSION['user_id'] = $user_id;
echo 'true';
}
}
else {
echo 'false';
}
$stmt->close();
}
else{
}
$con->close();
?>
Я думаю, что это именно то, что мне нужно. Логика имеет смысл. Однако, когда я повторяю $ _SESSION ['user_id'], я ничего не получаю, но если я повторяю $ _SESSION ['user_name'], я получаю соответствующее имя пользователя. Любые другие мысли? – Rob
Что говорит vardump ($ data)? Возможно, сделана опечатка? –
возвращает NULL? – Rob