Спасибо, сделав это, он отобразился!
даю систему, в которой заголовок будет отображать «логин», если пользователь не вошел в систему, и если они есть, он будет отображать выход из системы. Я упростила это сейчас, просто показывая, вошел ли пользователь в систему или нет. С "Логин!" это означает, что они должны войти, и "Добро пожаловать!" если они вошли в систему. Я использовал веб-сайт PHP Code Checker (https://phpcodechecker.com/) и не смог найти никаких ошибок. Я также искал stackoverflow, и все остальные, кажется, работают.
<?php
ob_start();
session_start();
require_once 'dbconnect.php';
if( !isset($_SESSION['user']) ) {
echo "Login!";
} else {
echo "Welcome!";
}
?>
это код, который проверяет, вошел ли пользователь в систему или нет.
Моя страница входа работает для ВСЕГО, поскольку моя домашняя страница показывает, что пользователь вошел в систему, но в любом случае здесь приведен код. (Это только код PHP, для кнопки отправки есть HTML, и т. Д.)
<?php
ob_start();
session_start();
require_once 'dbconnect.php';
// it will never let you open index(login) page if session is set
if ( isset($_SESSION['user'])!="" ) {
header("Location: index.php");
exit;
}
$error = false;
if( isset($_POST['btn-login']) ) {
// prevent sql injections/ clear user invalid inputs
$email = trim($_POST['email']);
$email = strip_tags($email);
$email = htmlspecialchars($email);
$name = trim($_POST['name']);
$name = strip_tags($name);
$name = htmlspecialchars($name);
$pass = trim($_POST['pass']);
$pass = strip_tags($pass);
$pass = htmlspecialchars($pass);
// prevent sql injections / clear user invalid inputs
if(empty($name)){
$error = true;
$nameError = "Please enter your username.";
}
if(empty($pass)){
$error = true;
$passError = "Please enter your password.";
}
// if there's no error, continue to login
if (!$error) {
$password = hash('sha256', $pass); // password hashing using SHA256
$res=mysql_query("SELECT userId, userEmail, userPass FROM users WHERE
userName='$name'");
$row=mysql_fetch_array($res);
$count = mysql_num_rows($res); // if email/pass correct it returns must be
1 row
if( $count == 1 && $row['userPass']==$password ) {
$_SESSION['user'] = $row['userId'];
header("Location: dashboard.php");
} else {
$errMSG = "Incorrect Credentials, Try again...";
}
}
}
?>
Он прекрасно подключается к базе данных, и я уверен, что с базой данных проблем нет, так как она работает на других моих страницах.
Я потратил много времени, пытаясь понять это, и не могу.
Спасибо!