Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/01/2011, 09:55
Avatar de ale_dla
ale_dla
 
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 189
Antigüedad: 15 años, 11 meses
Puntos: 3
Sistema mensajes privados php

Hola a todos! como va? espero que bien.
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_idint(11NOT NULL auto_increment,
  `
from_uservarchar(65character set latin1 collate latin1_general_ci NOT NULL,
  `
to_uservarchar(65character set latin1 collate latin1_general_ci NOT NULL,
  `
message_titlevarchar(65NOT NULL,
  `
message_contentslongtext NOT NULL,
  `
message_readint(11NOT NULL default '0',
  
PRIMARY KEY  (`message_id`)
ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=21
El codigo de buzon de entrada es este:
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 />';
   }
   
?>
El codigo para leer el mensaje:

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!