Foros del Web » Programando para Internet » PHP »

Sistema de mensajeria interna

Estas en el tema de Sistema de mensajeria interna en el foro de PHP en Foros del Web. Hola , busco un Sistema de mensajeria interna como el del foro. Resulta que el Item community board desaparecio y kisiera saber si alguien lo ...

  #1 (permalink)  
Antiguo 06/05/2003, 13:26
 
Fecha de Ingreso: diciembre-2002
Mensajes: 52
Antigüedad: 21 años, 4 meses
Puntos: 0
Exclamación Sistema de mensajeria interna

Hola , busco un Sistema de mensajeria interna como el del foro.
Resulta que el Item community board desaparecio y kisiera saber si alguien lo tiene ke me lo pase.

Pero os repito lo de antes busco un sistema.
buske en hotscripts.
  #2 (permalink)  
Antiguo 06/05/2003, 14:02
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 22 años
Puntos: 2
Programalo tu, es muy sencillo..

Puedo ayudarte porque yo ya he hecho uno,, pero necesitas entenderme (+ o -) en php,, porque no kiero andar explicando letra x letra..xDDD

__________________
http://www.chorcha.com
  #3 (permalink)  
Antiguo 06/05/2003, 14:18
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 22 años, 5 meses
Puntos: 5
camargo eres un pokito chulito no?¿? explicale , o mejor, explicalo aki para todos, k para eso es una comunidad, y no digas k es facil ya que todo el mundo no sabe tanto como otros :(. Asi k menos hablar y mas codear deacuerdo?¿
__________________
Usuario registrado de Linux #288725
  #4 (permalink)  
Antiguo 06/05/2003, 14:37
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 22 años
Puntos: 2
OJO!! Modifique el script para que se adapte al sistema de usuarios de JLMM que es el que la mayoria de los usuarios utiliza ;) ,, si no lo usas no olvides cambiar $nickUsuarioL como var de la sesion o cookie en su NICK DE USUARIO

conexion.php
Código PHP:
<?php

$conexio 
mysql_connect("localhost","usuario","password");   
mysql_select_db ("nombrebd"$conexio) OR die ("No es posible conectarte a la BD");

?>
Estructura de la tabla en mysql:
Código:
CREATE TABLE mensajes (
  msgid int(9) NOT NULL auto_increment,
  de char(255) NOT NULL,
  para char(255) NOT NULL,
  asunto char(255) NOT NULL,
  mensaje longtext NOT NULL,
  fecha char(255) NOT NULL,
  leido int(10) NOT NULL default '0',
  PRIMARY KEY  (msgid)
)
leer_privados.php

Código PHP:
<?
include("conexion.php"); //conexion a la BD MYSQL
if($accion == "borrar"){
include(
"conexion.php");

$SQLborrar "DELETE FROM mensajes WHERE msgid IN(".implode(', '$HTTP_POST_VARS['mens']).")";
mysql_query($SQLborrar);

echo 
"<font face=Tahoma size=2><b>Mensaje Borrado</b>";

} else {

$sqlmysql_query("SELECT * FROM mensajes WHERE para = '$nickUsuarioL' ORDER by msgid DESC"); //aki esta la var del sistema de JLMM

while ($row mysql_fetch_array($sql) ){

$asunte $row[asunto];
$resto substr("$asunte"040);
$aydi $row[msgid];

echo 
"
<tr><td bgcolor=#EEEEEE width=10><font face=Tahoma size=1><input type=checkbox name=\"mens[]\" value=$aydi></font></td>
<td bgcolor=#EEEEEE
<font face=Tahoma color=black size=1><center><i>"
.$row["de"]."</i></center></font></td>
<td bgcolor=#EEEEEE><a href=leer_privados2.php?id="
.$row[msgid]."><font face=Tahoma color=black size=1><u>$resto..</u></a></font></td>
<td bgcolor=#EEEEEE width=100><font face=Tahoma color=black size=1>"
.$row["fecha"]."</font></td></tr>";


}
echo 
"</table><br><table width=340 align=center cellspacing=2 cellpadding=2>
<tr><td><input type=radio name=accion value=borrar>
<font face=Tahoma size=1> Borrar</font></td>
<td><input type=radio name=accion value=responder>
<font face=Tahoma size=1> Responder</font></td>
<td><a href=enviar_privados.php>
<font face=Tahoma size=1 color=\"black\"> <u>Enviar Mensaje</u></font></td>
<td><input type=\"submit\" value=\"Enviar\"></td>
</table></form>"
;

}
?>
Bien,, ahora haremos el "leer_privados2.php":

Código PHP:
<?
include("conexion.php"); // CONEXION A LA BD MYSQL

$sqlmysql_query("SELECT * FROM mensajes WHERE msgid = '$id' AND para = '$nickUsuarioL'"); //aki esta la var de nickUsuarioL

