Преглед на лични съобщения

freboy

Registered
Как да направя да показва личните съобщения на потребителя?
Имам си файла за изпращане трябва ми смо за преглеждане на съобщенията! плс дайте някакъв файл сесията ми е id
 
<?php
$user = $_SESSION['imeto na sesiqta na potrebitelq'];
$query = mysql_query("SELECT * FROM `table` WHERE `user` = '$user'");
while ($row = mysql_fetch_array($query))
{
// И тук си изкарваш нужните неща
}
?>
 
kulov каза:
Дай структурата на дб-то :)
CREATE TABLE `msg` (
`id` int(11) NOT NULL auto_increment,
`to` varchar(11) collate cp1251_bulgarian_ci NOT NULL,
`name` varchar(11) character set latin1 NOT NULL,
`text` text collate cp1251_bulgarian_ci NOT NULL,
`by` varchar(11) collate cp1251_bulgarian_ci NOT NULL,
`read` tinyint(1) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_bulgarian_ci AUTO_INCREMENT=4 ;
 
<?php
$user = $_SESSION['user'];
$query = mysql_query("SELECT * FROM `msg` WHERE `user` = '$user'");
while ($row = mysql_fetch_array($query))
{
echo '
Относно: '.$row['to'].'
<br />
Име: '.$row['name'].'
<br />
Съобщение: <br />
'.$row['text'].'
<br />
Автор: '.$row['by'].'
';
}
?>
 
Значи там кадето е $logged[username] го направи на променливата, която садържа логнатия потребител, това поле read предполагам, че садържа дали е прочетено или не, предположих, че ако е прочетено трябва да се записва yes ако не е така, поправи си го, там в последната заявка ще го видиш :)

<?
$id=(int)$_GET['id'];

$query=mysql_query("SELECT * FROM `msg` WHERE `id` = $id' AND `to` = '$logged[username]'") or die(mysql_error());
$num=mysql_num_rows($query);
$row=mysql_fetch_array($query);
if ($num < 1)
{
echo "Няма такова съобщение за вас !";
}
else
{
$name=$row['name'];
$by=$row['by'];
$text=$row['text'];
$read=$row['read'];

echo "Съобщение от $by<br />";
echo "Заглавие на съобщението - $name<br />";
echo "Съобщение - $text<br />";

$update=mysql_query("UPDATE `msg` SET `read` = 'yes' WHERE `id` = '$id' AND `to` = '$logged[username]'") or die(mysql_error());
}
?>
 
kulov дава тази грешка You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' AND `to` = ''' at line 1
 
Код:
<?
$id=(int)$_GET['id'];

$query=mysql_query("SELECT * FROM `msg` WHERE `id` = '$id' AND `to` = '$logged[username]'") or die(mysql_error());
$num=mysql_num_rows($query);
$row=mysql_fetch_array($query);
if ($num < 1)
{
echo "Няма такова съобщение за вас !";
}
else
{
$name=$row['name'];
$by=$row['by'];
$text=$row['text'];
$read=$row['read'];

echo "Съобщение от $by<br />";
echo "Заглавие на съобщението - $name<br />";
echo "Съобщение - $text<br />";

$update=mysql_query("UPDATE `msg` SET `read` = 'yes' WHERE `id` = '$id' AND `to` = '$logged[username]'") or die(mysql_error());
}
?>
 
Нали отваряш файла да речем massage.php?id=ид-то на съобщението ? и самото съобщение е адресирано до логнатия потребител.. наместил ли си там това $logged[username] смисал променил ли си си го както е твоята променлива ..
 

Back
Горе