Когда пользователь входит в аккаунт, ему выводятся вся его информация. Username выводится, а email нет. Решил я проверить через var_dump и мне вывелось NULL. Почему? Помогите пожалуйста. Прошу вас
// LOGIN USER
if (isset($_POST['login_user'])) {
$username = mysqli_real_escape_string($db, $_POST['username']);
$password = mysqli_real_escape_string($db, $_POST['password']);
$email = mysqli_real_escape_string($db, $_POST['email']);
if (empty($username)) {
array_push($errors, "Username is required");
}
if (empty($password)) {
array_push($errors, "Password is required");
}
if (count($errors) == 0) {
$password = md5($password);
$query = "SELECT * FROM users WHERE username='$username' AND password='$password'";
$rows = mysqli_query("SELECT 'email' FROM 'users' WHERE 'email'='$email' ");
$email_user = mysqli_fetch_array($rows);
$results = mysqli_query($db, $query, $rows);
if (mysqli_num_rows($results) == 1) {
$_SESSION['username'] = $username;
$_SESSION['email'] = $email_user['email'];
$_SESSION['success'] = "You are now logged in";
header('location: index.php');
}else {
array_push($errors, "Wrong username/password combination");
}
}
}
// Настройки
<?php
session_start();
if (!isset($_SESSION['username'])) {
$_SESSION['msg'] = "Вы должны зарегистрироваться";
header('location: login.php');
}
if (isset($_GET['logout'])) {
session_destroy();
unset($_SESSION['username']);
header("location: login.php");
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Home</title>
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
<div class="header">
<h2>Настройки</h2>
<a href="settings.php">Настройки</a></span>
</div>
<div class="content">
<!-- notification message -->
<?php if (isset($_SESSION['success'])) : ?>
<div class="error success" >
<h3>
<?php
echo $_SESSION['success'];
unset($_SESSION['success']);
?>
</h3>
</div>
<?php endif ?>
<?php if (isset($_SESSION['username'])) : ?>
<p>Имя пользователя <strong><?php echo $_SESSION['username']; ?></strong></p>
<p>Email <strong><?php var_dump($SESSION); echo $_SESSION['email']; ?></strong></p>
<p>Текущий пароль <strong><?php echo $_SESSION['password']; ?></strong></p>
<p> <a href="index.php?logout='1'" style="color: red;">logout</a> </p>
<?php endif ?>
</div>
</body>
</html>
Когда вставляете переменную PHP в запрос или в любой другой текст вы должны обернуть его в фигурные скобки или использовать конкатенацию чтобы корректно его выявить
$rows = mysqli_query("SELECT 'email' FROM 'users' WHERE 'email'='". $email ."' ");
или
$rows = mysqli_query("SELECT 'email' FROM 'users' WHERE 'email'='{$email}'");
Виртуальный выделенный сервер (VDS) становится отличным выбором
Сайт-донор имеет такой вот блок со списком:
Я хочу организовать поиск по сайту, сайт многоязычный, есть два варианта для поиска: elasticsearch или sphinxВторой вариант мне показался проще в понимании...