while ($row mysql_fetch_array($sql) ){
$sql2 mysql_query("UPDATE mensajes set leido=1 WHERE msgid = $row[msgid]");

echo 
"<table bgcolor=black cellspacing=1 cellpadding=2 width=340 border=0 align=center>
<tr><td bgcolor=#CCCCCC width=80><font face=Tahoma size=2><b>De:</b></td>
<td bgcolor=#EEEEEE><font face=tahoma size=2>"
.$row[de]."</td></tr>
<tr><td bgcolor=#CCCCCC width=80><font face=Tahoma size=2><b>Asunto:</b>
<td bgcolor=#EEEEEE><font face=tahoma size=2>"
.$row[asunto]."</td></tr>
<tr><td bgcolor=#CCCCCC width=80><font face=Tahoma size=2><b>Mensaje:</b>
<td bgcolor=#EEEEEE><font face=tahoma size=2>"
.$row[mensaje]."</td></tr>
</table>"
;

}
?>
Ahora, bien,, donde quieras desplegar el numero de mensajes q tiene c/ usuario deberas usar este codigo:

Código PHP:
<?php

$i 
1;
$nuevos 0;
include(
"conexion.php");

$query mysql_query ("SELECT * FROM mensajes order by fecha DESC");

while ( 
$row mysql_fetch_array($query) ) {

    if ( 
$row['para'] == $NICK ) { //$NICK significa el valor de la sesion del usuario o la cookie..

if ( $row[leido] < ) {
    
$nuevos $nuevos +1;
}

if ( 
$row[leido] < ) {
    
$mensajesnuevos .= "</B>";
}

    
$tiene "Si";
    
$i $i+1;
    }


}

if ( 
$nuevos == ) {
$nuevos "Ninguno";
}
    if ( 
$tiene != "Si" ) {

    echo 
"<font size=1 face=Tahoma>No tienes mensajes, $NICK";//$NICK significa el valor de la sesion del usuario o la cookie..

    
}
    else {
    
$j $i -1;
    echo 
"<font size=1 face=Tahoma>Tienes <b>$j</b> mensajes.<br><B>$nuevos</b> son nuevos.";

    }
?>
enviar_privados.php
Código:
<script languaje="Javascript">
<!--
function Smile(texto){
 document.form.mensaje.value = document.form.mensaje.value + texto;
}
// -->
</script>
<form method="post" name="form" action="enviar_privados2.php">
<input type=hidden name=de value=<? echo $nickUsuarioL; ?>>
  <table align=center bgcolor=black width=350 cellspacing=1 cellpadding=3>
    <tr>
      <td bgcolor=#c4dBFB width="55"><font size="2"><b><font face="Verdana">De:</font></b></font></td>
      <td bgcolor=#e8edf2 width="268"><? echo "<font face=Tahoma size=2><b>$nickUsuarioL</b> - $REMOTE_ADDR"; ?></td>
    </tr>
    <tr> 
      <td bgcolor=#E6EBFB width="55"><font face=Tahoma size=2><b>Para:</b></font></td>
      <td bgcolor=#e8edf2 width="268"> 
        <input type=text name=para style="Font-size= 8pt; Font-Face=Tahoma" size="24">
        </td>
    </tr>
    <tr> 
      <td bgcolor=#c4dBFB width="55"><font face=Tahoma size=2><b>Titulo:</b></font></td>
      <td bgcolor=#e8edf2 width="268"> 
        <input type=text name=asunto style="Font-size= 8pt; Font-Face=Tahoma" size="24" maxlength="255">
      </td>
    </tr>
    <tr bgcolor="#E6EBFB"> 
      <td colspan=2><font size=2 face=Tahoma> 
        <center>
          <b>Mensaje:</b> 
        </center>
        </font></td>
    </tr>
    <tr bgcolor="#e8edf2"> 
      <td colspan=2> 
        <center>
          <table width="70%" border="0" cellspacing="0" cellpadding="0">
            <tr> 
              <td> 
                <textarea name=mensaje cols=42 rows=7 style="Font-size= 8pt; Font-Face=Tahoma">
