![sonriente](http://static.forosdelweb.com/fdwtheme/images/smilies/smile.png)
Bueno, estoy haciendo un sistema de mensajeria privada entre usuarios de mi web.
Me funciona la bandeja de entrada,escribir un nuevo mensaje pero tengo problemas al leer un mensaje recibido.
Me muestra asi:
Titulo:
De:
Mensaje:
Y me falta que muestre el titulo del mensaje,el usuario que envio el mensaje, y el contenido del mensaje.
Mi tabla es esta:
Código PHP:
CREATE TABLE `messages` (
`message_id` int(11) NOT NULL auto_increment,
`from_user` varchar(65) character set latin1 collate latin1_general_ci NOT NULL,
`to_user` varchar(65) character set latin1 collate latin1_general_ci NOT NULL,
`message_title` varchar(65) NOT NULL,
`message_contents` longtext NOT NULL,
`message_read` int(11) NOT NULL default '0',
PRIMARY KEY (`message_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=21;
Código PHP:
<?php
//Conexion con la Base de Datos
$link=@dbConnect();
if (!$link) {
echo "Error conectando a la Base de Datos.";
}
if ($link =="202") {
echo "Error seleccionando la Base de Datos.";
}
echo '<br />
<br />';
if (isset($_SESSION['id']))
{
$id = $_SESSION['id'];
$username = $_SESSION['username'];
// obtengo los mensajes de la db
$get_messages = mysql_query("SELECT message_id FROM messages WHERE to_user='$username' ORDER BY message_id DESC") or die(mysql_error());
$get_messages2 = mysql_query("SELECT * FROM messages WHERE to_user='$username' ORDER BY message_id DESC") or die(mysql_error());
$num_messages = mysql_num_rows($get_messages);
// muestro el titulo de cada mensaje, con un enlace a su contenido
echo '<ul>';
for($count = 1; $count <= $num_messages; $count++)
{
$row = mysql_fetch_array($get_messages2);
//si el mensaje nuevo no ha sido leido muestro (nuevo)
if($row['message_read'] == 0)
{
echo '<a href="read_message.php?messageid=' . $row['message_id'] . '">' . $row['message_title'] . '</a>(Nuevo)<br>';
}else{
echo '<a href="read_message.php?messageid=' . $row['message_id'] . '">' . $row['message_title'] . '</a><br>';
}}
echo '</ul>';
echo '<form name="newmsgfrm" method="post" action="new_message.php">';
echo '<input type="submit" value="Enviar nuevo mensaje">';
echo '</form>';
}else{
echo 'Tienes que iniciar sesion.<br />';
}
?>
Código PHP:
<?php
//Conexion con la Base de Datos
$link=@dbConnect();
if (!$link) {
echo "Error conectando a la Base de Datos.";
}
if ($link =="202") {
echo "Error seleccionando la Base de Datos.";
}
if (isset($_SESSION['id'])) {
$id = $_SESSION['id'];
$username=$_SESSION['username'];
$messageid = $_POST['message'];
$message = mysql_query("SELECT * FROM messages WHERE message_id = '$message_id' AND to_user = '$username'");
$message=mysql_fetch_assoc($message);
echo "<h1>Titulo: ".$message['message_title']."</h1><br><br>";
echo "<h3>De: ".$message['from_user']."<br><br></h3>";
echo "<h3>Mensaje: <br>".$message['message_contents']."<br></h3>";
echo '<form name="backfrm" method="post" action="index.php">';
echo '<input type="submit" value="Volver">';
echo '</form>';
}else{
echo 'tienes que <a href="../login.php">iniciar sesion</a> para ver tus mensajes.';
}
?>
Bueno el problema es que no se ve el contenido del mensaje,quien lo mando y el titulo.
Muchas gracias y saludos!
![sonriente](http://static.forosdelweb.com/fdwtheme/images/smilies/smile.png)