[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Авторизация с помощью MySQL
RadXX
Всем привет. Недавно начал изучать PHP и возникла необходимость создать авторизацию с использованием базы данных. Простая сессионная авторизация у меня получилась, но как только я попытался "настроить" подключение и проверку через мускул, моментально потерпел неудачу. Уже смотрел и лазил по форумам, понимаю что должна быть какая-то мелочь, но я ее "в упор" не вижу :-(
Менял в основном кусок в 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'];


?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.