</textarea>
              </td>
            </tr>
          </table>
          <table width="70%" border="0" cellspacing="0" cellpadding="0">
            <tr> 
              <td> 
                <div align="center"><a href="javascript:Smile('[a][/a]')"><img src="ikon/bb1.gif" width="36" height="15" border="0"></a></div>
              </td>
              <td> 
                <div align="center"><a href="javascript:Smile('[citar][/citar]')"><img src="ikon/bb2.gif" width="36" height="15" border="0"></a></div>
              </td>
              <td> 
                <div align="center"><a href="javascript:Smile('')"><img src="ikon/bb3.gif" width="36" height="15" border="0"></a></div>
              </td>
              <td> 
                <div align="center"><a href="javascript:Smile('')"><img src="ikon/bb4.gif" width="36" height="15" border="0"></a></div>
              </td>
              <td> 
                <div align="center"><a href="javascript:Smile('')"><img src="ikon/bb5.gif" width="36" height="15" border="0"></a></div>
              </td>
            </tr>
          </table>
        </center>
        <table width="70%" border="0" cellspacing="3" cellpadding="2" align="center">
          <tr> 
            <td> 
              <div align="center"><a href="javascript:Smile('[pensando]')"><img src="ikon/1.gif" width="15" height="20" border="0" alt="Pensando"></a></div>
            </td>
            <td> 
              <div align="center"><a href="javascript:Smile('[sonriendo]')"><img src="ikon/2.gif" width="15" height="15" border="0" alt="Sonriendo"></a></div>
            </td>
            <td> 
              <div align="center"><a href="javascript:Smile('[si]')"><img src="ikon/3.gif" width="15" height="15" border="0" alt="Arriba"></a></div>
            </td>
            <td> 
              <div align="center"><a href="javascript:Smile('[no]')"><img src="ikon/4.gif" width="15" height="15" border="0" alt="Abajo"></a></div>
            </td>
            <td> 
              <div align="center"><a href="javascript:Smile('[llorando]')"><img src="ikon/5.gif" width="25" height="15" border="0" alt="Llorando"></a></div>
            </td>
            <td> 
              <div align="center"><a href="javascript:Smile('[afirmando]')"><img src="ikon/11.gif" width="15" height="15" border="0" alt="Afirmando"></a></div>
            </td>
          </tr>
          <tr> 
            <td> 
              <div align="center"><a href="javascript:Smile('[censurado]')"><img src="ikon/6.gif" width="15" height="15" border="0" alt="Censura"></a></div>
            </td>
            <td> 
              <div align="center"><a href="javascript:Smile('[ojotes]')"><img src="ikon/7.gif" width="15" height="15" border="0" alt="Ojotes"></a></div>
            </td>
            <td> 
              <div align="center"><a href="javascript:Smile('[adios]')"><img src="ikon/8.gif" width="25" height="15" border="0" alt="Adios"></a></div>
            </td>
            <td> 
              <div align="center"><a href="javascript:Smile('[policia]')"><img src="ikon/9.gif" width="19" height="20" border="0" alt="Policia"></a></div>
            </td>
            <td> 
              <div align="center"><a href="javascript:Smile('[carcajeando]')"><img src="ikon/10.gif" width="16" height="19" border="0" alt="Carcajeando"></a></div>
            </td>
            <td> 
              <div align="center"><a href="javascript:Smile('[negando]')"><img src="ikon/12.gif" width="15" height="15" alt="Negando" border="0"></a></div>
            </td>
          </tr>
        </table>
      </td>
    </tr>
    <tr bgcolor="#c4dBFB"> 
      <td colspan="2"><font face=Tahoma size=2><b> 
        <input type=submit value=Enviar style="Font-size= 8pt; Font-Face=Tahoma">
        <input type=reset value=Borrar name="reset" style="Font-size= 8pt; Font-Face=Tahoma">
        </b></font> </td>
    </tr>
  </table>
</form>

[B]Agregue nuevas opciones, mejoras, mas colores y ahora con la posibilidad de agregar smilies,, !...[B]
Mas adelante pongo el enviar_privados2.php y fecha.php
__________________
http://www.chorcha.com

Última edición por camargo; 05/07/2003 a las 12:16
  #5 (permalink)  
