Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   PHP (http://www.forosdelweb.com/f18/)
-   -   Sistema de mensajeria interna (http://www.forosdelweb.com/f18/sistema-mensajeria-interna-129177/)

oscar2000 06/05/2003 13:26

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. :pensando:

camargo 06/05/2003 14:02

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

:adios:

epplestun 06/05/2003 14:18

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?¿

camargo 06/05/2003 14:37

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 :golpeado:

dooky 06/05/2003 14:47

YEAH"""!!! justo lo que buscaba GRACIAS!

adex 06/05/2003 15:32

Realmente eres muy amable;
Que bueno sos ser camargo :arriba:
a ver si la proxima no nos pones el pass y user de tu FTP NO?
jeje
Saludos!!!

camargo 06/05/2003 15:51

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
:adios: y suerte con el script ;)

mdk 06/05/2003 16:49

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 :-D

De todas formas, gracias por el código, aunke insisto ke estaria bien ke lo explicaras :P

Axo 06/05/2003 17:06

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 !!

camargo 06/05/2003 18:37

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

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

jejej

Salu2 :adios:

oscar2000 07/05/2003 07:16

Gracias pero ke hay de conexion.php ke variables a de contener?

Y si no fuera mucho, podeis poner el sistema de usuaRIOS?

camargo 07/05/2003 14:20

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... :borracho:

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..

Cluster 07/05/2003 14:33

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,

sdf23 07/05/2003 19:15

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

Cluster 07/05/2003 19:49

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,

lado2mx 07/05/2003 23:03

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... :borracho:



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.

Cluster 08/05/2003 10:57

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,

camargo 08/05/2003 14:04

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! :arriba:

Porcierto: ¿Donde esta Veracruz Argentina lado2mx?

Estamos en contacto.. :)

josgat 08/05/2003 14:49

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

dooky 30/05/2003 15:29

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>"
;

}
?>


Cluster 30/05/2003 15:40

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,

dooky 30/05/2003 15:43

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..

Cluster 30/05/2003 15:55

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,

jonk 30/05/2003 16:09

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



camargo 05/07/2003 12:21

He modificado el script añadiendo smilies, funciones, y mejorandolo bastante ;)

Salu2
:adios:

isa301 14/07/2003 15:47

...¿cuando lo pondras...?

camargo 16/07/2003 10:22

Edite los msg para meterlo ahi mismo ¬¬

Salu2
:adios:

adex 30/11/2003 13:18

Graxias camargo por el sistema, actualizaré la que tengo funcionando y te molestare si con algo me llego a pelear :golpeado:

javifo 11/10/2004 20:23

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

Saldu 17/07/2005 18:14

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..


La zona horaria es GMT -6. Ahora son las 19:59.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.