Перейти к контенту

PHP файл с ником пользователя


Рекомендуемые сообщения

Приветствую всех!

 

Вопрос в следующем.

Как сделать отдельный файл (php) с ником пользователя?

То есть, допустим я набираю в браузере forum.ru/nik.php и на странице будет отаброжаться только ник пользователя и больше ничего, если это гость, то и будет слово гость.

Ссылка на комментарий
Поделиться на других сайтах

Это не то, мне нужен файл что выводит Ник пользователя и больше ничего, если пользователь не зарегистрирован на форуме и в данный момент нет куков, то выводится слово "Гость" а то что вы дали я так и не понял что это.

 

p.s. В PHP я не соображаю.

Ссылка на комментарий
Поделиться на других сайтах

Ссылка на комментарий
Поделиться на других сайтах

Что за прикол давать ссылки на не понятные мне темы?

Я же русским языком написал, что покажите мне файл что бы он выводил просто ник и всё, зачем мне чёрти что... я в ПХП не соображаю и по этому не знаю о чём идёт реч в тех постах что вы мне дали.

Ссылка на комментарий
Поделиться на других сайтах

Ну собственно каков вопрос - таков ответ.

 

<?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);
		  }
}
?>

 

Следует помнить, что скрипт читает сессии .... а они какое то время хранятся в базе.

И еще возникает вопрос. А как ты собираешься удалять файлы после использования ??? ;о)

Ссылка на комментарий
Поделиться на других сайтах

Да ё моё, вы конечно извените, вы наверно не так меня поняли, мне нужен файл при котором не будуд создаваться какие ещё либо файлы или что то ещё, а просто набрав в адресной строке http://forum.ru/nik.php пользователь должен увидеть свой ник и не более того, если это набрал не зарегистрированный пользователь или пользователь не авторизовавшийся на форуме, он увидет слово "Гость"
Ссылка на комментарий
Поделиться на других сайтах

Он имеет ввиду не http://forum.ru/ник_пользователя.php а http://forum.ru/niсk.php само название nick.php и при запросе такого файла "пользователь должен увидеть свой ник и не более того, если это набрал не зарегистрированный пользователь или пользователь не авторизовавшийся на форуме, он увидет слово "Гость"
Ссылка на комментарий
Поделиться на других сайтах

Он имеет ввиду не http://forum.ru/ник_пользователя.php а http://forum.ru/niсk.php само название nick.php и при запросе такого файла "пользователь должен увидеть свой ник и не более того, если это набрал не зарегистрированный пользователь или пользователь не авторизовавшийся на форуме, он увидет слово "Гость"

Совершенно верно.

Ссылка на комментарий
Поделиться на других сайтах

Совершенно верно.

Ну сорри .. не так понял.

Держи:

<?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

Ссылка на комментарий
Поделиться на других сайтах

И прямо в session_id лепим SQL-инъекцию.)

Палишь контору =))) Шутка.

 

Ну да .... писал в 4 утра ... забыл обработать.

То топикастартер:

Строчку:

$session_id = @$_COOKIE['session_id'];

заменить на:

$session_id = @preg_match("/[0-9a-z]/i", $_COOKIE['session_id']);

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.