|
|
|
|
|
для: Лена
(14.08.2010 в 16:17)
| | Извиняюсь что снова поднимаю тему, но впредь кто прочитает эту тему:
вот такой конец :
Это не очень хорошо.
По логике: на кой черт вам вся эта уйма else?
........................
<?
if (mysql_num_rows($lst) == 0)
// пользователя с таким именем нет в БД, отклик 401
Header("WWW-Authenticate: Basic realm="Admin Center"");
Header("HTTP/1.0 401 Unauthorized");
exit();
}else // на кой черт оно тут ? если в итоге выполниться условие, то скрипт итак остановиться,
//на кой черт тут(и не только тут это else?
|
| |
|
|
|
|
|
|
|
для: lElectroHardl
(14.08.2010 в 14:20)
| | Ошибкой уровня Notice | |
|
|
|
|
|
|
|
для: Николай2357
(15.08.2010 в 15:00)
| | Можно и так. А можно вообще совместить все в 1. | |
|
|
|
|
|
|
|
для: Лена
(14.08.2010 в 17:06)
| | Можно же еще проще... Одним запросом все решить раз и на всегда. Лень переписывать, вот тут есть. | |
|
|
|
|
|
|
|
для: Лена
(14.08.2010 в 17:06)
| | Я это исправил уже, спасибо. | |
|
|
|
|
|
|
|
для: lElectroHardl
(14.08.2010 в 17:01)
| | Я говорила по коду от (14.08.2010 в 14:18) - как я поняла, улучшенному и дополненному. Все, что выше, я почти не смотрела. Сравните еще раз внимательно свое и мое. Вы, не зная, есть ли у вас пользователь или нет, начинаете с запроса к базе - это по вашему одно и то же? | |
|
|
|
|
|
|
|
для: Лена
(14.08.2010 в 16:17)
| | Вообще-то у меня такая же структура скрипта. Почему вы считаете ее путаной, если написали в точности такой же скрипт (за исключением запроса к базе)? | |
|
|
|
|
|
|
|
для: lElectroHardl
(14.08.2010 в 14:18)
| | Сама логика скрипта путанная, говорит, что вы не совсем понимаете, что в нем делается. Я бы делала так(показываю схематически, т.к. так быстрее):
<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
// пользователь неизвестен
header("WWW-Authenticate: Basic realm=\"My Realm\"");
header("HTTP/1.0 401 Unauthorized");
exit;
} else {
//пользователь($_SERVER['PHP_AUTH_USER') есть, надо проверить, есть ли запись про него в базе
//ваш запрос
if (mysql_num_rows($lst) == 0)
// пользователя с таким именем нет в БД, отклик 401
Header("WWW-Authenticate: Basic realm="Admin Center"");
Header("HTTP/1.0 401 Unauthorized");
exit();
}else{
// пользователь с таким именем есть в БД, надо проверить совпадают ли пароли
$pass = mysql_fetch_assoc($lst);
if ( $pass['pass'] != md5($_SERVER['PHP_AUTH_PW']) ){
//пароли не совпали - отклик 401
}
}
}
?>
|
| |
|
|
|
|
|
|
|
для: lElectroHardl
(14.08.2010 в 14:18)
| | Да вы видать через строчку читаете
Я насчет этого блока:
if ( !isset($_SERVER['PHP_AUTH_USER']) )
{
Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
Header ("HTTP/1.0 401 Unauthorized");
exit();
}
|
Его нужно в самое начало, иначе от него смысла 0
И зря вы из этой вот(именно этой строки!!!
$query = "SELECT * FROM adm_zone WHERE user='".($_SERVER['PHP_AUTH_USER'])."'";
|
убрали mysql_real_escape_string(),
из вышесказанного вывод-> вы вообще не понимаете(даже приблизительно) как работает этот скрипт и для чего нужен тот или иной его элемент, а следовательно рано еще заниматься сайтом, самое время заняться самообразованием | |
|
|
|
|
|
|
|
для: tvv123456
(13.08.2010 в 22:35)
| | А чем отличается от ? | |
|
|
|
|