Профил

Статус
Not open for further replies.

botevis2

Registered
Това е кодът ми за профила обаче примерно съм в профила на някой с ID20
и горе в лентата за адреси като се оптиам да отида в някой друг профил като напиша ID15 примерно не ми променя стойностите $user,$realname и тнт
Код:
<?php
session_start(); 
include "config.php";
$users_q = mysql_query("SELECT id,username,realname,realfamily,pic,date FROM `users` WHERE `username`='".$_SESSION['username']."';");
while($r = mysql_fetch_array($users_q))
{
$user=$r['username'];
$realname=$r['realname'];
$realfamily=$r['realfamily'];
$pic=$r['pic'];
$date=$r['date'];
echo "Профил на:$realname $realfamily <hr />";
echo "<img src='Upload/$pic' width='180px' height='230px' border='5'></img>";
echo "<b>Регистриран на:</b>$date";
}

?>
 
Проблемът идва от там,че по този начин ти можеш да видиш само собствения си профил.В заявката за условие посочваш:
PHP:
WHERE `username`='".$_SESSION['username']."
Ти търсиш по сесия.За да работи както искаш,да можеш да прегледаждаш всички профили го направи така:
PHP:
WHERE id='$_GET[id]'
Другото,което трябва да направиш е да ескейпнеш гет параметъра id,за да се предпазиш от атаки:
PHP:
 $id = int($_GET['id']);
 WHERE id='$id' //и условието става така
 
Извади ми грешка Call to undefined function int() in D:\xampp\htdocs\login\profile.php on line 4
Код:
<?php
session_start(); 
include "config.php";
$id = int($_GET['id']);
$users_q = mysql_query("SELECT id,username,realname,realfamily,pic,date FROM `users` WHERE id='$id'");
while($r = mysql_fetch_array($users_q))
{
$user=$r['username'];
$realname=$r['realname'];
$realfamily=$r['realfamily'];
$pic=$r['pic'];
$date=$r['date'];
echo "Профил на:$realname $realfamily <hr />";
echo "<img src='Upload/$pic' width='180px' height='230px' border='5'></img>";
echo "<b>Регистриран на:</b>$date";
}

?>
 
Направих го изкара Notice: Undefined index: id in D:\xampp\htdocs\login\profile.php on line 4 сложих isset и сега страницата е празна няма нищо не изкарва нищо :(
 
Амии твоето поле в базата данни id ли е?
И подаваш ли GET параметър в url-то?
Примерно www.sitename.com/users.php?id=15

П.С - В такъв случай не би трябвало да има проблем...
 
Другото,което се сещам е,че може би подаваш параметър с id,което не съществува в базата данни?Други идеи нямам... :D
 
Код:
<a href="profile.php?user=<?php echo $row['id'];?>">Профил</a>
Така изкарвам към профила

Базата ми данни е tutorial иам таблица users и в нея 10тина колони ID то е
AI и е PRIMARY KEY
 
botevis2 каза:
Код:
<a href="profile.php?user=<?php echo $row['id'];?>">Профил</a>
Така изкарвам към профила

Базата ми данни е tutorial иам таблица users и в нея 10тина колони ID то е
AI и е PRIMARY KEY


<a href="profile.php?id=<?php echo $row['id'];?>">
Тук трябва да е id вместо user.
 
Имаме напредък извади ми Профил на:,Снимката (това че не е намерана снимка и тнт) обаче не и това което трябва да извежда от BD то и ДА имам информация за определния потребител в bd to :)
 
botevis2 каза:
Имаме напредък извади ми Профил на:,Снимката (това че не е намерана снимка и тнт) обаче не и това което трябва да извежда от BD то и ДА имам информация за определния потребител в bd to :)
Друго,което евентуално може да е проблем - полето date го промени.Да речем го направи reg_date.До колкото знам date е запазена дума.Не забравяй да промениш и кода след това,където го ползваш.

П.С - Не видях,че си писал.Радвам се,че успях да ти помогна.
 
Оправих се просто върнах $id = (int)($_GET['id']); ако можех да ти дам повече от една точка с удоволствие бих го напраил навъртай се за следващото ми питане ;) :D Система за приятели търся :)
 
Статус
Not open for further replies.

Back
Горе