Написал простейшую систему регистрации, всё работает отлично, но всё "отлично" просто не может быть.
Помогите правильно задать условие для выборки из БД. Нужно что бы по переходе на страницу пользователя с id = 7, с базы выводился именно пользователь с id = 7, а не пользователь, что сессия "живая". Туго обьяснил, но может, что-то да получится. Вот сам код просмотра профиля:
<?php session_start();
require 'blocks/db.php';
$login = $_SESSION['login']; $password = $_SESSION['password']; $id = $_SESSION['id'];
$result6 = mysql_query("SELECT * FROM users WHERE `login` = '".$login."' AND `id` = '".$id."'", $db);
$myrow6 = mysql_fetch_array($result6);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta name="author" content="Erwin Aligam - styleshout.com" />
<meta name="description" content="Site Description Here" />
<meta name="keywords" content="keywords, here" />
<meta name="robots" content="index, follow, noarchive" />
<meta name="googlebot" content="noarchive" />
<link rel="stylesheet" href="templates/UrbanArtist.css" type="text/css" />
<title><?php if (isset($_SESSION['login'])){echo 'Информация о профиле: ' .$_SESSION['login'];} else {echo "Привет Гость!";}?></title>
</head>
<body>
<!-- wrap starts here -->
<div id="wrap">
<?php include 'blocks/header.php';?>
</div>
<!-- content-wrap starts -->
<div id="content-wrap">
<div id="main">
<?php
if ($myrow6['vk'] !== "")
{
$vk = '<a href='.$myrow6['vk'].'>VK</a>';
}
else
{
$vk ="Меня нету в контакте =(";
}
if(!$_SESSION['login']) {
?>
<form action="test_reg.php" method="post">
<h1>Вход:</h1><br>
<label>Логин:</label>
<input name="login" type="text"value="" size="23" /><br><br>
<label>Пароль:</label>
<input name="password" type="password" size="23" /><br><br>
<label><input name="rememberme" type="checkbox" checked="checked" value="forever"/> Запомнить меня</label><br><br>
<br>
<div class="clear"></div>
<input type="submit" name="submit" value="Ввойти"/>
<br><br><br>
<a style="text-align:center; font-size:22px" href="register.php">Зарегистрироватся.</a>
</form>
<?php } else {?>
<h2>Страница просмотра профиля: <a href='user.php'><?php echo $_SESSION['login'];?></a></h2>
<table width="545">
<tr>
<td><strong>Имя:</strong></td>
<td><?php echo $myrow6['name'];?></td>
</tr>
<tr>
<td><strong>Фамилия:</strong></td>
<td><?php echo $myrow6['last_name'];?></td>
</tr>
<tr>
<td><strong>Дата рождения:</strong></td>
<td><?php echo $myrow6['date'];?></td>
</tr>
<tr>
<td><strong>Номер телефона:</strong></td>
<td><?php echo $myrow6['mob'];?></td>
</tr>
<tr>
<td><strong>ICQ:</strong></td>
<td><?php echo $myrow6['icq'];?></td>
</tr>
<tr>
<td><strong>Skype:</strong></td>
<td><?php echo $myrow6['skype'];?></td>
</tr>
<tr>
<td><strong>VK:</strong></td>
<td><?php echo $vk;?></td>
</tr>
<tr>
<td><strong>Логин на Forum.ck.ua:</strong></td>
<td><?php echo $myrow6['forum'];?></td>
</tr>
</table>
<?php
if ($_SESSION['login'] == $myrow6['login'])
{
echo"
<a href='user_edit.php'>Редактировать профиль</a><br><br>
<a href='all_users.php'>Список пользователей</a><br><br>
<a href='exit.php'>Выход</a><br><br>";
}
else
{
echo "Отправить ЛС";
}
}
?>
</div>
<!----------------------------->
<?php include 'blocks/right.php'; ?>
<!-- content-wrap ends-->
</div>
<?php include 'blocks/footer.php';?>
<!-- wrap ends here -->
</div>
</body>
</html>
Спустя 5 минут, 25 секунд (25.12.2010 - 23:33) inpost написал(а):
$id = $_SESSION['id'] или $_GET ? или $_POST?
Спустя 2 минуты, 35 секунд (25.12.2010 - 23:35) RCuPeR написал(а):
Не понял постановку вопроса ?
$id = $_SESSION['id'] возвращает 100% правильный результат.
$id = $_SESSION['id'] возвращает 100% правильный результат.
Спустя 2 минуты, 58 секунд (25.12.2010 - 23:38) inpost написал(а):
Ты ведь у Попова проходил про $_GET... Тебе надо получить ID из $_GET, и сделать выборку по нему.
Спустя 10 минут, 53 секунды (25.12.2010 - 23:49) RCuPeR написал(а):
Да, что ты заладил с этим Поповым ? Нормально ведь спрашиваю, тем более, что система самописная (мною) + учтены многие замечания от ирбис-тим.
А сейчас, давай, пожалуйста по теме и без флуда:
Зачем id передавать через $_GET если и $_SESSION справляется на ура ?
Сам знаешь, я не мастер, но на моё мнение-нужно подлатать запрос и условие вывода информации о пользователе, а что именно хз.
А сейчас, давай, пожалуйста по теме и без флуда:
Зачем id передавать через $_GET если и $_SESSION справляется на ура ?
Сам знаешь, я не мастер, но на моё мнение-нужно подлатать запрос и условие вывода информации о пользователе, а что именно хз.
Спустя 2 минуты, 49 секунд (25.12.2010 - 23:52) inpost написал(а):
Нужно что бы по переходе на страницу пользователя с id = 7! КАК ТЫ ПЕРЕХОДИШЬ? Конечно же так:
index.php?id=7
что значит ?id=7 ? Это значит, что $_GET['id']=7.
И теперь вместо:
$result6 = mysql_query("SELECT * FROM users WHERE `login` = '".$login."' AND `id` = '".$_SESSION['id']."'", $db);
ты пишешь:
$result6 = mysql_query("SELECT * FROM users WHERE `id` = '".$_GET['id']."'", $db);
Я же уже ответил, передаёшь через $_GET, и получаешь так данные. Ты делаешь выборку пользователя, чья сессия, а не чья страница.
index.php?id=7
что значит ?id=7 ? Это значит, что $_GET['id']=7.
И теперь вместо:
$result6 = mysql_query("SELECT * FROM users WHERE `login` = '".$login."' AND `id` = '".$_SESSION['id']."'", $db);
ты пишешь:
$result6 = mysql_query("SELECT * FROM users WHERE `id` = '".$_GET['id']."'", $db);
Я же уже ответил, передаёшь через $_GET, и получаешь так данные. Ты делаешь выборку пользователя, чья сессия, а не чья страница.
Спустя 3 минуты, 39 секунд (25.12.2010 - 23:56) inpost написал(а):
И вообще, я тоже самое ранее писал: "Тебе надо получить ID из $_GET, и сделать выборку по нему."
Спустя 3 минуты, 47 секунд (25.12.2010 - 23:59) RCuPeR написал(а):
О! Спасибо! Всё прояснилось! Огромное спасибо =)
_____________
Гнусный социопат с комплексом Бога.