|
|
|
| Впервые столкнулась с такой проблемой - сделать на сайте авторизацию...Объясните мне пожалуйста, точнее, наведите на путь истинный! Итак...
Первый файл, Form_autorith.php
<form name="form1" action="autorization.php">
<p>Логин
<input name="log_user" type="text" size="10">
</p>
<p>Пароль
<input name="pass_user" type="password" size="10">
</p>
<p>
<input type="submit" name="Submit" value="Войти">
</p>
</form>
|
Здесь вводятся логин и пароль для авторизации...
Дальше...второй файл...autorization.php, куда передаются логин и пароль и идет их обработка:
mysql_connect($host, $login, $password);
mysql_select_db($database);
$sql="SELECT id_table FROM table WHERE (table.login='$log_user')";
$res=mysql_query($sql);
$num=mysql_num_rows($res);
if ($num==0)
{
echo "Пользователя с таким логином не существует!";
}
else
{
$sql="SELECT pass FROM table WHERE (table.login='$log_user')";
$res=mysql_query($sql);
while($row=mysql_fetch_array($res)) {
$passw = $row['pass'];
}
if (crypt($pass_user, $passw) == $passw)
{
echo "Все ОК!";
}
else echo "Неверный пароль!";
}
mysql_close();
|
А дальше тупик! Я понимаю так: в этом файле нужно что-то куда-то записать...а во всех файлах, где требуется авторизация, нужно проверить, что это что-то где-то как раз и записано! И если все так, тогда и пускать на эти страницы....Вот хочу у вас и спросить, просвятите серость невзрачную, что же мне делать дальше??? | |
|
|
|
|
|
|
|
для: Katerina
(27.03.2006 в 15:24)
| | Обычно когда идет авторизация через форму, то если удачно, то ставим куку с именем и мд5 паролем,
пишем функцию которая проверяет куку, и включаем эту функцию в каждый скрипт.
В двух словах так | |
|
|
|
|
|
|
|
для: Katerina
(27.03.2006 в 15:24)
| | Дело в том, что этот блок можно включить автоматически при помощи конструкции require_once() во все страницы, а можно воспользоваться сессиями или cookie, как это описывается в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=80. Возможно вам также будут интересны статья http://www.softtime.ru/info/articlephp.php?id_article=34 и небольшое Web-приложение http://www.softtime.ru/info/authorization.php. | |
|
|
|
|
|
|
|
для: Katerina
(27.03.2006 в 15:24)
| | Почитала...Вроде как разобралась, но не до конца. Подскажите, я правильно думаю....У нас есть форма, где вводятся логин и пароль...Далее этот логин и пароль обрабатываются в обработчике, где идут всякие проверки на логин и пароль...а потом...если все проверки прошли, то пишем:
$_SESSION['user'] = $log_user;
$_SESSION['password'] = $passw;
|
переводим пользователя на нужную страничку...а там делаем проверку:
if(isset($_SESSION['user'])) echo "Здравствуйте, ".$_SESSION['user']."!";
|
Я все правильно поняла? или нет?
И еще...я сделала авторизацию по примеру, который вы давали...у меня почему-то выдает ошибку:
Warning: session_start(): Cannot send session cookie - headers already sent by....
Warning: session_start(): Cannot send session cache limiter - headers already sent ...
Что это за ошибки? | |
|
|
|
|
|
|
|
для: Katerina
(28.03.2006 в 09:57)
| | 1) Да, всё правильно.
2) Ошибки связаны с тем, что вызов функции session_start() должен осуществляться до вывода любого текста в окно браузера (даже пробелов и переводов строк) - идеально её вообще самой первой в файле поместить. | |
|
|
|
|
|
|
|
для: cheops
(28.03.2006 в 13:40)
| | Все заработало! Спасибо Вам большое! Приятно находиться на форуме, где тебе действительно помогают советами, а не посылают к ядреной фене, не умничают и не выпендриваются перед новичками! СПАСИБО!!!! | |
|
|
|