Antiguo 06/05/2003, 14:47
Avatar de dooky  
Fecha de Ingreso: diciembre-2002
Ubicación: echo$REMOTE_ADDR;
Mensajes: 493
Antigüedad: 21 años, 4 meses
Puntos: 0
YEAH"""!!! justo lo que buscaba GRACIAS!
__________________
Eduardo Toloza
SatisFactor.io - NPS
  #6 (permalink)  
Antiguo 06/05/2003, 15:32
Avatar de adex  
Fecha de Ingreso: marzo-2002
Ubicación: Lima, Perú, América Latina
Mensajes: 445
Antigüedad: 22 años, 1 mes
Puntos: 0
Realmente eres muy amable;
Que bueno sos ser camargo
a ver si la proxima no nos pones el pass y user de tu FTP NO?
jeje
Saludos!!!
  #7 (permalink)  
Antiguo 06/05/2003, 15:51
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 22 años
Puntos: 2
Aki pongo los codigos q me faltaron x falta de carcateres:

enviar_privados2.php

Código PHP:
<?

include("conexion.php");
include(
"fecha.php");

if(
$para=="$nickUsuarioL"){ //Aki esta la var de nickUsuarioL
echo "<font face=Tahoma size=2><b><center>Te quieres mandar un mensaje tu solo?</b></center>";

else if(empty(
$para)){
echo 
"<font face=Tahoma size=2><b><center>A quien va el mensaje?</b><br></center>";
}
else if(empty(
$mensaje)){
echo 
"<font face=Tahoma size=2><b><center>Y el mensaje?</center></b><br>";

else {

//QUITAMOS CARACTERES INVALIDOS
    
$mensaje str_replace("<","&lt;",$mensaje);
    
$mensaje str_replace(">","&gt;",$mensaje);
    
$mensaje str_replace('\"',"&quot;",$mensaje);
    
$mensaje str_replace("'","'",$mensaje);
    
$mensaje str_replace("\'","'",$mensaje);

//PONEMOS LOS SMILIES AL MENSAJE
    
$mensaje str_replace("[pensando]","<img src=\"ikon/1.gif\">",$mensaje);
    
$mensaje str_replace("[sonriendo]","<img src=\"ikon/2.gif\">",$mensaje);
    
$mensaje str_replace("[si]","<img src=\"ikon/3.gif\">",$mensaje);
    
$mensaje str_replace("[no]","<img src=\"ikon/4.gif\">",$mensaje);
    
$mensaje str_replace("[llorando]","<img src=\"ikon/5.gif\">",$mensaje);
    
$mensaje str_replace("[afirmando]","<img src=\"ikon/6.gif\">",$mensaje);
    
$mensaje str_replace("[censurado]","<img src=\"ikon/7.gif\">",$mensaje);
    
$mensaje str_replace("[ojotes]","<img src=\"ikon/8.gif\">",$mensaje);
    
$mensaje str_replace("[adios]","<img src=\"ikon/9.gif\">",$mensaje);
    
$mensaje str_replace("[policia]","<img src=\"ikon/10.gif\">",$mensaje);
    
$mensaje str_replace("[carcajeando]","<img src=\"ikon/11.gif\">",$mensaje);
    
$mensaje str_replace("[negando]","<img src=\"ikon/12.gif\">",$mensaje);

//PONEMOS LOS BBCODE
    
$mensaje str_replace("[ b]","<b>",$mensaje); //modifica kitando el espacio,, x k si no los reproduce en los foros ;)
    
$mensaje str_replace("[ /b]","</b>",$mensaje);
    
$mensaje str_replace("[ i]","<i>",$mensaje);
    
$mensaje str_replace("[ /i]","</i>",$mensaje);
    
$mensaje str_replace("[ u]","<u>",$mensaje);
    
$mensaje str_replace("[ /u]","</u>",$mensaje);

    
$mensaje str_replace("[citar]","<table width=80% bgcolor=black align=center cellspacing=1 cellpadding=2><tr><td bgcolor=#eeeeee><font face=tahoma size=1><b>Citando:</b><br>",$mensaje);
    
$mensaje str_replace("[/citar]","</td></tr></table>",$mensaje);

    
$mensaje preg_replace("#\[a](.*?){1}\[/a]#""<a href=\"$1\" target=\"_blank\"><B>$1</B></A>"$mensaje);

//CERRAMOS E INTRODUCIOMOS TODO A LA BD MYSQL

$leido"0";
mysql_query("INSERT INTO mensajes (de,para,asunto,mensaje,fecha,leido) VALUES 
('$de','$para','$asunto','$mensaje','$fecha2','$leido')"
);

echo 
"<font face=Tahoma size=2><center><b>Accion exitosa!</b></center>";
echo 
"<SCRIPT LANGUAGE=\"javascript\">window.location.href = \"leer_privados.php\";</SCRIPT>";

}

?>
Agregamos ahora el fecha.php:

Código PHP:
<?php
$diasSemana
[0] = "Domingo";
$diasSemana[1] = "Lunes";
$diasSemana[2] = "Martes";
$diasSemana[3] = "Miercoles";
$diasSemana[4] = "Jueves";
$diasSemana[5] = "Viernes";
$diasSemana[6] = "Sabado";

$mesesAnho[1] = "Enero";
$mesesAnho[2] = "Febrero";
$mesesAnho[3] = "Marzo";
$mesesAnho[4] = "Abril";
$mesesAnho[5] = "Mayo";
$mesesAnho[6] = "Junio";
$mesesAnho[7] = "Julio";
$mesesAnho[8] = "Agosto";
$mesesAnho[9] = "Septiembre";
$mesesAnho[10] = "Octubre";
$mesesAnho[11] = "Noviembre";
$mesesAnho[12] = "Diciembre";

$diaSemana date(w);
$diaMes date(j);
$mesAnho date(n);
$anho date(Y);
$hora date(H);
$hora .= ":";
$hora .= date(i);

$horax date("h:i:s");
$horaxe date("j/n/Y");

$fecha $diasSemana[$diaSemana]." ".$diaMes." de ".$mesesAnho[$mesAnho]." del ".$anho;
$fecha2 "$horax de $horaxe";


$hora2 $hora;

?>

Salu2
y suerte con el script ;)
__________________
http://www.chorcha.com

Última edición por camargo; 05/07/2003 a las 12:19
  #8 (permalink)  
Antiguo 06/05/2003, 16:49
Avatar de mdk
mdk
 
Fecha de Ingreso: noviembre-2002
Mensajes: 531
Antigüedad: 21 años, 5 meses
Puntos: 11
venga va... ya puestos a pedir... un user y pass mas, un user y pass menos, xk no lo pones y de paso tb la direccion del ftp y el puerto.

Ah, si y no es mucha molestia, podias explicar ke hace cada linea del codigo, o cada conjunto de lineas, xk aunke funcione, estaria bien saber para ke sirve cada linea y ke funcion tiene ya ke mucha gente no sabe para ke son algunas lineas incluyendome a mi, y asi podemos ser mas los desarroyadores ke nos hagamos nuestros propios scripts y no tengamos ke ir copiando, ke de eso va estos foros, y a mi personalmente me gusta crear, no copiar

De todas formas, gracias por el código, aunke insisto ke estaria bien ke lo explicaras :P
__________________
SoY Lo Ke VeS iNKLuSo KuAnDo No Me VeS ;)
  #9 (permalink)  
Antiguo 06/05/2003, 17:06
Axo
 
Fecha de Ingreso: abril-2003
Ubicación: Virtual
Mensajes: 953
Antigüedad: 21 años
Puntos: 7
Creo que lo ha ido explicando aunque no BASICAMENTE, si teines dudas como consultar una base de datos o similares creo que lo mejor seria que te pasara x las FAQ !!
  #10 (permalink)  
Antiguo 06/05/2003, 18:37
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 22 años
Puntos: 2
Sabria q esta pregunta llegaría tarde o temprano,, como le comentaba al epplestun,, pero,, q va en fin,, explicare detalladamente,..xD

Código PHP:
<?

include("conexion.php"); //conexion a la BD MYSQL

if($accion == "borrar"){ // si elegimos la accion de borrar algun msg de los usuarios.. entonces abrimos un query indicandonos q nos borre el msg seleccionado previamente en el checkbox

$SQLborrar "DELETE FROM mensajes WHERE msgid IN(".implode(', '$HTTP_POST_VARS['mens']).")";
mysql_query($SQLborrar);

echo 
"<font face=Tahoma size=2><b>Mensaje Borrado</b>";

} else {

$sqlmysql_query("SELECT * FROM mensajes ORDER by msgid DESC"); // hacemos la consulta a la tabla de mensajes

while ($row mysql_fetch_array($sql) ){
IF(
$row['para'] == "$NICK"){ //$NICK significa el valor de la sesion del usuario o la cookie.. y nos indica tambien que si hay mensajes para el usuario donde estemos conectados los desplegamos

$asunte $row[asunto]; // obtenemos el asunto
$resto substr("$asunte"040); // el asunto lo limitamos a 40 letras
$aydi $row[msgid]; //obtenemos el id de c/msg
?>
Esta fue la 1era parte ahora vamos a la 2da parte:

Código PHP:
include("conexion.php"); // CONEXION A LA BD MYSQL 

$sqlmysql_query("SELECT * FROM mensajes WHERE msgid LIKE '$id'"); //OBtenemos el msg q seleccionamos

while ($row mysql_fetch_array($sql) ){

$sql2 mysql_query("UPDATE mensajes set leido=1 WHERE msgid = $row[msgid]"); // le damos leido =1 para indicarle q ya fue leido el msg

IF($row['para'] == "$NICK"){ //$NICK significa el valor de la sesion del usuario o la cookie.. lo mismo de hace rato, si es el msg es para el usuario conectado se lo desplegamos

echo ""//BORRE TODO porque aki desplegamos el msg

} else { echo "Este msg no es tuyo..xDD"; }

?> 
Aki explicare la 3era parte:

Código PHP:
<?php

$i 
1;
$nuevos 0;
include(
"conexio.php"); // hacemos la conexion a la BD

$query mysql_query ("SELECT * FROM mensajes order by fecha DESC"); // la consulta a la tabla de los msg

while ( $row mysql_fetch_array($query) ) {

    if ( 
$row['para'] == $NICK ) { //$NICK significa el valor de la sesion del usuario o la cookie.. Repetimos la misma accion si el usuario es el conectado entonces ejecutaremos la accion

if ( $row[leido] < ) {
    
$nuevos $nuevos +1;
}

// si leido es menor a 1 , osease 0 es q esta nuevo el msg

if ( $row[leido] < ) {
    
$mensajesnuevos .= "</B>";
}

    
$tiene "Si";
    
$i $i+1;
    }

// Aki ya le indicamos q es nuevvo y q si hay mas de 1 msg nuevo haga la cuenta..


}

if ( 
$nuevos == ) {
$nuevos "Ninguno";
}

// si no hay msg nuevos le diremos q es un loser q no tiene amigos..xDD,, no exactamente pero le avisaremos q ninguno de sus msg son nuevos

if ( $tiene != "Si" ) {

    echo 
"<font size=1 face=Tahoma>No tienes mensajes, $NICK";//$NICK significa el valor de la sesion del usuario o la cookie..

    
}
    else {
    
$j $i -1;
    echo 
"<font size=1 face=Tahoma>Tienes <b>$j</b> mensajes.<br><B>$nuevos</b> son nuevos.";

    }
?>
pff. dejen me seco el sudor,, ya,, ahora 4ta parte
lo del envio de msg es html puro, muy sencillo y todos entienden,, ok..xDD

Código PHP:
<?
include("conexion.php"); // CONEXION A TU BD MYSQL

if($para=="$NICK"){
echo 
"<font face=Tahoma size=2><b><center> Te quieres mandar un mensaje tu solo?</b></center>"// Para avisarle al usuario q no sea pendejo y se mande msg solos

if (empty(
$para)){
echo 
"<font face=Tahoma size=2><b><center>A quien va el mensaje?</b><br></center>"//al wey del usuario se le olvido poner destinatario
}
if(empty(
$mensaje)){
echo 
"<font face=Tahoma size=2><b><center>Y el mensaje?</center></b><br>"// Se le olvido poner su msg,, entonces q enviara?, mierda?

else {

$leido"0";
mysql_query("INSERT INTO mensajes (de,para,asunto,mensaje,fecha,leido) VALUES 
 ('$de','$para','$asunto','$mensaje','$fecha2','$leido')"
); // mas q claro,, insertamos los datos dentro de la tabla y lo redireccionamos a su bandeja de entrada..

echo "<font size=2 face=Tahoma><b>
Enviado Con Exito.</b>
<BR>Espere Unos Segundos...
<SCRIPT LANGUAGE=\"javascript\">window.location.href = \"leer_privados.php\";</SCRIPT>"


}

?>
El q no entienda esto es porque tiene sindrome de down o algo parecido,, jeje,, pero posteen sus problemas o lo q quieran..xDDD

estoy algo cansao.. Ahh recuerden q este Viernes 9 de Mayo cumplo 17 años!!

jejej

Salu2
__________________
http://www.chorcha.com
  #11 (permalink)  
Antiguo 07/05/2003, 07:16
 
Fecha de Ingreso: diciembre-2002
Mensajes: 52
Antigüedad: 21 años, 4 meses
Puntos: 0
Gracias pero ke hay de conexion.php ke variables a de contener?

Y si no fuera mucho, podeis poner el sistema de usuaRIOS?
  #12 (permalink)  
Antiguo 07/05/2003, 14:20
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 22 años
Puntos: 2
ufff,,, ves epplestun,, de esto mismo hablaba al principio.. ahora quieren un sistema de usuarios,, solo falta q me pida un espacio web con php, una bd mysql y que le haga un diseño de su web para darse una idea...

Cita:
Gracias pero ke hay de conexion.php ke variables a de contener?
Por DIOS,, no estoy explicando al lado

// Conexion a tu BD MYSQL!!!!!!!!!!!

No, no,, asi no se puede,, ni una idea minima de php debe tener este tipo..

q va..
__________________
http://www.chorcha.com
  #13 (permalink)  
Antiguo 07/05/2003, 14:33
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Camargo ..

¿Te acuerdas que hace tiempo (con otro script tuyo) te comenté que hacer esto:

Código PHP:
mysql_query("INSERT INTO mensajes (de,para,asunto,mensaje,fecha,leido) VALUES 
  ('$de','$para','$asunto','$mensaje','$fecha2','$leido')"
); // mas q claro,, insertamos los datos dentro de la tabla y lo redireccionamos a su bandeja de entrada..

echo "<font size=2 face=Tahoma><b>
Enviado Con Exito.</b>
<BR>Espere Unos Segundos...
<SCRIPT LANGUAGE=\"javascript\">window.location.href = \"leer_privados.php\";</SCRIPT>"

Si recargo la página cuando me diga "Espere Unos segundos" .. puedo ocasionar tantos registros duplicados como hasta que me canse de darle al f5 (recargar) de mi navegador?

Usa redireccionamiento via cabeceras HTTP:

Código PHP:
header("location: la_pagina_que_sea.tal");
exit; 
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #14 (permalink)  
Antiguo 07/05/2003, 19:15
Avatar de sdf23  
Fecha de Ingreso: diciembre-2002
Mensajes: 297
Antigüedad: 21 años, 4 meses
Puntos: 0
esta linea me da error:
$SQLborrar = "DELETE FROM mensajes WHERE msgid IN(".implode(", ", $_POST[mens]).")";
mysql_query($SQLborrar);

el error es:
Warning: Bad arguments to implode() in c:\appserv\www\huevox\leer_privados.php on line 10
Mensaje Borrado
gracias
__________________

la vida es bella cuando no es culera
  #15 (permalink)  
Antiguo 07/05/2003, 19:49
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
El Implode requiere de un Array .. revisa que sea de ese tipo tu variable $_POST['mens']

(Y si usas comillas en el indice del array $_POST .. mejor):

Código PHP:
$SQLborrar "DELETE FROM mensajes WHERE msgid IN(".implode(','$_POST['mens']).")";
mysql_query($SQLborrar); 
Y cuidado con el uso de comillas ... que estás concatenando...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 07/05/2003 a las 19:51
  #16 (permalink)  
Antiguo 07/05/2003, 23:03
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 22 años, 8 meses
Puntos: 9
Cita:
Mensaje Original por camargo
ufff,,, ves epplestun,, de esto mismo hablaba al principio.. ahora quieren un sistema de usuarios,, solo falta q me pida un espacio web con php, una bd mysql y que le haga un diseño de su web para darse una idea...



Por DIOS,, no estoy explicando al lado

// Conexion a tu BD MYSQL!!!!!!!!!!!

No, no,, asi no se puede,, ni una idea minima de php debe tener este tipo..

q va..
Camargo, Como diriamos en nuestra tierra "¿Y TU NIEVE?".

Que bueno, excelente código, que vaya para zonaphp, antes que alguien lo gane.
  #17 (permalink)  
Antiguo 08/05/2003, 10:57
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Que bueno, excelente código, que vaya para zonaphp, antes que alguien lo gane.
Si, jeje .. pero que cambie el tema del redireccionamiento via javascript xDDDD

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #18 (permalink)  
Antiguo 08/05/2003, 14:04
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 22 años
Puntos: 2
xDDD,, buena lado2mx,, si es q estos weyes se la mam..$%%

jej,, Voy a perfeccionar el codigo,,
al igual q el del sistema de users online..

y graxias por lo de excelente codigo!

Porcierto: ¿Donde esta Veracruz Argentina lado2mx?

Estamos en contacto.. :)
__________________
http://www.chorcha.com

Última edición por camargo; 08/05/2003 a las 14:53
  #19 (permalink)  
Antiguo 08/05/2003, 14:49
Avatar de josgat  
Fecha de Ingreso: noviembre-2002
Mensajes: 137
Antigüedad: 21 años, 5 meses
Puntos: 0
hola sdf23, respecto al error que te sale, si lo que le pasas es un array puede q el problema este en que el array que le pasas este vacio, es decir, que no hay mensages. A mi me pasaba eso en algunos scripts q me hice. Pruebalo a ver...

ENGA
__________________
Lo importante no es saber sino saber el teléfono del que sabe, jajaja.
  #20 (permalink)  
Antiguo 30/05/2003, 15:29
Avatar de dooky  
Fecha de Ingreso: diciembre-2002
Ubicación: echo$REMOTE_ADDR;
Mensajes: 493
Antigüedad: 21 años, 4 meses
Puntos: 0
Joder...

Hola Amigos... he estado toda la tarde tratando de utilizar este scripts y por lo que veo esta todo bien pero no me muestra los mensajes recibidos.. he entrado a phpMyAdmin y he visto y esta el mensaje con los campos de: para: asunto: fecha: Leido: Pero cuando entro a leer_privados.php no me muestra ninguno y ya le inclui (include) el login.php y conexion.php a todas las paginas.. No se que seria.. este es el codigo que tengo de el leer_privados

Código PHP:
<?php
include("conexion.php");//AQUI CONEXION O include() DE ARCHIVO DE CONEXION CON BASE DE DATOS.
include("login.php");

if(
$accion == "borrar"){
include(
"conexion.php");

$SQLborrar "DELETE FROM mensajes WHERE msgid IN(".implode(', '$HTTP_POST_VARS['mens']).")";
mysql_query($SQLborrar);

echo 
"<font face=Tahoma size=2><b>Mensaje Borrado</b>";

} else {

$sqlmysql_query("SELECT * FROM mensajes ORDER by msgid DESC");

while (
$row mysql_fetch_array($sql) ){
IF(
$row['para'] == "$nickUsuarioL"){ //$NICK significa el valor de la sesion del usuario o la cookie..

$asunte $row[asunto];
$resto substr("$asunte"040);
$aydi $row[msgid];

echo 
"
<tr><td bgcolor=#EEEEEE width=10><font face=Tahoma size=1><input type=\"checkbox\" name=\"mens[]\" value=\"$aydi\"></font></td>
<td bgcolor=#EEEEEE><a href=perfil.php?usuario="
.$row[de].">
<font face=Tahoma color=black size=1><center><i>"
.$row["de"]."</i></center></a></font></td>
<td bgcolor=#EEEEEE><a href=leer_privados2.php?id="
.$row[msgid]."><font face=Tahoma color=black size=1><u>$resto..</u></a></font></td>
<td bgcolor=#EEEEEE width=100><font face=Tahoma color=black size=1>"
.$row["fecha"]."</font></td></tr>";

}
}
echo 
"</table><br><table width=340 align=center cellspacing=2 cellpadding=2>
<tr><td><input type=\"radio\" name=\"accion\" value=\"borrar\">
<font face=\"Tahoma\" size=\"1\"> Borrar</font></td>
<td><input type=\"radio\" name=\"accion\" value=\"responder\">
<font face=\"Tahoma\" size=\"1\"> Responder</font></td>
<td><a href=enviar_privados.php>
<font face=\"Tahoma\" size=\"1\" color=\"black\"> <u>Enviar Mensaje</u></font></td>
<td><input type=\"submit\" value=\"Enviar\" style=\"font-family: Tahoma; font-size:8pt\"></td>
</table></form>"
;

}
?>
__________________
Eduardo Toloza
SatisFactor.io - NPS
  #21 (permalink)  
Antiguo 30/05/2003, 15:40
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Fijate:

IF($row['para'] == "$nickUsuarioL"){ //$NICK significa el valor de la sesion del usuario o la cookie..

(Camargo) No entiendo porqué no haces una consulta SQL usando WHERE para='$nickUsuarioL" .. en lugar de Consultar "TODOS" los mensajes de esa tabla mensajes y mostrar los que sean para el usuario en concreto ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #22 (permalink)  
Antiguo 30/05/2003, 15:43
Avatar de dooky  
Fecha de Ingreso: diciembre-2002
Ubicación: echo$REMOTE_ADDR;
Mensajes: 493
Antigüedad: 21 años, 4 meses
Puntos: 0
Se supone que el tiene el mismo.. y en su web funciona muy bien..
o puede ser algo del enviar_privados?? yo creo que es el leer_privados ya que los mensajes enviados quedan en la base de datos.. Es la recepcion lo que falla..
__________________
Eduardo Toloza
SatisFactor.io - NPS

Última edición por dooky; 30/05/2003 a las 15:45
  #23 (permalink)  
Antiguo 30/05/2003, 15:55
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
dooky ..

Esta variable entra a tu script por una cookie o sessión .. El caso que no sé si usas cookies o sesiones en tu sistema así que no se vé si está tomando el valor del "nick" que está usando el sistema de mensajería privada ..

Hazle un:
Código PHP:
echo $nickUsuarioL// a ver que obtienes .. (suponemos que nada ..) 
Yo por lo menos no veo en ninguna parte de este script algún "login" que cree la cookie o session del usuario que está usando tu sistema ..

El sistema es de "mensajeria" .. pero no de gestión de usuarios ..

Así que si quieres leer tus "privados" .. hazte un formulario que le enviea a leer_privado.php la variable: nickUsuarioL ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #24 (permalink)  
Antiguo 30/05/2003, 16:09
Avatar de jonk  
Fecha de Ingreso: julio-2002
Ubicación: Barakaldo
Mensajes: 104
Antigüedad: 21 años, 8 meses
Puntos: 0
yo en mi web intente hacer algo parecido :)

nombre : prueba
contraseña: prueba1

no se si te refieres a eso con lo de mensajes privados pero tengo un apartado alli

para mp tienes ver pinchar en lista de usuarios , esta todavia depurandose pero algo es algo

www.i-barakaldo.com
y luego meter los datos del usuario prueba :)

en www.i-barakaldo.com/ibforos/nn (foro en construccion)

tb lo he metido :) en este te dices si tiene mensajes nuevos jeje, todo muy basico
usuario: prueba
contraseña:prueba1

y pinchar en perfil


__________________

MyWay. A mi manera
http://myway.i-barakaldo.com

Última edición por jonk; 30/05/2003 a las 16:18
  #25 (permalink)  
Antiguo 05/07/2003, 12:21
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 22 años
Puntos: 2
He modificado el script añadiendo smilies, funciones, y mejorandolo bastante ;)

Salu2
__________________
http://www.chorcha.com
  #26 (permalink)  
Antiguo 14/07/2003, 15:47
 
Fecha de Ingreso: noviembre-2002
Ubicación: Veracruz
Mensajes: 48
Antigüedad: 21 años, 5 meses
Puntos: 0
...¿cuando lo pondras...?
  #27 (permalink)  
Antiguo 16/07/2003, 10:22
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 22 años
Puntos: 2
Edite los msg para meterlo ahi mismo ¬¬

Salu2
__________________
http://www.chorcha.com
  #28 (permalink)  
Antiguo 30/11/2003, 13:18
Avatar de adex  
Fecha de Ingreso: marzo-2002
Ubicación: Lima, Perú, América Latina
Mensajes: 445
Antigüedad: 22 años, 1 mes
Puntos: 0
Graxias camargo por el sistema, actualizaré la que tengo funcionando y te molestare si con algo me llego a pelear
  #29 (permalink)  
Antiguo 11/10/2004, 20:23
 
Fecha de Ingreso: mayo-2004
Mensajes: 393
Antigüedad: 19 años, 11 meses
Puntos: 0
Hola:

Estoy en la fase final de la implantación y diseño de este script para mensajes que encuentro muy bueno.

El problema es que al borrar da error (y no borra):
Warning: implode(): Bad arguments. in c:\archivos de programa\apache group\apache\htdocs\esla\mensajes\leer_privados.ph p on line 7

La línea 7 es:

"DELETE FROM mensajes WHERE msgid IN(".implode(',', $_POST['mens']).")";
mysql_query($SQLborrar);

Si me podéis ayudar, os quedaré agradecido. Ya he mirado si $_POST['mens']
es un array y parece que sí lo es. Por lo menos lo parece porque si saco ',',
el error es: Warning: implode(): Argument to implode must be an array...

Muchas gracias por vuestra ayuda
  #30 (permalink)  
Antiguo 17/07/2005, 18:14
Saldu
Invitado
 
Mensajes: n/a
Puntos:
Warning: Bad arguments to implode() in c:\apache\htdocs\mensajes\leer_privados.php on line 10
Mensaje Borrado

Me saltó ese error,cuando quería borrar un mensaje.. y encima,no me lo borra...Me ayudan a solucionar esto??

Probé sacandole el implode(),reemplazando


$SQLborrar = "DELETE FROM mensajes WHERE msgid IN(".implode(', ', $HTTP_POST_VARS['mens']).")";


por $SQLborrar = "DELETE FROM mensajes WHERE msgid=".$HTTP_POST_VARS['mens']."')";

Una vez hecho eso,no me salta ningún error,me avisa "mensaje borrado"

Pero cuando iría a leer_privados.php para ver si de una vez borro ese mensaje,no lo borra,de ninguna de las 2 maneras...

Otra cosita... Suponete,que reciva X mensaje de "Camargo", bueno,cuando lo elijo al mensaje, y pongo "responder",y luego enviar... es como si apretara el botón actualizar!!!
osea,no me lleva a ningún lado para responderle... no se si me explico

Bueno,muchas gracisa,y espero que me sepan responder,adiós..
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 04:05.