The user enters the data in the form, then the data goes to the handler if everything is ok, then redirected to the page with its profile. Nothing was displayed in the profile, checked with the Isset function on the $ login variable, false. In the handler -
<?php session_start(); // вся процедура работает на сессиях. Именно в ней хранятся данные пользователя, пока он находится на сайте. Очень важно запустить их в самом начале странички!!! if(isset($_POST['login'])) { $login = $_POST['login']; if($login == '') { unset($login); } } //заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменную if(isset($_POST['password'])) { $password = $_POST['password']; if($password == '') { unset($password); } } //заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную if(empty($login) or empty($password)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт { exit("Вы ввели не всю информацию, вернитесь назад и заполните все поля!"); } //если логин и пароль введены,то обрабатываем их, чтобы теги и скрипты не работали, мало ли что люди могут ввести $login = stripslashes($login); $login = htmlspecialchars($login); $password = stripslashes($password); $password = htmlspecialchars($password); //удаляем лишние пробелы $login = trim($login); $password = trim($password); // подключаемся к базе include ("db.php"); // файл bd.php должен быть в той же папке, что и все остальные, если это не так, то просто измените путь $result = mysql_query("SELECT * FROM users WHERE login='$login'", $db); //извлекаем из базы все данные о пользователе с введенным логином $myrow = mysql_fetch_array($result); if(empty($myrow['password'])) { //если пользователя с введенным логином не существует exit("Извините, введённый вами login или пароль неверный."); } else { //если существует, то сверяем пароли if($myrow['password'] == $password) { //если пароли совпадают, то запускаем пользователю сессию! Можете его поздравить, он вошел! $login = $_SESSION['login'] = $myrow['login']; $id = $_SESSION['id'] = $myrow['id']; //эти данные очень часто используются, вот их и будет "носить с собой" вошедший пользователь header("Location: profile.php"); } else { //если пароли не сошлись exit("Извините, введённый вами login или пароль неверный."); } } ?>