Razario-Agro Опубликовано 7 Ноября 2008 Жалоба Поделиться Опубликовано 7 Ноября 2008 Приветствую всех! Вопрос в следующем.Как сделать отдельный файл (php) с ником пользователя?То есть, допустим я набираю в браузере forum.ru/nik.php и на странице будет отаброжаться только ник пользователя и больше ничего, если это гость, то и будет слово гость. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
rgaraev Опубликовано 7 Ноября 2008 Жалоба Поделиться Опубликовано 7 Ноября 2008 http://www.ibresource.ru/db/821/ Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Razario-Agro Опубликовано 7 Ноября 2008 Автор Жалоба Поделиться Опубликовано 7 Ноября 2008 Это не то, мне нужен файл что выводит Ник пользователя и больше ничего, если пользователь не зарегистрирован на форуме и в данный момент нет куков, то выводится слово "Гость" а то что вы дали я так и не понял что это. p.s. В PHP я не соображаю. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Sannis Опубликовано 7 Ноября 2008 Жалоба Поделиться Опубликовано 7 Ноября 2008 К прочтению: http://www.ibresource.ru/forums/index.php?showtopic=54445. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Razario-Agro Опубликовано 8 Ноября 2008 Автор Жалоба Поделиться Опубликовано 8 Ноября 2008 Что за прикол давать ссылки на не понятные мне темы?Я же русским языком написал, что покажите мне файл что бы он выводил просто ник и всё, зачем мне чёрти что... я в ПХП не соображаю и по этому не знаю о чём идёт реч в тех постах что вы мне дали. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
InoMan Опубликовано 8 Ноября 2008 Жалоба Поделиться Опубликовано 8 Ноября 2008 Ну собственно каков вопрос - таков ответ. <?php $host = "localhost"; //хост для БД (обычно localhost) $user = "*****"; //логин для БД $pass = "*****"; //пароль для БД $bd_name = "forum"; //база форума (обычно forum) $link = mysql_connect($host, $user, $pass) or die ("Невозможно подключиться к MySQL"); mysql_select_db($bd_name) or die ("Невозможно выбрать БД "); $result = mysql_query("SELECT name FROM ibf_members"); //тут по желанию можно поменять nick на members_display_name. nick - это логин пользователя. members_display_name - это отображаемое имя. while($row = mysql_fetch_array($result)) { $file_name = $_SERVER['DOCUMENT_ROOT']."/forum/".$row['name'].".php"; //или members_display_name $file_descr = "<?php print '".$row['name']."'; ?>"; //или members_display_name $file_hendle = fopen($file_name, "w"); fputs($file_hendle,$file_descr); } ?> Этот скрипт заполнит папку forum никами ВСЕХ пользователей форума. Если хочешь только тех, которые залогинены - опираемся на куки и переписываем чуть скрипт:<?php $host = "localhost"; //хост для БД (обычно localhost) $user = "*****"; //логин для БД $pass = "*****"; //пароль для БД $bd_name = "forum"; //база форума (обычно forum) $link = mysql_connect($host, $user, $pass) or die ("Невозможно подключиться к MySQL"); mysql_select_db($bd_name) or die ("Невозможно выбрать БД "); $result = mysql_query("SELECT * FROM ibf_sessions"); while($row = mysql_fetch_array($result)) { if($row['member_name']) { $file_name = $_SERVER['DOCUMENT_ROOT']."/forum/".$row['member_name'].".php"; $file_descr = "<?php print '".$row['member_name']."'; ?>"; $file_hendle = fopen($file_name, "w"); fputs($file_hendle,$file_descr); } } ?> Следует помнить, что скрипт читает сессии .... а они какое то время хранятся в базе.И еще возникает вопрос. А как ты собираешься удалять файлы после использования ??? ;о) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Razario-Agro Опубликовано 8 Ноября 2008 Автор Жалоба Поделиться Опубликовано 8 Ноября 2008 Да ё моё, вы конечно извените, вы наверно не так меня поняли, мне нужен файл при котором не будуд создаваться какие ещё либо файлы или что то ещё, а просто набрав в адресной строке http://forum.ru/nik.php пользователь должен увидеть свой ник и не более того, если это набрал не зарегистрированный пользователь или пользователь не авторизовавшийся на форуме, он увидет слово "Гость" Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Black_Sun Опубликовано 8 Ноября 2008 Жалоба Поделиться Опубликовано 8 Ноября 2008 Он имеет ввиду не http://forum.ru/ник_пользователя.php а http://forum.ru/niсk.php само название nick.php и при запросе такого файла "пользователь должен увидеть свой ник и не более того, если это набрал не зарегистрированный пользователь или пользователь не авторизовавшийся на форуме, он увидет слово "Гость" Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Razario-Agro Опубликовано 8 Ноября 2008 Автор Жалоба Поделиться Опубликовано 8 Ноября 2008 Он имеет ввиду не http://forum.ru/ник_пользователя.php а http://forum.ru/niсk.php само название nick.php и при запросе такого файла "пользователь должен увидеть свой ник и не более того, если это набрал не зарегистрированный пользователь или пользователь не авторизовавшийся на форуме, он увидет слово "Гость"Совершенно верно. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
InoMan Опубликовано 9 Ноября 2008 Жалоба Поделиться Опубликовано 9 Ноября 2008 Совершенно верно.Ну сорри .. не так понял.Держи:<?php $host = "localhost"; //хост для БД (обычно localhost) $user = "*****"; //логин для БД $pass = "*****"; //пароль для БД $bd_name = "forum"; //база форума (обычно forum) $link = mysql_connect($host, $user, $pass) or die ("Невозможно подключиться к MySQL"); mysql_select_db($bd_name) or die ("Невозможно выбрать БД "); $session_id = @$_COOKIE['session_id']; if ($session_id) { $result = mysql_query("SELECT member_name FROM ibf_sessions WHERE id='".$session_id."'"); $row = mysql_fetch_array($result); if($row['member_name'] != "") print $row['member_name']; else print "Гость"; } else print "Похоже Вы попали сюда по ошибке."; ?> Файл надо кинуть в корень сайта. Соответственно вызывать таким образом: http://твой форум.ru/nick.php Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Razario-Agro Опубликовано 9 Ноября 2008 Автор Жалоба Поделиться Опубликовано 9 Ноября 2008 InoMan, вот за это Вам огромное спасибо! Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
WildRAID Опубликовано 9 Ноября 2008 Жалоба Поделиться Опубликовано 9 Ноября 2008 И прямо в session_id лепим SQL-инъекцию.) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
InoMan Опубликовано 9 Ноября 2008 Жалоба Поделиться Опубликовано 9 Ноября 2008 И прямо в session_id лепим SQL-инъекцию.)Палишь контору =))) Шутка. Ну да .... писал в 4 утра ... забыл обработать.То топикастартер:Строчку:$session_id = @$_COOKIE['session_id'];заменить на:$session_id = @preg_match("/[0-9a-z]/i", $_COOKIE['session_id']); Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.