Менял в основном кусок в function check_login, когда добавил, чтобы пароль брался из переменной, которая находится в таблице в базе данных. Но теперь показывает ошибку в строках 41 и 42, где у меня идет проверка включена ли сессия или нет.
Notice: Undefined index: login in C:\xampp\htdocs\xampp\proben\3\index.php on line 41
Notice: Undefined index: pass in C:\xampp\htdocs\xampp\proben\3\index.php on line 42
Был бы признателен всем за помощь или подсказку.
<?PHP
function draw_form($bad_login = false) {
?>
<form align="center" action="" method="post">
<input type="text" name="login"></input><br/>
<input type="password" name="pass"></input>
<br><input type="submit" name="submit"></input>
</form>
<?PHP
if ($bad_login)
echo 'Неправильное имя или пароль!';
}
function check_login($login, $pass) {
mysql_connect('localhost', 'root');
mysql_select_db('gallery');
$user_result = mysql_query("SELECT * FROM users WHERE login='$login' AND password='$pass'");
return ($_POST['login'] == '$login') && ($_POST['pass'] == '$pass');
}
// вход
session_start();
if (isset($_GET['logout'])) {
session_unset();
session_destroy();
header("Location: index.php");
exit(); // Session end
}
// control check => в работе ли сессия
if (!isset($_SESSION['login'])) {
$login = $_POST['login'];
$pass = $_POST['pass'];
if (count($_POST) <= 0)
draw_form();
else {
if (check_login($login, $pass))
$_SESSION['login'] = $login;
else
draw_form(true);
// true => неправильный пароль
}
}
isset($_SESSION['login']) or die(); // false => Start => die()
echo 'Hallo, ' . $_SESSION['login'];
?>