Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/06/2012, 23:22
J0RG325
 
Fecha de Ingreso: febrero-2012
Mensajes: 34
Antigüedad: 12 años, 2 meses
Puntos: 0
De acuerdo Sistema de Mensajeria Privada!

Hola gente de forosdelweb bueno hace tiempo que estoy creando un sistema de usuarios y no voy a dejar escapar que mucho o la mayoria del contenido del sistema lo he hecho con modulos o con guias de otras personas, un amigo me dijo que basicamente estaba pre-programando, pero bueno enfin.

Estube intentando con varios modulos de mensajeria privada pero no podia adaptarlos ami sistema, por ejemplo probe con este: http://www.forosdelweb.com/f18/sistema-mensajeria-interna-129177/ y no pude adaptarlo, hasta que encontre otro en un foro que solo era 1 archivo nada complicado y solo con cambiar algunos detalles funciono y funciono perfecto.

En conclusion lo que yo quisiera esque en tu bandeja te mostrara solo eso pero no con toda la información y que al darle click al mensaje te mande no se a otro modulo donde te muestre el mensaje completo, tambien para mensajes enviados y si no es mucho pedir un contador o algo para mi index.php donde muestre la cantidad de mensajes recibidos. Sin más aca les dejo el modulo.

SQL USUARIOS:
Código PHP:
CREATE TABLE `usuarios` (
  `
usuario_idint(4NOT NULL AUTO_INCREMENT,
  `
usuario_nombrevarchar(15COLLATE latin1_general_ci NOT NULL DEFAULT '',
  `
usuario_clavevarchar(32COLLATE latin1_general_ci NOT NULL DEFAULT '',
  `
usuario_emailvarchar(50COLLATE latin1_general_ci NOT NULL DEFAULT '',
  `
sexotinyint(6NOT NULL DEFAULT '0',
  `
usuario_avatarvarchar(250COLLATE latin1_general_ci NOT NULL DEFAULT '',
  `
usuario_fregdatetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  
PRIMARY KEY (`usuario_id`)

SQL MENSAJERIA:
Código PHP:
CREATE TABLE `mensajeria` (
  `
idint(11NOT NULL AUTO_INCREMENT,
  `
remitentevarchar(50COLLATE latin1_general_ci NOT NULL,
  `
destinatariovarchar(50COLLATE latin1_general_ci NOT NULL,
  `
asuntovarchar(50COLLATE latin1_general_ci NOT NULL,
  `
mensajevarchar(250COLLATE latin1_general_ci NOT NULL,
  `
fechavarchar(20COLLATE latin1_general_ci NOT NULL,
  `
estadoint(10NOT NULL,
  
PRIMARY KEY (`id`)

SQL MENSAJERIAENVIADOS:
Código PHP:
CREATE TABLE `mensajeriaenviados` (
  `
idint(11NOT NULL AUTO_INCREMENT,
  `
remitentevarchar(50COLLATE latin1_general_ci NOT NULL,
  `
destinatariovarchar(50COLLATE latin1_general_ci NOT NULL,
  `
asuntovarchar(50COLLATE latin1_general_ci NOT NULL,
  `
mensajevarchar(250COLLATE latin1_general_ci NOT NULL,
  `
fechavarchar(20COLLATE latin1_general_ci NOT NULL,
  `
estadoint(2NOT NULL,
  
PRIMARY KEY (`id`)

mensajeria.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>";
}
?>
<html>
<head><title>Mensajería</title>
</head>
<body>
<center><a href='index.php?page_id=mensajeria&id=band'>Bandeja de Entrada</a> | 
<a href='index.php?page_id=mensajeria&id=envi'>Enviados</a></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(
mysql_num_rows($bandeja))
{
while(
$row mysql_fetch_array($bandeja))
{
echo 
"<table align='center' border='1'>";
echo 
"<tr><td>Remitente:</td><td>$row[1]</td></tr>";
echo 
"<tr><td>Asunto:</td><td>$row[3]</td></tr>";
echo 
"<tr><td>Fecha:</td><td>$row[5]</td></tr>";
echo 
"<tr><td>Mensaje:</td><td>$row[4]</td></tr>";
echo 
"</table><center><a href='index.php?page_id=mensajeria&id=borra&msj=$row[0]'>Borrar Mensaje</a></center><br>";
}
}
else
{
echo 
"<center>No hay mensajes en la bandeja de entrada</center>";
}
}
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 align='center' border='1'>";
echo 
"<tr><td>Para:</td><td>$row[2]</td></tr>";
echo 
"<tr><td>Asunto:</td><td>$row[3]</td></tr>";
echo 
"<tr><td>Fecha:</td><td>$row[5]</td></tr>";
echo 
"<tr><td>Mensaje:</td><td>$row[4]</td></tr>";
echo 
"</table><center><a href='index.php?page_id=mensajeria&id=borraenv&msj=$row[0]'>Borrar Mensaje</a></center><br>";
}
}
else
{
echo 
"<center>No existen elementos enviados</center>";
}
}
else
{
if(
$id == 'borra')
{
mysql_query("DELETE FROM mensajeria WHERE id = '$msj'");
header("Location: index.php?page_id=mensajeria&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 
"<center>Mensaje Enviado con éxito</center>";
}
else
{
if(
$id == 'borraenv')
{
mysql_query("DELETE FROM mensajeriaenviados WHERE id = '$msj'");
header("Location: index.php?page_id=mensajeria&id=band");
}
}
}
}
}
?>
<hr>
<center><h2>Enviar Mensaje Instantáneo</h2></center>
<form action='index.php?page_id=mensajeria&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>
P.D.: Para darles una idea quiza podria ser como el Sistema de PM Marcoft como otro ejemplo...
de antemano gracias por leerlo.