У меня такие проблемы, помогите пожалуйста!!!
Проблема №1:
Нужно сделать, так что бы все зарегистрированные пользователи отображались, т.е. я вывожу все логины из бд!!!Я нашел в книги что это делается при помощи while вот так:
$user = mysql_query("SELECT * FROM users");
while ($row = mysql_fetch_array($user))
{
echo $row['login'];
}
А теперь объясните пожалуйста почему если я делаю так:
$user = mysql_fetch_array(mysql_query("SELECT * FROM users"));
echo $user['login'];
У меня выводит только логин из первой строки в бд?
И почему не работает вот так:
while ($user = mysql_fetch_array(mysql_query("SELECT * FROM users")))
{
echo $user['login'];
}
или так:
$user = mysql_fetch_array(mysql_query("SELECT * FROM users"));
while ($user)
{
echo $user['login'];
}
Не работает! И объясните мне почему while, и вообще объясните про него пожалуйста, я читал и в мануле, и в книге но увы не дошло! Прошу объясните для особо одаренных, и если можете привелите пример когда его надо использовать, ну вообщем подоходчевей! Спасибо!
Вопрос №2:
Надо что бы при нажатии на один из выведенных логинов пользователь переходил на страницу и там отображалась информация о том пользователе на которого он нажал!
Я решил, эту проблему так к каждому выведеному логину крепим ссылку на аккаунт, и сохраняем логин в сессию, а потом на странице, достаем из бд информацию от туда где логин равен логины в сессии!Так?
Вот код:
$user = mysql_query("SELECT * FROM users");
while ($row = mysql_fetch_array($user))
{
echo "<a href='account.php'>".$_SESSION['row']=$row['login']."<br>";
}
Вот а проблема в том, что когда я вывожу в аккаунте логин который в сессии выводится только логи который был последним в списке выведенных логинов!
Помогите пожалуйста решить эти проблемы!!!
Зараннее ВСЕМ огромное СПАСИБО!!!
Спустя 15 минут, 42 секунды (27.06.2010 - 14:17) Lenarfate написал(а):
while - это цикл. до тех пор, пока условие истинно, то есть пока $row = ассоциативный массив данных из базы, будет повторяться тело цикла, то есть то, что между фигурными скобками {}
Спустя 6 минут, 51 секунда (27.06.2010 - 14:24) Lenarfate написал(а):
Цитата |
Вот а проблема в том, что когда я вывожу в аккаунте логин который в сессии выводится только логи который был последним в списке выведенных логинов! |
а так
$user = mysql_query("SELECT * FROM users");
$i = 0;
while ($row = mysql_fetch_array($user))
{
$i++;
echo "<a href='account.php'>".$_SESSION['row'][$i]=$row['login']."<br>";
}
??
ps размещай темы правильно. твой вопрос ни коем образом не касается кодировок!
Спустя 1 день, 3 часа, 25 минут, 17 секунд (28.06.2010 - 17:49) PiratXXX написал(а):
Lenarfate
неа! так оно выводит только первый символ логина, а при выведении на др. странице всеравно тоже самое!
неа! так оно выводит только первый символ логина, а при выведении на др. странице всеравно тоже самое!
Спустя 30 минут, 21 секунда (28.06.2010 - 18:19) tomash написал(а):
PiratXXX
В сессию ты должен зположить логин только после аутентификации пользователя. Да и не логин, а лучше хэш логина.
В сессию ты должен зположить логин только после аутентификации пользователя. Да и не логин, а лучше хэш логина.
Спустя 2 часа, 10 минут, 22 секунды (28.06.2010 - 20:30) linker написал(а):
if (!($Resource = mysql_query("select * from users", $Handler))) { die('ошибка'); }
while($User = mysql_fetch_assoc($Resource))
{
echo '<a href="account.php?login=' . $User['login'] . '">' . $User['login'] . '</a><br>';
}
Спустя 10 минут, 26 секунд (28.06.2010 - 20:40) PiratXXX написал(а):
linker
спасибо!
Ну да это я понял! а вот почему или как мне заносить в сессею логин выведенного пользователя и что бы на другой странице отображалась его инфа, а то я заношу, а в сессию поподает только логин последнего из выведенных пользователей!
спасибо!
Ну да это я понял! а вот почему или как мне заносить в сессею логин выведенного пользователя и что бы на другой странице отображалась его инфа, а то я заношу, а в сессию поподает только логин последнего из выведенных пользователей!
Спустя 9 минут, 4 секунды (28.06.2010 - 20:49) linker написал(а):
Цитата (PiratXXX @ 28.06.2010 - 17:40) |
linker спасибо! Ну да это я понял! а вот почему или как мне заносить в сессею логин выведенного пользователя и что бы на другой странице отображалась его инфа, а то я заношу, а в сессию поподает только логин последнего из выведенных пользователей! |
Зачем в сессию заносить логин пользователя? Там же получается ссылка вида:
http://mysite.ru/account.php?login=VasyaPupkin
В этом скрипте тупо пишите:
<?php
if (!isset($_GET['login'])) { die('Нет такого юзверя'); }
$Login = $_GET['login']
/* тут обязательно зачищаем $Login от всякого рода скрипткиддис хаков */
if (!($Resource = mysql_query("select * from users where login like '$Login'", $Handler)))
{
die('Ошибка');
}
if ($User = mysql_fetch_assoc($Resource))
{
echo 'Логин ' . $User['login'] . '<br>';
echo 'Полное имя ' . $User['fullname'] . '<br>';
......... // и etc.
}
?>
Спустя 58 секунд (28.06.2010 - 20:50) PiratXXX написал(а):
вообщем хочу сделать что типа как на этом форуме! внизу отображаются пользователи онлайн, а мне надо что отображались все зарегиные пользователи(ну с этим я разобрался), и кликаешь на ник юзера и выводится его аккаунт вот как это сделать?
Спустя 3 часа, 2 минуты, 48 секунд (28.06.2010 - 23:53) PiratXXX написал(а):
linker
спасибо тибе!!! все понял все!!!
а как сделать ссылку вида http://vkontakte.ru/id114870284???
спасибо тибе!!! все понял все!!!
а как сделать ссылку вида http://vkontakte.ru/id114870284???
Спустя 6 часов, 42 минуты, 49 секунд (29.06.2010 - 06:36) Basili4 написал(а):
http://vkontakte.ru/id114870284??? почитай про ЧПУ
вот почитай тут такай же вопрос про ЧПУ http://phpforum.ru/index.php?showtopic=30615&hl=
вот почитай тут такай же вопрос про ЧПУ http://phpforum.ru/index.php?showtopic=30615&hl=
_____________
http://flibro.com/