проверка пароля ?

RomikChef

Guest
мда, воланд, теперья вижу что гостевая книга для тебя - непосильный труд :)
Извини, что приставал в топике о форумах. Меня название форума с толку сбило.

А тебе надо на http://myphp.dem.ru
Ведь прежде, чем борщ варить, надо сначала научиться морковку резать...
 

RomikChef

Guest
Воланд, все не так страшно, как тебе написал руслан.
На самом деле все короче.
PHP:
$login = $HTTP_GET_VARS['login']; 
$password = $HTTP_GET_VARS['password'];  

mysql_connect("mysql_host", "mysql_user", "mysql_password") or die("Could not connect"); 
mysql_select_db("my_database") or die("Could not select database"); 

$query = "select * from users where user_name = '$login' and user_password='$password'"; 
$result = mysql_query($query) or die("Query failed"); 
if (mysql_num_rows($result)) echo 'right you are'; else echo 'bad username/password';
А в форме убери ужасную надпись
action=auth.php3?login=$login&password=$password
она выглядит на самом деле так:
action=auth.php3

Ну, и мне, конечно, интересно, как ты собираешься узнавать, авторизован ли пользователь, на той странице, на которую он уйдет с auth.php3

Здесь, видно, налицо опять перекрестный ник. Ну не может человек, имеющий сотнб постов, тиметь такие дремучие познания в РНР...
 

voland

Guest
Автор оригинала: RomikChef
мда, воланд, теперья вижу что гостевая книга для тебя - непосильный труд :)
Извини, что приставал в топике о форумах. Меня название форума с толку сбило.

А тебе надо на http://myphp.dem.ru
Ведь прежде, чем борщ варить, надо сначала научиться морковку резать...
Спасибо за ссылку, а то без документации ничего не сделать :(
 

RomikChef

Guest
Руслан. РНР - самодокументируемый язык. И в комментарии, _точно_ повторяющих названия функций - бессмы сленны.
А вот вместо неинформативного Query failed лучше выводить заму эту кверю и mysql_error()
Ну очень помогает при отладке.
 

ruslan

Guest
Вообще-то я просто взял пример из manual-а и немного его подправил... зачем велосипед изобретать?
 

ruslan

Guest
to RomikChef
Тогда уж надо что-то интереснее - хотя бы мопед :)

Ладно, закругляемся, а то в оффтопик уйдем ;)

to voland
Удачи в изучении, почаше в manual заглядывай, там есть почти все!
 

makRo

Guest
Автор оригинала: voland
Не могу удержаться и не сказать, что логин и пароль немного безопаснее передавать методом POST, а перед проверкой в базе парсить энти переменные addslashes()
 

voland

Guest
Вообщем большое спасибо всем кто мне помогал! :))
И напоследок совсем детский вопрос (для вас)
..............
else
{как тут указать чтоб кинуло на определенную страницу?;}
.................

Я делал так:

..............
else
{index.php3;}
.................
не открывает, я ща пойду читать документацию, а вы если не лень скажите как! :))

Заранее благодарен :))
 

RomikChef

Guest
макро, ты забыл написать про аутпут стартед.
 

RomikChef

Guest
его не надо прописать.
его тебе РНР сам напишет :)
а ты прибежишь сюда с вопросами - что это такое.
 

voland

Guest
Автор оригинала: RomikChef
его не надо прописать.
его тебе РНР сам напишет :)
а ты прибежишь сюда с вопросами - что это такое.
Ты был прав :))) Что это такое ??

Warning: Cannot add header information - headers already sent by (output started at c:\inet_serv\www\ourforum\func.php3:5)
 

RomikChef

Guest
FAQ draft. Any comments/corrections?

Warning: Cannot add header information - headers already sent by (output started at /www/script.php:5) on line 20

Для начала узнаем, как вообще общается броузер с сервером. Происходит это по специальному протоколу HTTP. К примеру, когда ты набраешь адрес, или нажимаешь на ссылку, броузер посылает HTTP запрос серверу. Сервер отвечает. Первыми в ответе ВСЕГДА идут HTTP заголовки. Хоть один. И только потом уже сервер посылает, а броузер принимает, текст, или картинку, или файл - в общем, что было запрошено. Cобственно, из-за этого правила - сначала заголовок, а потом информация, и происходит данная ошибка. РНР, для твоего удобства, посылает заголовки автоматически, как только скрипт начинает выдавать бровзеру информацию. Соответственно, если хоть один пробел был уже передан пользователю, заголовки уже ушли, и снова их послать уже никак не можно. А, как ты уже, наверное, догадался, команда header(), или setcookie, и некоторые другие, посылают HTTP заголовки.
Разберем теперь приведенное выше предупреждение.
Cannot add header information - headers already sent. Все ясно написано. "Не могу послать заголовок - поезд уже ушел" - пишет нам РНР. Дальше РНР сообщает, в каком скрипте и в какой его строке (output started at /www/script.php:5) произошел вывод информации, вызвавший автоматическую посылку заголовков. Очень легко найти и исправить. Может быть там html теги, моет быть, echo, а может и просто незамеченная пустая строка или пробел. Так вот сам hrader() и всю логику, которая его вызывает, надо поместить ДО любого вывода в броузер. просто перенести повыше в скрипте.
 

voland

Guest
Но ведь я должен открыть другую страницу в резудьтате проверки имени и пароля, а если я перенесу это повыше, то как я её открою из нужного мне места?
Или надо делать что- то типа

$header= header (location:xxx.php);
а вызывать её так
else
{$header;}
 

voland

Guest
Автор оригинала: makRo

Не могу удержаться и не сказать, что логин и пароль немного безопаснее передавать методом POST, а перед проверкой в базе парсить энти переменные addslashes()
Раз не удержался тогда скажи, что такое парсить??
И как это делать?
 

craze

Guest
Воланд!Прочитай книгу \Профессиональное РНР программирование\!
Станешь умным и перестанешь задавать глупые вопросы!
 

voland

Guest
Автор оригинала: craze
Воланд!Прочитай книгу \Профессиональное РНР программирование\!
Станешь умным и перестанешь задавать глупые вопросы!
Наскоко я помню, в этом разделе мона задавать любые вопросы, даже глупые!

Если ты можешь дать или купить мне эту книгу я её прочту!

я же не имею возможности купить или где-то взять эту книгу!
 
Сверху