У меня есть 3 страницы в моей настройке здесь:
login.php: страница входа, содержащая поля имени пользователя и пароля, которые отправляются на
checklogin.php: какие проверки, чтобы проверить правильность учетных данных, который перенаправляется на
login_successful.php: отображает имя пользователя
login.php начинается с
<?php session_start(); ?> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <?php include 'content.php'; echo $head; ?> </head>
Который должен правильно инициализировать глобальную переменную $ _SESSION?
checklogin.php имеет код, который выглядит так:
if (mysql_num_rows($result) < 1) { /* Access denied */ echo 'Sorry, your username or password was incorrect!'; } else { $_SESSION['username'] = $username; /* Log user in */ header("location:login_successful.php"); }
login_successful.php выглядит так:
<div id="title" style="margin:5px"> <h2>Welcome back <?php echo $_SESSION['username']; ?>!</p> </div>
К сожалению, когда я перехожу к процедуре входа в систему и получаю login_successful.php, я получаю эту ошибку «Примечание: неопределенная переменная: _SESSION в C: \ wamp \ www \ login_successful.php в строке 15», хотя я четко начал сеанс входа в систему .php.
Почему он это делает?
Вам нужно вызвать session_start()
в верхней части каждого из ваших скриптов
Вы должны помнить session_start () в checklogin.php