|
|
|
| столкнулся вот с такой проблемой, при выборке данных из таблици проверяеться только последняя запись. Подскажите кто знает в чём ошибка.
Переменные $lg и $ps передаются из формы.
<?
include"conf.cf";
@mysql_connect("$cfconf5", "$cfconf6", "$cfconf7") or die("Нет связи с сервером БД!");
@mysql_select_db("$cfconf6") or die("Нет связи с БД!");
$srg1="SELECT log,pass FROM hr_users";
$srg2 = mysql_query($srg1);
$x = 0;
while ($x < mysql_numrows($srg2)) :
$r1 = mysql_result($srg2, $x, 'log');
$r2 = mysql_result($srg2, $x, 'pass');
$x++;
if(($r1 === $lg)&&($r2===$ps))
{echo"вы вошли";}
else
{echo"не верный логин и пароль";}
endwhile;
mysql_close();
?>
|
| |
|
|
|
|
|
|
|
для: Crazy.Fox
(27.06.2006 в 10:32)
| | А в базе все записи? | |
|
|
|
|
|
|
|
для: lexal
(27.06.2006 в 10:45)
| | создаю к примеру 3-4 записи, выбераются все, но проверяется только последняя, в чём проблема не понимаю | |
|
|
|
|
|
|
|
для: Crazy.Fox
(27.06.2006 в 10:32)
| | Хм... так а у вас цикл по результирующей таблице отсуствует... | |
|
|
|
|
|
|
|
для: cheops
(27.06.2006 в 11:23)
| | хм.. а поподробней если не сложно конечно | |
|
|
|
|
|
|
|
для: Crazy.Fox
(27.06.2006 в 11:42)
| | Лучше заменить блок
<?php
while ($x < mysql_numrows($srg2)) :
$r1 = mysql_result($srg2, $x, 'log');
$r2 = mysql_result($srg2, $x, 'pass');
$x++;
if(($r1 === $lg)&&($r2===$ps))
{echo"вы вошли";}
else
{echo"не верный логин и пароль";}
endwhile;
?>
|
на
<?php
if($x < mysql_numrows($srg2))
while ($result = mysql_fetch_array($srg2)) :
$x++;
if(($result['log'] === $lg)&&($result['pass']===$ps))
{echo"вы вошли";}
else
{echo"не верный логин и пароль";}
endwhile;
?>
|
А вообще при авторизации лучше не перебирать циклом результирующую таблицу, а проверить это в запросе, так как это описывается в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=80 | |
|
|
|
|
|
|
|
для: cheops
(27.06.2006 в 11:52)
| | Огромное спасибо, обязательно попробую может поможет. | |
|
|
|