PHP не создает переменную $ _SESSION в session_start ();

У меня есть 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