bueno segui el consejo de waldragon de mandar el id por medio del _GET y tenia razón solo que yo tenia mal una parte del codigo y era esta:
Código PHP:
$sent = mysql_query("SELECT * FROM mensajeria WHERE destinatario='".$_GET['id']."'") or die(mysql_error());
reemplazar por esto:
Código PHP:
$sent = mysql_query("SELECT * FROM mensajeria WHERE id='".$_GET['id']."'") or die(mysql_error());
lo pude hacer solo a esepción del codigo con la cantidad de mensajes en la bandeja de entrada que waldragon me fasilito.
mensajes.php
Código PHP:
<html>
<head><title>Mensajes</title>
</head>
<body>
<center>
<table width="100%" border="0" align="center" cellpadding="4" cellspacing="0" class="tabla_subtitulo">
<form name="form1">
<tr>
<td width="40%"> <?php
session_start();
echo"<script language=\"JavaScript\" type=\"text/JavaScript\">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+\".location='\"+selObj.options[selObj.selectedIndex].value+\"'\");
if (restore) selObj.selectedIndex=0;
}
//-->
</script>";
include('config.php'); // incluímos los datos de acceso a la BD
if(!isset($_SESSION['usuario_id']))
{
header("Location: index.php");
}
else
{
//aqui asegurate de poner la tabla correcta, mensajeria o mensajeriaenviados, segun corresponda
$sent="SELECT * FROM mensajeria WHERE destinatario='".$us."' AND estado=0";//en where estado puse 0 que me imagino es cuando todavia no leyo el mensaje, ok?.
$result = mysql_query($sent);
$nummensajes = mysql_num_rows($result);
//ahora hacemos que muestre un mensaje si hay mensajes nuevos sin leer
if($nummensajes>0){
echo"Tienes $nummensajes sin leer<br />";//tambien puedes ponerle un enlace hacia la seccion
// en donde se muestran dichos mensajes, para que quede mejor.
}else{
echo"No tienes nuevos mensajes privados<br />";
}
$us = $_SESSION['usuario_nombre'];
$consulta = mysql_query("SELECT * FROM usuarios WHERE usuario_nombre = '$us'");
$row = mysql_fetch_array($consulta);
echo " Bienvenido: <b>$row[1]</b>";
}
?></td>
<td width="60%"><div align="center">
<select name="menu1" onChange="MM_jumpMenu('parent',this,0)">
<option>-- Selecciona bandeja --</option>
<option value="index.php?page_id=mensajes&id=band">Bandeja de Entrada</option>
<option value="index.php?page_id=mensajes&id=envi">Bandeja de Salida</option>
</select>
| <a href="index.php?page_id=enviar_mensaje"><b>Nuevo Mensaje</b> </a></div></td>
</tr>
</form>
</table></center>
<?php
$us = $_SESSION['usuario_nombre'];
$id = $_GET['id'];
$msj = @$_GET['msj'];
if($id == 'band')
{
echo "<center><h3>Bandeja de Entrada</h3></center>";
$consulta = mysql_query("SELECT * FROM usuarios WHERE usuario_nombre = '$us'");
$row0 = mysql_fetch_array($consulta);
$bandeja = mysql_query("SELECT * FROM mensajeria WHERE destinatario = '$row0[1]' ORDER BY id") or die("Error");
if(0 < mysql_num_rows($bandeja))
{
while($row = mysql_fetch_array($bandeja))
{
echo "<table width='550' border='0' align='center' cellpadding='1' cellspacing='1'>
<tr>
<td width='53' align='center' valign='top' bgcolor='#999999'><strong>ID</strong></td>
<td width='426' align='center' valign='top' bgcolor='#999999'><strong>Asunto</strong></td>
<td width='321' align='center' valign='top' bgcolor='#999999'><strong>De</strong></td>
<td width='321' align='center' valign='top' bgcolor='#999999'><strong>Fecha</strong></td>
<td width='321' align='center' valign='top' bgcolor='#999999'><strong>Borrar</strong></td>
</tr>
<tr bgcolor=''>
<td align='center' valign='top'>$row[0]</td>
<td align='center' valign='top'><a href='index.php?page_id=message&id=$row[0]'>$row[3]</a></a></td>
<td align='center' valign='top'>$row[1]</td>
<td align='center' valign='top'>$row[5]</td>
<td align='center' valign='top'><a href='index.php?page_id=mensajes&id=borra&msj=$row[0]'>Borrar Mensaje</a></td>
</tr>
</table><br>";
echo "<center><a href='index.php?page_id=mensajes'>Volver</a></center>";
}
}
else
{
echo "<br /><code><center>No hay mensajes en la bandeja de entrada <a href='index.php?page_id=mensajes'>Regresar</a></center></code>";
}
}
else
{
if($id == 'envi')
{
echo "<center><h3>Elementos Enviados</h3></center>";
$consulta = mysql_query("SELECT * FROM usuarios WHERE usuario_nombre = '$us'");
$row0 = mysql_fetch_array($consulta);
$enviados = mysql_query("SELECT * FROM mensajeriaenviados WHERE remitente = '$row0[1]' ORDER BY id");
if(mysql_num_rows($enviados) > 0)
{
while($row = mysql_fetch_array($enviados))
{
echo "<table width='550' border='0' align='center' cellpadding='1' cellspacing='1'>
<tr>
<td width='53' align='center' valign='top' bgcolor='#999999'><strong>ID</strong></td>
<td width='426' align='center' valign='top' bgcolor='#999999'><strong>Asunto</strong></td>
<td width='321' align='center' valign='top' bgcolor='#999999'><strong>Para</strong></td>
<td width='321' align='center' valign='top' bgcolor='#999999'><strong>Fecha</strong></td>
<td width='321' align='center' valign='top' bgcolor='#999999'><strong>Borrar</strong></td>
</tr>
<tr bgcolor=''>
<td align='center' valign='top'>$row[0]</td>
<td align='center' valign='top'><a href='index.php?page_id=message&id=$row[0]'>$row[3]</a></a></td>
<td align='center' valign='top'>$row[2]</td>
<td align='center' valign='top'>$row[5]</td>
<td align='center' valign='top'><a href='index.php?page_id=mensajes&id=borraenv&msj=$row[0]'>Borrar Mensaje</a></td>
</tr>
</table>";
}
}
else
{
echo "<br /><code><center>No existen elementos enviados <a href='index.php?page_id=mensajes'>Regresar</a></center></code>";
}
}
else
{
if($id == 'borra')
{
mysql_query("DELETE FROM mensajeria WHERE id = '$msj'");
header("Location: index.php?page_id=mensajes&id=band");
}
else
{
if($id == 'envio')
{
$consulta = mysql_query("SELECT * FROM usuarios WHERE usuario_nombre = '$us'");
$row = mysql_fetch_array($consulta);
$usu = $row[1];
$des = $_POST['destinatario'];
$asu = $_POST['asunto'];
$men = $_POST['mensaje'];
$fec = date('d-m-Y H:i:s');
$est = 0;
mysql_query("INSERT INTO mensajeria (remitente,destinatario,asunto,mensaje,fecha,estado)
VALUES ('$usu','$des','$asu','$men','$fec','$est')");
mysql_query("INSERT INTO mensajeriaenviados (remitente,destinatario,asunto,mensaje,fecha,estado)
VALUES ('$usu','$des','$asu','$men','$fec','$est')");
echo "<br /><code><center>Mensaje Enviado con éxito <a href='index.php?page_id=mensajes'>Regresar</a></center></code>";
}
else
{
if($id == 'borraenv')
{
mysql_query("DELETE FROM mensajeriaenviados WHERE id = '$msj'");
header("Location: index.php?page_id=mensajes&id=band");
}
}
}
}
}
?>
enviar_mensaje.php
Código PHP:
<?php
session_start();
include('config.php'); // incluímos los datos de acceso a la BD
if(!isset($_SESSION['usuario_id']))
{
header("Location: index.php");
}
else
{
$us = $_SESSION['usuario_nombre'];
$consulta = mysql_query("SELECT * FROM usuarios WHERE usuario_nombre = '$us'");
$row = mysql_fetch_array($consulta);
echo "Bienvenido: <b>$row[1]</b>";
}
?>
<hr>
<center><h2>Enviar Mensaje Instantáneo</h2></center>
<form action='index.php?page_id=mensajes&id=envio' method='POST'>
<table align='center'>
<tr>
<td>
Destinatario:
</td>
<td>
<input type='text' name='destinatario' maxlenght='30' size='20'>
</td>
</tr>
<tr>
<td>
Asunto:
</td>
<td>
<input type='text' name='asunto' maxlenght='50' size='20'>
</td>
</tr>
<tr>
<td>
Mensaje:
</td>
<td>
<textarea name='mensaje'></textarea>
</td>
</tr>
</table>
<center><input type='submit' value='Enviar'></center>
</form>
<center><a href='index.php?page_id=perfil&dir=ucp'>Volver</a></center>
</body>
</html>
message.php
Código PHP:
<?php
session_start();
include('config.php');
$sent = mysql_query("SELECT * FROM mensajeria WHERE id='".$_GET['id']."'") or die(mysql_error());
if(mysql_num_rows($sent)) { // Comprobamos que exista el registro con la ID ingresada
$row = mysql_fetch_array($sent);
$id = $row["id"];
$remitente = $row["remitente"];
$asunto = $row["asunto"];
$fecha = $row["fecha"];
$mensaje = $row["mensaje"];
?>
<strong>Remitente::</strong> <?=$remitente?><br />
<strong>asunto:</strong> <?=$asunto?><br />
<strong>fecha:</strong> <?=$fecha?><br />
<strong>mensaje:</strong><?=$mensaje?><br />
<?php
}else {
?>
<p>la noticia seleccionada no existe o ha sido eliminada.</p>
<?php
}
?>
el problema que aun tengo esque mensajes.php modifique la tabla de bandeja de entrada y de bandeja de salida, pero se repite el titulo de la tabla he incluso puse un link de regresar en la bandeja de entrada y tambien se repite y no puedo quitarlo de forma que no se siga repitiendo, el otro problema esque aunque hize el modulo de message.php donde muestra el mensaje, en el contador sigue mostrando los mensajes que tiene aunque ya los haya visto, espero me puedan seguir ayudando para mejorar el modulo y si gustan pueden entrar y mirar como quedo...