![](http://mediasubs.ru/author/avatar/9177.png)
Здравствуйте!
Каким способом лучше передавать в PHP скрипт логин и пароль с обычной
HTML формы?
То есть имеется база с логинами и паролями пользователей. Скрипт
просматривает ее всю, и если логин и пароль совпадают отдает
информацию. Вопрос: как лучше сравнивать переданный логин/пароль с
логинам/паролем в базе?
Элементарный скрипт таков:
<?
if(!isset($PHP_AUTH_USER)) { // Аутентификация не проводилась, поэтому
выводим форму для ввода данных аутентификации
header('WWW-Authenticate: Basic realm="Enter site"');
header("HTTP/1.0 401 Unauthorized");
}
else { // Проверяем введённые имя и пароль пользователя на соответствие их
в базе данных
/* Здесь можно проверить переменные $PHP_AUTH_USER и $PHP_AUTH_PW на
корректность, и если эти данные введены корректно, то пытаться подключаться
к базе данных, если же в этих переменных содержатся недопустимые символы, то
завершаем работу скрипта с сообщеием об ошибке.
Только я не знаю, имеет ли смысл производить эту проверку. Может знающие
люди подскажут? */
if(mysql_connect("localhost","nameuser"))
{$id=mysql_select_db("namedb");}
if($id!=0) { // Если в результате подключения появился идентификатор
соединения с базой данных, то...
$rezquery=mysql_query("select userid, namenick, password from
users"); // ... выбираем информацию о пользователях...
if($rezquery) {
$kolvousers=mysql_num_rows($rezquery);
// ... определяем количество зарегистрированных пользователей ...
for($i=0;$i<$kolvousers;$i++)
{ // ...
просматриваем данные каждого пользователя
$info=mysql_fetch_array($rezquery);
// Проверяем соответствие введённых данных с данными
записанными в базе данных для текущего пользователя.
// В случае соответствия данных, определяем код пользователя
if($info['namenick']==$PHP_AUTH_USER and
info['password']==$PHP_AUTH_PW) {$numuser=$info['userid'];}
} // Завершение цикла проверки данных очередного пользователя
} // Завершение выполнения запроса
} // Завершение работы с базой данных
mysql_close();
if($numuser>0) {
/* Аутентификация завершена успешно, пишем необходимый программный
код */
}
C уважением, Бурляев Вячеслав
Номер выпуска : 3337
Возраст листа : 281 (дней)
Количество подписчиков : 430
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/180567
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru
-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписать : mailto:comp.soft.prog.prog--unsub@subscribe.ru
http://subscribe.ru/ mailto:ask@subscribe.ru