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_id` int(4) NOT NULL AUTO_INCREMENT,
`usuario_nombre` varchar(15) COLLATE latin1_general_ci NOT NULL DEFAULT '',
`usuario_clave` varchar(32) COLLATE latin1_general_ci NOT NULL DEFAULT '',
`usuario_email` varchar(50) COLLATE latin1_general_ci NOT NULL DEFAULT '',
`sexo` tinyint(6) NOT NULL DEFAULT '0',
`usuario_avatar` varchar(250) COLLATE latin1_general_ci NOT NULL DEFAULT '',
`usuario_freg` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`usuario_id`)
)
SQL MENSAJERIA: Código PHP:
CREATE TABLE `mensajeria` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`remitente` varchar(50) COLLATE latin1_general_ci NOT NULL,
`destinatario` varchar(50) COLLATE latin1_general_ci NOT NULL,
`asunto` varchar(50) COLLATE latin1_general_ci NOT NULL,
`mensaje` varchar(250) COLLATE latin1_general_ci NOT NULL,
`fecha` varchar(20) COLLATE latin1_general_ci NOT NULL,
`estado` int(10) NOT NULL,
PRIMARY KEY (`id`)
)
SQL MENSAJERIAENVIADOS: Código PHP:
CREATE TABLE `mensajeriaenviados` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`remitente` varchar(50) COLLATE latin1_general_ci NOT NULL,
`destinatario` varchar(50) COLLATE latin1_general_ci NOT NULL,
`asunto` varchar(50) COLLATE latin1_general_ci NOT NULL,
`mensaje` varchar(250) COLLATE latin1_general_ci NOT NULL,
`fecha` varchar(20) COLLATE latin1_general_ci NOT NULL,
`estado` int(2) NOT 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(0 < 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.