[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: mysql + php id пользователя
shvedsd
Не магу написать следующее...
после регистрации каждый пользователь после нажатия по ссылке "профиль" он проходит на свою страницу
там выводятся его данные (сделал)
как это можно сделать?



Спустя 2 минуты, 7 секунд (2.05.2011 - 12:37) waldicom написал(а):
или так: /profile.php?id=xxx (id пользователя)
или просто /profile . Тогда данные беруться из сессии/кук/прочего подобного.

Спустя 6 минут, 20 секунд (2.05.2011 - 12:44) shvedsd написал(а):
./info.php?id=4
?id=4 мой профиль

в шапке есть ссылка
./info.php?id=
а как сделать чтобы для зарегистрированы пользователей был свой id
чтобы при нажатия каждый в свой профиль заходил

я просто не магу себе представить как это написать

Спустя 4 минуты, 9 секунд (2.05.2011 - 12:48) shvedsd написал(а):
$result=mysql_query("SELECT id FROM users");
if ($data=mysql_fetch_array($result)){
echo "<li><a href=info.php?id=".$data['id'].">Профиль</a></li>";
}

пробовал так но не получилось

Спустя 1 час, 56 минут, 10 секунд (2.05.2011 - 14:44) Эли4ка написал(а):
[php][<?php
// вся процедура работает на сессиях. Именно в ней хранятся данные пользователя, пока он находится на сайте. Очень важно запустить их в самом начале странички!!!
session_start();

include ("bd.php");// файл bd.php должен быть в той же папке, что и все остальные, если это не так, то просто измените путь
if (isset($_GET['id'])) {$id =$_GET['id']; } //id "хозяина" странички
else
{ exit("Вы зашли на страницу без идентификатора!");} //если не указали id, то выдаем ошибку
if (!preg_match("|^[\d]+$|", $id)) {
exit("<p>Неверный формат запроса! Проверьте URL</p>");//если id не число, то выдаем ошибку
}

if (!empty($_SESSION['login']) and !empty($_SESSION['password']))
{
//если существует логин и пароль в сессиях, то проверяем, действительны ли они
$login = $_SESSION['login'];
$password = $_SESSION['password'];
$result2 = mysql_query("SELECT id FROM users WHERE login='$login' AND password='$password' AND activation='1'",$db);
$myrow2 = mysql_fetch_array($result2);
if (empty($myrow2['id']))
{
//Если не действительны (может мы удалили этого пользователя из базы за плохое поведение)
exit("Вход на эту страницу разрешен только зарегистрированным пользователям!");
}
}
else {
//Проверяем, зарегистрирован ли вошедший
exit("Вход на эту страницу разрешен только зарегистрированным пользователям!"); }
$result = mysql_query("SELECT * FROM users WHERE id='$id'",$db);
$myrow = mysql_fetch_array($result);//Извлекаем все данные пользователя с данным id

if (empty($myrow['login'])) { exit("Пользователя не существует! Возможно он был удален или страница еще не создана!");} //если такого не существует

?>
<html>
<head>
<title><?php echo $myrow['login']; ?></title>
</head>
<body>
<h2>Пользователь "<?php echo $myrow['login']; ?>"</h2>


<?php
print <<<HERE
|<a href='page.php?id=$myrow2[id]'>Моя страница</a>|<a href='index.php'>Главная страница</a>|<a href='all_users.php'>Список пользователей</a>|<a href='exit.php'>Выход</a><br><br>
HERE;
//выше вывели меню

if ($myrow['login'] == $login) {
//Если страничка принадлежит вошедшему, то предлагаем изменить данные и выводим личные сообщения и чуть сам напишеш/php]..БД (sql) и скрипт регистрации создай заранее

Спустя 43 секунды (2.05.2011 - 14:45) nugle написал(а):
$result=mysql_query("SELECT id FROM users");
if ($data=mysql_fetch_array($result)){
echo "<li><a href='info.php?id=".$data['id']."'>Профиль</a></li>";
}

Спустя 14 минут, 28 секунд (2.05.2011 - 14:59) shvedsd написал(а):
nugle
Да знаю бред какой то написал)

Спустя 13 минут, 42 секунды (2.05.2011 - 15:13) shvedsd написал(а):
всё сделал как было но не чёто не тосделал вроде
<?php
$page='page.php';
include('head.php');
pagelogs($user, $page, move);
?>
<?php

// вся процедура работает на сессиях. Именно в ней хранятся данные пользователя, пока он находится на сайте. Очень важно запустить их в самом начале странички!!!
session_start();
if (isset($_GET['id'])) {$id =$_GET['id']; } //id "хозяина" странички
else
{ exit("Вы зашли на страницу без идентификатора!");} //если не указали id, то выдаем ошибку
if (!preg_match("|^[\d]+$|", $id)) {
exit("<p>Неверный формат запроса! Проверьте URL</p>");//если id не число, то выдаем ошибку
}

if (!empty($_SESSION['user']) and !empty($_SESSION['password']))
{
//если существует логин и пароль в сессиях, то проверяем, действительны ли они
$user = $_SESSION['user'];
$password = $_SESSION['password'];
$result2 = mysql_query("SELECT id FROM users WHERE user='$user' AND password='$password' AND activation='1'");
$myrow2 = mysql_fetch_array($result2);
if (empty($myrow2['id']))
{
//Если не действительны (может мы удалили этого пользователя из базы за плохое поведение)
exit("Вход на эту страницу разрешен только зарегистрированным пользователям!");
}
}

else {
//Проверяем, зарегистрирован ли вошедший
exit("Вход на эту страницу разрешен только зарегистрированным пользователям!"); }
$result = mysql_query("SELECT * FROM users WHERE id='$id'");
$myrow = mysql_fetch_array($result);//Извлекаем все данные пользователя с данным id

if (empty($myrow['user'])) { exit("Пользователя не существует! Возможно он был удален или страница еще не создана!");} //если такого не существует

?>
<html>
<
head>
<
title><?php echo $myrow['user']; ?></title>
</
head>
<
body>
<
h2>Пользователь "<?php echo $myrow['user']; ?>"</h2>


<?php
print <<<HERE
|<a href='page.php?id=$myrow2[id]'>Моя страница</a>|<a href='index.php'>Главная страница</a>|<a href='all_users.php'>Список пользователей</a>|<a href='exit.php'>Выход</a><br><br>
HERE;
//выше вывели меню
?>


вот Бд

CREATE TABLE IF NOT EXISTS `users` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`lastname` text NOT NULL,
`firstname` text NOT NULL,
`user` text CHARACTER SET utf8 COLLATE utf8_bin,
`name` text CHARACTER SET utf8 COLLATE utf8_bin,
`nick` text CHARACTER SET utf8 COLLATE utf8_bin,
`rank` int(11) DEFAULT NULL,
`password` text CHARACTER SET utf8 COLLATE utf8_bin,
`age` int(11) DEFAULT NULL,
`gender` text CHARACTER SET utf8 COLLATE utf8_bin,
`style` int(11) DEFAULT NULL,
`avatar` text CHARACTER SET utf8 COLLATE utf8_bin,
`numfoto` int(11) DEFAULT NULL,
`lasttime` text CHARACTER SET utf8 COLLATE utf8_bin,
`ip` text CHARACTER SET utf8 COLLATE utf8_bin,
`score` int(11) DEFAULT NULL,
`level` int(11) DEFAULT NULL,
`p_foto` int(11) DEFAULT NULL,
`p_blogs` int(11) DEFAULT NULL,
`p_groups` int(11) DEFAULT NULL,
`p_radio` int(11) DEFAULT NULL,
`p_super` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
)
ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=8 ;

Спустя 37 секунд (2.05.2011 - 15:13) shvedsd написал(а):
вроде ошибок невидно или я слепой их не вижу
надеюсь на ваше понимание и помощь

Спустя 1 час, 4 минуты, 58 секунд (2.05.2011 - 16:18) Invis1ble написал(а):
error_reporting(E_ALL); в начале скрипта тебе в помощь

Эли4ка
приведенный тобой пример иллюстрирует как НЕ надо писать скрипты smile.gif

Спустя 29 минут, 32 секунды (2.05.2011 - 16:48) shvedsd написал(а):
Invis1ble
мм ошибок нету

Спустя 5 минут, 41 секунда (2.05.2011 - 16:54) Invis1ble написал(а):
shvedsd
добавь к mysql_query() or die(mysql_error());

Спустя 5 минут, 28 секунд (2.05.2011 - 16:59) shvedsd написал(а):
Invis1ble
ошибки точно также небыли обнаружены
в 2 или в 3 строках это не как не написать что ли чтобы при нажатии профиль
перекидывал на свой id
то есть /info.php?id=

Спустя 5 минут, 9 секунд (2.05.2011 - 17:04) Invis1ble написал(а):
shvedsd
Ты как вообще этот скрипт вызываешь? покажи url.
Какой результат запуска скрипта? Хоть что-то пишет?

Спустя 3 минуты, 14 секунд (2.05.2011 - 17:07) shvedsd написал(а):
вот url
http://10.17.53.8/page.php?id=4
с моим id
4 я сам вписывал

пишет
Вход на эту страницу разрешен только зарегистрированным пользователям!

Спустя 6 минут, 27 секунд (2.05.2011 - 17:14) waldicom написал(а):
Может потому что

if (empty($myrow2['id']))
{
//Если не действительны (может мы удалили этого пользователя из базы за плохое поведение)
exit("Вход на эту страницу разрешен только зарегистрированным пользователям!");
}
}

else {
//Проверяем, зарегистрирован ли вошедший
exit("Вход на эту страницу разрешен только зарегистрированным пользователям!"); }


Цитата (shvedsd @ 2.05.2011 - 15:07)
http://10.17.53.8/page.php?id=4

Этот IP доступен только из Вашей сети. Из интернета на него прямого доступа нет

Спустя 12 минут, 5 секунд (2.05.2011 - 17:26) Invis1ble написал(а):
shvedsd
значит у тебя не выполняется условие
if (!empty($_SESSION['user']) and !empty($_SESSION['password']))

А вообще скрипт имхо кривой до ужаса, не советовал бы тебе его переделывать, проще другой написать. Поищи здесь.

Спустя 1 час, 13 минут, 15 секунд (2.05.2011 - 18:39) shvedsd написал(а):
так что во я хз чё ещё можно сделать

Спустя 3 минуты, 53 секунды (2.05.2011 - 18:43) shvedsd написал(а):
Invis1ble
ну щас зайду посмотрю

Спустя 14 часов, 51 минута, 40 секунд (3.05.2011 - 09:35) shvedsd написал(а):
всем спасибо проблему решил
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.