Вход на страницу под именем и паролем

Wander-PVS

Новичок
Вход на страницу под именем и паролем

Имеется таблица users: name, password
На 1 странице есть форма с заполнением имени и пароля:

<FORM NAME='users' METHOD='POST' ACTION='2.php'>
Имя: <input type=text name="login" size=15><br>
Пароль:<input type=text name="password" size=15><br>
<input type=submit value=' Вход '>
</form>

При нажатии на кнопку "Вход", открывается 2-я страница, где проверяется соответствие имени и пароля с полем в таблице. Вот скрипт, но он не работает:

<?
$hostname = "localhost";
$username = "root";
$password = "";

MYSQL_CONNECT($hostname,$username,$password);
mysql_select_db("good");

$r=mysql_query("select * from users");

if {$login=$r['users.name'], $password=$r['users.password'], echo "cool"} else {echo "bad"};

MYSQL_CLOSE();
?>

Подскажите, как правильно написать проверку соответствия имени и пароля с данными в таблице?
 

440hz

php.ru
Wander-PVS
для начала посмотреть что возвращает mysql_query() на самом деле
 

Wander-PVS

Новичок
440hz
$r=mysql_query("select * from users");
$f=mysql_fetch_assoc ($r);
Теперь возвращает.
А вот условие if {$login=$r['users.name'], $password=$r['users.password'] echo "cool"} else {echo "bad"}; НЕ РАБОТАЕТ
 

Profic

just Profic (PHP5 BetaTeam)
Wander-PVS
Чтобы понять где ошибка. И это раз.
Далее, приведенный скрипт не рабочий, ибо в php нет констукций подобных этой:
if {$login=$r['users.name'], $password=$r['users.password'], echo "cool"} else {echo "bad"};
 

Wander-PVS

Новичок
Profic
Ну вот правильный код:
if ($login=$r['users.name'] and $password=$r['users.password']) {echo "cool";} else {echo "bad";}
Но теперь постоянно выводится слово BAD :(
В чем ошибка?
 

SiMM

Новичок
[m]var_dump[/m]($r);
[m]language.operators.assignment[/m] vs [m]language.operators.comparison[/m]
[m]language.operators#language.operators.precedence[/m]
 

Dreammaker

***=Ф=***
1) Запрос составлен неправильно, точнее нелогично. Сделай запрос строки с логином и паролем.
2) А потом проверяй сколько срок выдал майскуэль-квери..
3) и не забывай о регистер глобалс офф.

Это так, чтобы не давать готового кода :)
 

Wander-PVS

Новичок
Dreammaker
1) сделано
2) выдает 1 строку (больше в таблице и нет, и не надо)
3) что такое вообще регистр глобалс офф?
 

kolobok

fPanel Billing Coder
Wander-PVS
Слушай, ты читать умеешь? или ты только писатель?
Многоуважаемые SiMM и Profic тебе НАПИСАЛИ
что надо сделать для начала. Если ты не можешь понять, что у тебя выводится на экран функцией
PHP:
var_dump($r);
, то иди читай ман, до тех пор пока из ушей дым не пойдет.
Намекну:
Ответь на вопрос, есть ли в тексте выводимом на экран строка содержащяя users.name или name?

-~{}~ 13.10.05 22:34:

2) выдает 1 строку (больше в таблице и нет, и не надо)
а зачем тогда вообще таблица? если не будет больше строк?
3) что такое вообще регистр глобалс офф?
http://ru2.php.net/register_globals
 

Crystal

Новичок
А вообще, разве правильно писать
if ($login=$r['users.name'] and $password=$r['users.password']) ?
по-моему, как минимум надо
if (($login==$r['users.name']) &&( $password==$r['users.password']))
 

kvf77

Red Devil
Crystal


это еще чето за бред? я понимаю, что лишних скобок не бывает - но каким образом они влияют на правильность записи? ровно как и && вместо and?
 

Фанат

oncle terrible
Команда форума
kvf77
кузьма, может, всё-таки, умеришь пыл?
Ты слишком часто ошибаешься, чтобы так легко разбрасываться словами типа бред.
или будь внимательнее, или вежливее
 

kvf77

Red Devil
Фанат

я постараюсь совместить внимательность с вежливостью - можно? :)

к сожалению, да, иногда читаю по диагонали, признаю тут свою ошибку, хотя не так уж и часто я их допускаю
 
Сверху