Buenas,yo quiero hacer un sistema de mensajes internos... es decir,que X usuario le pueda mandar un mensaje a otro,se entiende lo que quiere decir? y este otro usuario (siempre,dentro del mismo site),este otro usuario,lo recive y lo puede responder...
Creo que por acá,en foros del web,encontré este link..
http://php-hispano.net/archivos/Scripts/101/1
que supuestamente me permitiría hacer esto que yo quiero hacer...
Bueno después de cambiar los datos,y personalizarlo,es decir,me quedó y funciona... NO PUEDO HACER QUE ENVIE ,NI QUE RECIVA LOS MENSAJES LOS OTROS USUARIOS.!
Fijensé cómo me quedó:
vmsg.php :
Código:
<?php
// El config estaran los datos del MySQL y conectara al MySQL.
include("config.php");
print("<body bgcolor=#009900 text=#FFFFFF link=#FFFFFF>");
// Buscamos si el usuario esta logueado i si es valido.
$a=mysql_query("SELECT codigo FROM usuarios WHERE username='".addslashes(strip_tags($_SESSION['Username']))."' && codigo ='".addslashes(strip_tags($_SESSION['Codigousuario']))."'");
$r=mysql_fetch_row($a);
// Si esta logueado:
if($r == 0){
if($_GET[d]) { // Esto pasara cuando quieras borrar uno de tus memos.
$query = mysql_query("select id_user from users_m where id='$_GET[d]'");
$resp=mysql_fetch_row($query);
// Comprobamos que el memo que quiere borrar es del el.
if($resp[0] == $r[0]) { mysql_query("DELETE FROM users_m WHERE id='$_GET[d]'"); }
}
// Seleccionamos todos los memos de el usuario logueado.
$query = "select * from users_m where id_user='$r[0]' order by fecha desc";
$resp = mysql_query($query);
// Ponemos el numero de campos seleccionados.
$num = mysql_num_rows($resp);
echo"<center>";
while ($mensaje = mysql_fetch_array($resp)) { // Ejecutamos este bucle para poner todos los memos del usuario
// Ponemos la fecha en formato dia/mes/año
$time = date("d/m/y", $mensaje[fecha]);
// Quitamos los codigos html
$msg = strip_tags($mensaje[msg]);
// Ponemos el memo a la vista en la web.
echo "$msg<br>Enviado por: $mensaje[autor] el $time «» <font color=\"#FF0000\">";
echo"<a href=\"vmsg.php?d=$mensaje[id]\">Borrar</a></font><br><br>";
}
// SI no tiene ningun memo saldra esto:
if(!$num) { echo"<br>Actualmente,no tienes ningun mensaje,revisa este sector cada tanto,uno nunca sabe cuando puede recivir un mensaje nuevo...<br><br>"; }
// Creamos un form
echo"<br><form method=\"POST\" action=\"addvmsg.php\">";
// Ponemos Nick: y ponemos un input hidden que sera el nick del autor
echo"<br>Nick:<input type=\"hidden\" name=\"autor\" size=\"20\" value=\"$_SESSION[Username]\"> <br>";
// Creamos el combo
echo"<select size=\"1\" name=\"paquien\">";
// Pondremos en un combo todos los users registrados.
$query = "select * from usuarios order by username desc";
$resp = mysql_query($query);
while ($am = mysql_fetch_array($resp)) {
// Ponemos el user en el combo
echo"<option>$am[username]</option>";
}
// Cerramos el combo
echo"</select><br>";
// Ponemos un espacio para poner el mensaje
echo"Mensaje:<br><textarea rows=\"2\" name=\"msg\" cols=\"20\"></textarea><br>";
// Ponemos el boton de enviar y cerramos la form.
echo"<br><input type=\"submit\" value=\"Enviar!\" name=\"send\"></form>";
}
// SI no esta logueado le saldra el error.
else {
echo"Tu no tienes acceso a esta zona,logeate e intenta nuevamente...";
}
// Cerramos la conexion MySQL.
mysql_close($con);
?>
addvmsg.php :
Código:
<?php
// El config estaran los datos del MySQL y conectara al MySQL.
include("config.php");
// Seleccionamos el id del usuario a quien se le enviara el memo
$a=mysql_query("SELECT codigo FROM usuarios WHERE username='$_POST[paquien]'");
$r=mysql_fetch_row($a);
// Si estan todos los datos
if(($_POST[msg]) && ($_POST[autor]) && ($_POST[paquien])) {
// Ponemos la hora.
$time = time();
// Insertamos los datos a la tabla.
$query = "INSERT INTO users_m (id_user,fecha,msg,autor) VALUES ('$r[0]','$time','$_POST[msg]','$_POST[autor]\)";
mysql_query($query);
}
// Cerramos la conexion MySQL.
mysql_close($con);
// VOlvemos a la pagina que nos trajo aqui.
echo "<script>window.location='vmsg.php';</script>";
?>
Esos serían los scripts de mensajeria.. pero dejo unos datos,útiles que poray les sirva como referencia... el config.php que es el archivo de conexion :
<?php
$bd_host = "localhost";
$bd_usuario = "root";
$bd_password = "";
$bd_base = "Tryman";
$con = mysql_connect($bd_host, $bd_usuario, $bd_password);
mysql_select_db($bd_base, $con);
?>
Y el archivo de ingreso (porque nada mas,pueden usar este sistema,los usuarios registrados) ingresar.php
Código:
<?php
session_start();
print("<body bgcolor=#009900 text=#FFFFFF link=#FFFFFF>");
require_once("conexion.php");
$Query = mysql_query("SELECT * FROM usuarios WHERE username='".addslashes(strip_tags($_POST['User']))."' && user_password ='".addslashes(strip_tags($_POST['Password']))."'");
$Q_num = mysql_num_rows($Query);
if($Q_num == 1){
$data = mysql_fetch_array($Query);
$_SESSION['username'] = strip_tags($_POST['User']);
$_SESSION['Auth'] = "YES" ;
$_SESSION["codigoUsuario"] = $data["codigo"];
echo "<script>window.location='default.php';</script>";
exit;
} else {
$_SESSION['Auth'] = "NO" ;
echo("Usuario / Clave no son válidos, intente de nuevo...");
}
?>
Quizás les sea útil.. la tabla usuarios:
CREATE TABLE `usuarios` (
`codigo` int(4) unsigned NOT NULL auto_increment,
`nombre` varchar(255) default NULL,
`apellido` varchar(255) default NULL,
`username` varchar(255) NOT NULL default '',
`user_password` varchar(255) NOT NULL default '',
`user_email` varchar(255) NOT NULL default '',
`activo` tinyint(1) unsigned NOT NULL default '0',
PRIMARY KEY (`codigo`)
)TYPE=MyISAM