Foros del Web » Programando para Internet » PHP »

Aporte, sistema de registro, login, comentarios, perfiles y mensajes privados

Estas en el tema de Aporte, sistema de registro, login, comentarios, perfiles y mensajes privados en el foro de PHP en Foros del Web. Hola, les voy a dejar un aporte de registro, login, perfiles, mensajes privados, comentarios en los perfiles, confirmar contraseña. Bueno primero en empesar les voy ...
  #1 (permalink)  
Antiguo 30/10/2011, 16:36
(Desactivado)
 
Fecha de Ingreso: agosto-2011
Mensajes: 42
Antigüedad: 12 años, 10 meses
Puntos: 9
Aporte, sistema de registro, login, comentarios, perfiles y mensajes privados

Hola, les voy a dejar un aporte de registro, login, perfiles, mensajes privados, comentarios en los perfiles, confirmar contraseña.
Bueno primero en empesar les voy a dar un detalle asi cuando prueben crear sus cuentas se la pueden crear bien, porque yo lo hice en localhost, y la funcion mail no me funciona ahi, si lo quieren seguir haciendo en localhost, cuando se registran, van a la tabla "pruebas", y sacan el codigo generado en el campo "codigo", y en una URL escriben localhost/confirmar.php?codigo=SU CODIGO . Para los que lo quieren hacer con mail, solo añadanle la funcion mail con un link a la pagina confirmar.php donde la variable GET_['codigo'] valga el generado en el registro en el mensaje del mail.
Yo ya tengo unas cuentas creadas.
Si quieren que les funcione bien, cambien en conexion.php donde dice "estudiophp", cambienlo por su base de datos, por el nombre de su base de datos.
LEAN ESTO : Van a tener que cambiar algunas URLS porque yo los archivos los tengo en una carpeta mia, espero que eso no sea una molestia.
Aca van los archivos :

conexion.php :

Código PHP:
Ver original
  1. <?php
  2. $nombre_server[1] = 'localhost';
  3. $nombre_user[2] = 'root';
  4. $nombre_db[3] = 'estudiophp';
  5. $password[4] = '';
  6.  
  7.      $conexion = @mysql_connect($nombre_server[1],$nombre_user[2],$password[4]) or exit ('Los datos ingresados no existen');
  8.      mysql_select_db($nombre_db[3]) or exit('La base de datos no existe');
  9.  
  10.  
  11. if($_GET['desconectar'] == 1){//funcion de deslogeo
  12. $_SESSION['logeado'] = false;
  13. echo "Usted se a deslogeado con exito";
  14. }// cierro deslogeo
  15.  
  16.  
  17. if($_GET['borrar'] == 1){//funcion de eliminar cuenta
  18. mysql_query("DELETE FROM pruebas WHERE (nick=".$_SESSION['nick'].")");
  19. echo "Su cuenta a sido eliminada";
  20. $_SESSION['logeado'] = false;
  21. }//cierro eliminar cuenta
  22.  
  23.  
  24. if($_GET['cambiar'] == 1){//funcion de cambiar contraseña
  25.    if(isset($_POST['mandar'])){
  26.         if(isset($_POST['pass']) && isset($_POST['confnuevapass']) && isset($_POST['nuevapass'])){              $pass = $_POST['nuevapass'];
  27.                     $nick = $_SESSION['nick'];
  28.           $resultado = mysql_query("SELECT pass FROM pruebas WHERE (nick = '$nick')");
  29.           $fila = mysql_fetch_array($resultado);
  30.           if($fila['pass'] == md5($_POST['pass'])){
  31.             if($_POST['nuevapass'] == $_POST['confnuevapass']){
  32.                 if(mysql_query("UPDATE pruebas SET pass = md5('$pass') WHERE (nick = '$nick')")){
  33.                 echo "La contraseña se a cambiado con exito";
  34.                 }
  35.                 else{
  36.                 echo "No se a podido cambiar la contraseña, vuelva a intentar";
  37.                 }
  38.             }
  39.             else{
  40.             echo "Las contraseñas no coinciden";
  41.             }
  42.           }
  43.          else{
  44.             echo "La contraseña insertada no coincide con la de la base de datos";
  45.          }
  46.         }
  47.         else{
  48.         echo "Debera rellenar todos los campos";
  49.         }  
  50.    }
  51. ?>
  52. <form method="post" action="login.php?cambiar=1">
  53. contraseña anterior<input type="text" name="pass">
  54. nueva contraseña<input type="text" name="nuevapass">
  55. repetir contraseña<input type="text" name="confnuevapass">
  56. <input type="submit" name="mandar">
  57. </form>
  58. <?php
  59. }// cierro cambiar pass
  60.  
  61. if($_GET['recordar'] == 1){//abre recordar contraseña
  62.     if(isset($_POST['mandar'])){
  63.         if(isset($_POST['mail'])){
  64.             $mail = $_POST['mail'];
  65.             $resultado = mysql_query("SELECT nick, pass FROM pruebas WHERE (mail = 'mail')");
  66.             $fila = mysql_fetch_array($resultado);
  67.         }
  68.         else{
  69.             echo "Introduzca un mail valido";
  70.         }
  71.     }
  72. ?>
  73. <form method="post" action="login.php?recordar=1">
  74. Introduzca su mail<input type="text" name="mail" />
  75. <input type="submit" name="mandar" />
  76. </form>
  77. <?php
  78. }//cierro recordar contraseña
  79. ?>

registro.php :

Código PHP:
Ver original
  1. <?php
  2. include("conexion.php");
  3. if(isset($_POST['registro']))
  4. {
  5.   if(($_POST['nick'] != '') && ($_POST['pass'] != '') && ($_POST['mail'] != ''))
  6.   {
  7.    if($_POST['pass'] == $_POST['confpass'])
  8.     {
  9.      $nick = $_POST['nick'];
  10.      $pass = md5($_POST['pass']);
  11.      $mail = $_POST['mail'];
  12.       $resultado = mysql_query("SELECT nick, mail FROM pruebas WHERE (nick = '$nick') OR (mail = '$mail')");
  13.       $fila = mysql_fetch_array($resultado);
  14.       if($fila['nick'] == $nick)
  15.       {
  16.       echo "El nick esta en uso";
  17.       }
  18.       elseif($fila['mail'] == $mail)
  19.       {
  20.       echo "El mail esta en uso";
  21.       }
  22.       else
  23.       {
  24.       if(eregi("@" , $mail)){
  25.       $codigo= uniqid();
  26.       mysql_query("insert into pruebas(nick,pass,mail,codigo,estado) values                                         ('$nick','$pass','$mail','$codigo',0)");
  27.       echo 'Los datos han sido enviados correctamente';
  28.       }
  29.       else
  30.       echo "Mail no valido";
  31.       }
  32.     }
  33.     else
  34.     {
  35.     echo 'Las contraseñas no coinciden';
  36.     }
  37.   }
  38.     else
  39.     {
  40.     echo 'Debera rellenar todos los campos';
  41.     }
  42. }
  43. if($_SESSION['logeado'] == true){
  44. echo "Usted esta logeado";
  45. }
  46. else{
  47. ?>
  48. <html>
  49. <head>
  50. <title>Registro</title>
  51. </head>
  52. <body>
  53. <form method="post" action="registro.php">
  54. nick
  55. <input type="text" name="nick" value="<?php echo $_POST['nick'];?>">
  56. pass
  57. <input type="password" name="pass">
  58. confirmar contraseña
  59. <input type="password" name="confpass">
  60. mail
  61. <input type="text" name="mail" value="<?php echo $_POST['mail'];?>">
  62. <input type="submit" value="enviar" name="registro">
  63. </form>
  64. </body>
  65. </html>
  66. <?php
  67. }
  68. ?>

login.php :

Código PHP:
Ver original
  1. <?php
  2. include("conexion.php");
  3. if(isset($_POST['enviar']))
  4. {
  5.     $nick = $_POST['nick'];
  6.     $pass = $_POST['pass'];
  7.     if(isset($nick) && isset($pass))
  8.     {
  9.         $resultado = mysql_query("SELECT nick, pass ,estado, id FROM pruebas WHERE (nick = '$nick') AND (pass = md5('$pass'))");
  10.         if(mysql_num_rows($resultado) > 0)
  11.         {
  12.             $fila = mysql_fetch_array($resultado);
  13.             if($fila['estado'] == 1){
  14.                 $_SESSION['nick'] = $nick;
  15.                 $_SESSION['logeado'] = true;
  16.                 $_SESSION['id'] = $fila['id'];
  17.             }
  18.             else{
  19.                 echo "Su cuenta no a sido activada";
  20.             }
  21.         }
  22.         else{
  23.         echo "Usuario o contraseña incorrectos.";
  24.         }
  25.     }
  26.     else{
  27.     echo "Usuario o contraseña incorrectos.";
  28.     }
  29. }
  30. ?>
  31. <?php
  32. if($_SESSION['logeado'] == true){//abre logeo
  33. echo "Usted ".$_SESSION['nick']." esta logeado";
  34. ?>
  35. </br></br>
  36. <a href="<?php $_SERVER['PHP_SELF']?>?desconectar=1">Salir</a>
  37. </br>
  38. </br>
  39. <a href="<?php $_SERVER['PHP_SELF']?>?borrar=1">Eliminar cuenta</a>
  40. </br>
  41. </br>
  42. <a href="<?php $_SERVER['PHP_SELF']?>?cambiar=1">Cambiar contraseña</a>
  43. </br>
  44. </br>
  45. <a href="leermensaje.php">Leer mensajes privados</a>  
  46. <?php
  47.     $nick = $_SESSION['nick'];
  48.     $resultado = mysql_query("SELECT id FROM pruebas WHERE (nick = '$nick')");
  49.     $fila = mysql_fetch_array($resultado);
  50.     $idperfil = $fila['id'];
  51.     $resultado = mysql_query("SELECT nombre, fecha, comentario, idnombre FROM comentarios WHERE (idperfil = '$idperfil')");
  52.     while($fila = mysql_fetch_array($resultado)){
  53.     echo "<br/>";
  54.     echo "<br/>";
  55.     echo "Nombre: <a href='perfil.php?id=".$fila['idnombre']."'>".$fila['nombre']."</a>";
  56.     echo "<br/>";
  57.     echo "----";
  58.     echo "<br/>";
  59.     echo "Comentario: ".$fila['comentario'];
  60.     echo "<br/>";
  61.     echo "---------------------------------------";
  62.     echo "<br/>";
  63.     }
  64. }//if donde termina el logeo
  65. else{
  66. ?>
  67. <html>
  68. <head>
  69. <title>Login</title>
  70. </head>
  71. <body>
  72. <form method="post" action="login.php">
  73. Nick:<input type="text" name="nick">
  74. Password:<input type="password" name="pass">
  75. <input type="submit" name="enviar">
  76. </form>
  77. <a href="<?php $_SESSION['PHP_SELF']?>?recordar=1">Recordar contraseña</a>
  78. </body>
  79. </html>
  80. <?php
  81. }
  82. ?>
  #2 (permalink)  
Antiguo 30/10/2011, 16:37
(Desactivado)
 
Fecha de Ingreso: agosto-2011
Mensajes: 42
Antigüedad: 12 años, 10 meses
Puntos: 9
Respuesta: Aporte, sistema de registro, login, comentarios, perfiles y mensajes priva

perfil.php :

Código PHP:
Ver original
  1. <?php
  2. include("conexion.php");
  3. if($_SESSION['logeado'] == true){
  4.     $id = $_GET['id'];
  5.     if(isset($id)){//compruebo si id tiene valor
  6.     $resultado = mysql_query("SELECT nick, mail FROM pruebas WHERE (id = '$id')");
  7.     $fila = mysql_fetch_array($resultado);
  8.     if($_SESSION['nick'] == $fila['nick']){/* perfil de usuario logeado cuando id tiene valor, y si la sesion en que estoy logeado coincide con la de los datos trtaidos por la id, estoy en mi perfil*/
  9.         echo "Este es su perfil ".$_SESSION['nick'];
  10.         ?>
  11.         </br></br>
  12.         <a href="<?php $_SERVER['PHP_SELF']?>?desconectar=1">Salir</a>
  13.         </br>
  14.         </br>
  15.         <a href="<?php $_SERVER['PHP_SELF']?>?borrar=1">Eliminar cuenta</a>
  16.         </br>
  17.         </br>
  18.         <a href="<?php $_SERVER['PHP_SELF']?>?cambiar=1">Cambiar contrasea</a>
  19.         </br>
  20.         </br>
  21.         <a href="leermensaje.php">Leer mensajes privados</a>  
  22.         <?php
  23.         $idperfil = $_GET['id'];
  24.         $resultado = mysql_query("SELECT nombre, fecha, comentario, idnombre FROM comentarios WHERE (idperfil = '$idperfil')");
  25.         while($fila = mysql_fetch_array($resultado)){
  26.             echo "<br/>";
  27.             echo "<br/>";
  28.             echo "Nombre: <a href='perfil.php?id=".$fila['idnombre']."'>".$fila['nombre']."</a>";
  29.             echo "<br/>";
  30.             echo "----";
  31.             echo "<br/>";
  32.             echo "Comentario: ".$fila['comentario'];
  33.             echo "<br/>";
  34.             echo "---------------------------------------";
  35.             echo "<br/>";
  36.           }
  37.         }
  38.     else{/*perfil de otro usuario, porque el nick, no coincide con el de la persona logeada*/
  39.         echo "Este es el perfil de ".$fila['nick'].", y su mail es ".$fila['mail'];
  40.         ?>
  41.         </br>
  42.         </br>
  43.         <a href="enviarmensaje.php">Enviar mensaje privado</a>  
  44.         </br>
  45.         <?php
  46.         $_SESSION['idreceptor'] = $_GET['id'];
  47.         if(isset($_POST['mandar'])){
  48.             if(isset($_POST['comentario'])){
  49.                 $comentario = $_POST['comentario'];
  50.                 $nombre = $_SESSION['nick'];
  51.                 $fecha = time();
  52.                 $datofecha = date("d-m-Y" , $fecha);
  53.                 $idperfil = $_GET['id'];
  54.                 $idnombre = $_SESSION['id'];
  55.                 if(mysql_query("INSERT INTO comentarios (comentario,nombre,fecha,idperfil,idnombre) VALUES ('$comentario','$nombre','$datofecha','$idperfil','$idnombre')")){
  56.                     echo "<br/>";
  57.                     echo "<br/>";
  58.                     echo " Comentario subido con exito";
  59.                 }
  60.                 else{
  61.                     echo "Hubo un fallo al poner el comentario, por favor vuelva a intentarlo";
  62.                 }
  63.             }
  64.             else{
  65.                 echo "Debe introducir un comentario";
  66.             }
  67.         }
  68.         ?>
  69.         <html xmlns="http://www.w3.org/1999/xhtml">
  70.         <head>
  71.         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  72.         <title>Perfil</title>
  73.         </head>
  74.         <body>
  75.         <br/>
  76.         Deja tu comentario!
  77.         <form method="post" action="perfil.php?id=<?php echo $_GET['id']; ?>">
  78.         <textarea name="comentario"></textarea>
  79.         <input type="submit" name="mandar">
  80.         </form>
  81.         </body>
  82.         </html>
  83.     <?php
  84.         $idperfil = $_GET['id'];
  85.         $resultado = mysql_query("SELECT nombre, fecha, comentario, idnombre FROM comentarios WHERE (idperfil = '$idperfil')");
  86.         while($fila = mysql_fetch_array($resultado)){
  87.             echo "<br/>";
  88.             echo "<br/>";
  89.             echo "Nombre: <a href='perfil.php?id=".$fila['idnombre']."'>".$fila['nombre']."</a>";
  90.             echo "<br/>";
  91.             echo "----";
  92.             echo "<br/>";
  93.             echo "Comentario: ".$fila['comentario'];
  94.             echo "<br/>";
  95.             echo "---------------------------------------";
  96.             echo "<br/>";
  97.           }
  98.     }
  99.   }
  100.   else{//perfil de usuario logeado cuando id no tiene valor
  101.         echo "Este es su perfil ".$_SESSION['nick'];
  102.         ?>
  103.         </br></br>
  104.         <a href="<?php $_SERVER['PHP_SELF']?>?desconectar=1">Salir</a>
  105.         </br>
  106.         </br>
  107.         <a href="<?php $_SERVER['PHP_SELF']?>?borrar=1">Eliminar cuenta</a>
  108.         </br>
  109.         </br>
  110.         <a href="<?php $_SERVER['PHP_SELF']?>?cambiar=1">Cambiar contrasea</a>
  111.         </br>
  112.         </br>
  113.         <a href="leermensaje.php">Leer mensajes privados</a>        
  114.         <?php
  115.         $nick = $_SESSION['nick'];
  116.         $resultado = mysql_query("SELECT id FROM pruebas WHERE (nick = '$nick')");
  117.         $fila = mysql_fetch_array($resultado);
  118.         $idperfil = $fila['id'];
  119.         $resultado = mysql_query("SELECT nombre, fecha, comentario, idnombre FROM comentarios WHERE (idperfil = '$idperfil')");
  120.         while($fila = mysql_fetch_array($resultado)){
  121.             echo "<br/>";
  122.             echo "<br/>";
  123.             echo "Nombre: <a href='perfil.php?id=".$fila['idnombre']."'>".$fila['nombre']."</a>";
  124.             echo "<br/>";
  125.             echo "----";
  126.             echo "<br/>";
  127.             echo "Comentario: ".$fila['comentario'];
  128.             echo "<br/>";
  129.             echo "---------------------------------------";
  130.             echo "<br/>";
  131.         }
  132.   }
  133. }
  134. else{
  135.     echo "Tienes que estar logeado para estar aqui";
  136. }
  137. ?>

confirmar.php :

Código PHP:
Ver original
  1. <?php
  2. include("conexion.php");
  3. $codigo = $_GET['codigo'];
  4. $resultado = mysql_query("SELECT estado FROM pruebas WHERE (codigo = '$codigo')");
  5. $fila = mysql_fetch_array($resultado);
  6. if($fila['estado'] == 0){
  7.     $estado = 1;
  8.     if(mysql_query("UPDATE pruebas SET estado = '$estado' WHERE (codigo = '$codigo')")){
  9.         echo "Su cuenta a sido activada";
  10.     }
  11.     else{
  12.     echo "Se a producido un error, por favor vuelva a recargar la pagina";
  13.     }
  14. }
  15. ?>
  16. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  17. <html xmlns="http://www.w3.org/1999/xhtml">
  18. <head>
  19. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  20. <title>Coonfirmar cuenta</title>
  21. </head>
  22. <body>
  23. </body>
  24. </html>

enviarmensaje.php :

Código PHP:
Ver original
  1. <?php
  2. include("conexion.php");
  3. if($_SESSION['logeado'] == true){
  4.     if(isset($_POST['mandar'])){
  5.         if(isset($_POST['asunto']) && isset($_POST['mensaje'])){
  6.             $id = $_SESSION['idreceptor'];
  7.             $resultado = mysql_query("SELECT nick, id FROM pruebas WHERE (id = '$id')");
  8.             $fila = mysql_fetch_array($resultado);
  9.                 $idreceptor = $fila['id'];
  10.                 $receptor = $fila['nick'];
  11.                 $idnombre = $_SESSION['id'];
  12.                 $nombre = $_SESSION['nick'];
  13.                 $asunto = $_POST['asunto'];
  14.                 $mensaje = $_POST['mensaje'];
  15.                 if(mysql_query("INSERT INTO mensajes (nombre,mensaje,asunto,idnombre,receptor,idreceptor) VALUES ('$nombre', '$mensaje', '$asunto', '$idnombre', '$receptor', '$idreceptor')")){
  16.                     echo "Mensaje enviado con exito";
  17.                 }
  18.                 else{
  19.                     echo "Error al enviar el mensaje, por favor vuelva a intentarlo";
  20.                 }
  21.         }
  22.         else{
  23.             echo "Debe rellenar todos los campos para enviar un mensaje privado";
  24.         }
  25.     }
  26.     ?>
  27.     <html>
  28.     <head>
  29.     <title>Enviar mensaje</title>
  30.     </head>
  31.     <body>
  32.     <form method="post" action="enviarmensaje.php">
  33.     Asunto<input type="text" name="asunto" />
  34.     Mensaje<textarea name="mensaje"></textarea>
  35.     <input type="submit" name="mandar" />
  36.     </form>
  37.     </body>
  38.     </html>
  39.     <?php
  40. }
  41. else{
  42.     echo "Para enviar un mensaje debe estar logeado";
  43. }
  44. ?>
  #3 (permalink)  
Antiguo 30/10/2011, 16:38
(Desactivado)
 
Fecha de Ingreso: agosto-2011
Mensajes: 42
Antigüedad: 12 años, 10 meses
Puntos: 9
Respuesta: Aporte, sistema de registro, login, comentarios, perfiles y mensajes priva

leermensaje.php :

Código PHP:
Ver original
  1. <?php
  2. include("conexion.php");
  3. if($_SESSION['logeado'] == true){
  4.     if(empty($_GET['idmensaje'])){
  5.         $id = $_SESSION['id'];
  6.         $nick = $_SESSION['nick'];
  7.         $resultado = mysql_query("SELECT * FROM mensajes WHERE (idreceptor = '$id')");
  8.         echo "<table width='737' height='31' border='1'>";
  9.         echo "<tr>";
  10.         echo "<td width='109'>De:</td>";
  11.         echo "<td width='265'>Asunto:</td>";
  12.         echo "<td width='400'>Mensaje:</td>";
  13.         echo "</tr>";
  14.         echo "</table>";
  15.         while($fila = mysql_fetch_array($resultado)){
  16.         echo "<table width='737' height='31' border='1'>";
  17.         echo "<tr>";
  18.         echo "<td width='109'><a href='leermensaje.php?idmensaje=".$fila['idmensaje']."'>".$fila['nombre']."</a></td>";
  19.         echo "<td width='265'>".$fila['asunto']."</td>";
  20.         echo "<td width='400'>".$fila['mensaje']."</td>";
  21.         echo "</tr>";
  22.         echo "</table>";
  23.         }
  24.     }
  25.     else{
  26.         $idmensaje = $_GET['idmensaje'];
  27.         $resultado = mysql_query("SELECT nombre, mensaje, asunto FROM mensajes WHERE (idmensaje = '$idmensaje')");
  28.         $fila = mysql_fetch_array($resultado);
  29.         echo "De: ".$fila['nombre'];
  30.         echo "<br />";
  31.         echo "--------------------------------------------------------------------------------";
  32.         echo "<br />";
  33.         echo "Asunto: ".$fila['asunto'];
  34.         echo "<br />";
  35.         echo "--------------------------------------------------------------------------------";
  36.         echo "<br />";
  37.         echo "Mensaje: ".$fila['mensaje'];
  38.     }
  39. }
  40. else{
  41.     echo "Debe estar logeado para estar aqui";
  42. }
  43. ?>

SQL :

Código SQL:
Ver original
  1. -- phpMyAdmin SQL Dump
  2. -- version 2.11.9.2
  3. -- http://www.phpmyadmin.net
  4. --
  5. -- Servidor: localhost
  6. -- Tiempo de generación: 30-10-2011 a las 20:16:28
  7. -- Versión del servidor: 5.0.67
  8. -- Versión de PHP: 5.2.6
  9.  
  10. SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
  11.  
  12. --
  13. -- Base de datos: `estudiophp`
  14. --
  15.  
  16. -- --------------------------------------------------------
  17.  
  18. --
  19. -- Estructura de tabla para la tabla `comentarios`
  20. --
  21.  
  22. CREATE TABLE IF NOT EXISTS `comentarios` (
  23.   `idcomentario` INT(11) NOT NULL AUTO_INCREMENT,
  24.   `idnombre` INT(11) NOT NULL,
  25.   `nombre` VARCHAR(11) NOT NULL,
  26.   `idperfil` INT(11) NOT NULL,
  27.   `fecha` DATE NOT NULL,
  28.   `comentario` longtext NOT NULL,
  29.   PRIMARY KEY  (`idcomentario`)
  30. ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=33 ;
  31.  
  32. --
  33. -- Volcar la base de datos para la tabla `comentarios`
  34. --
  35.  
  36. INSERT INTO `comentarios` (`idcomentario`, `idnombre`, `nombre`, `idperfil`, `fecha`, `comentario`) VALUES
  37. (32, 1, 'Felire', 2, '0000-00-00', 'Te deje muchos mensajes '),
  38. (31, 3, 'wachiturro', 2, '0000-00-00', 'eee tirate un pasito eeeee me gusta salir de noche no le temo a la oscuridad'),
  39. (30, 3, 'wachiturro', 1, '0000-00-00', 'tirate que tirate un paso'),
  40. (29, 2, 'Felires', 3, '0000-00-00', 'sos re logi aeadsadasdasd'),
  41. (28, 2, 'Felires', 1, '0000-00-00', 'Holaaa'),
  42. (27, 1, 'Felire', 3, '0000-00-00', 'logiii'),
  43. (26, 1, 'Felire', 2, '0000-00-00', 'Holaaa');
  44.  
  45. -- --------------------------------------------------------
  46.  
  47. --
  48. -- Estructura de tabla para la tabla `mensajes`
  49. --
  50.  
  51. CREATE TABLE IF NOT EXISTS `mensajes` (
  52.   `idmensaje` INT(11) NOT NULL AUTO_INCREMENT,
  53.   `nombre` longtext NOT NULL,
  54.   `mensaje` longtext NOT NULL,
  55.   `asunto` longtext NOT NULL,
  56.   `idnombre` INT(11) NOT NULL,
  57.   `receptor` longtext NOT NULL,
  58.   `idreceptor` INT(11) NOT NULL,
  59.   PRIMARY KEY  (`idmensaje`)
  60. ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=12 ;
  61.  
  62. --
  63. -- Volcar la base de datos para la tabla `mensajes`
  64. --
  65.  
  66. INSERT INTO `mensajes` (`idmensaje`, `nombre`, `mensaje`, `asunto`, `idnombre`, `receptor`, `idreceptor`) VALUES
  67. (11, 'Felire', 'holaasdasdsaddasds', 'Hola', 1, 'Felires', 2),
  68. (10, 'Felires', 'adfjapsdfjapisdgjposdg', 'Hey men', 2, 'Felire', 1),
  69. (6, 'wachiturro', 'creo q soy wachiturro jejejejej', 'Hola', 3, 'Felires', 2),
  70. (7, 'Felire', 'sdfasdfasdfasdf', 'Holasdkàsdf', 1, 'Felires', 2),
  71. (8, 'Felire', 'afdsfsdfasdfasdfasdf', '131234', 1, 'Felires', 2),
  72. (9, 'Felire', 'dasdfsdfsdf', 'juuuujujujujujuj', 1, 'Felires', 2);
  73.  
  74. -- --------------------------------------------------------
  75.  
  76. --
  77. -- Estructura de tabla para la tabla `pruebas`
  78. --
  79.  
  80. CREATE TABLE IF NOT EXISTS `pruebas` (
  81.   `id` INT(11) NOT NULL AUTO_INCREMENT,
  82.   `nick` VARCHAR(20) NOT NULL,
  83.   `pass` VARCHAR(32) NOT NULL,
  84.   `mail` VARCHAR(40) NOT NULL,
  85.   `codigo` VARCHAR(20) NOT NULL,
  86.   `estado` INT(1) NOT NULL,
  87.   PRIMARY KEY  (`id`),
  88.   KEY `nick` (`nick`,`pass`)
  89. ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
  90.  
  91. --
  92. -- Volcar la base de datos para la tabla `pruebas`
  93. --
  94.  
  95. INSERT INTO `pruebas` (`id`, `nick`, `pass`, `mail`, `codigo`, `estado`) VALUES
  96. (1, 'Felire', 'e10adc3949ba59abbe56e057f20f883e', '[email protected]', '4ea2ffdde8b28', 1),
  97. (2, 'Felires', 'e10adc3949ba59abbe56e057f20f883e', '[email protected]', '4ea4c6f353ecb', 1),
  98. (3, 'wachiturro', 'e10adc3949ba59abbe56e057f20f883e', '[email protected]', '4ea598a2632ed', 1);

Bueno esos son todos espero que los ayuden!!
  #4 (permalink)  
Antiguo 30/10/2011, 16:39
(Desactivado)
 
Fecha de Ingreso: agosto-2011
Mensajes: 42
Antigüedad: 12 años, 10 meses
Puntos: 9
Respuesta: Aporte, sistema de registro, login, comentarios, perfiles y mensajes priva

Lo tuve que dejar por partes porque sino no me entraba
  #5 (permalink)  
Antiguo 30/10/2011, 17:00
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 10 meses
Puntos: 793
Respuesta: Aporte, sistema de registro, login, comentarios, perfiles y mensajes priva

Gracias por el aporte, personalmente me gusta leer estos códigos para mejorarlos y/o aprender cosas nuevas.

Hay que tener varias cosas en cuenta:

- La SEGURIDAD
- La función eregi es obsoleta, es mejor que uses las funciones preg_*

Código PHP:
Ver original
  1. if(eregi("@" , $mail)){ //OBSOLETO

Luego te digo que más cuando lo lea bien.

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #6 (permalink)  
Antiguo 30/10/2011, 17:06
(Desactivado)
 
Fecha de Ingreso: agosto-2011
Mensajes: 42
Antigüedad: 12 años, 10 meses
Puntos: 9
Respuesta: Aporte, sistema de registro, login, comentarios, perfiles y mensajes priva

Cita:
Iniciado por andresdzphp Ver Mensaje
Gracias por el aporte, personalmente me gusta leer estos códigos para mejorarlos y/o aprender cosas nuevas.

Hay que tener varias cosas en cuenta:

- La SEGURIDAD
- La función eregi es obsoleta, es mejor que uses las funciones preg_*

Código PHP:
Ver original
  1. if(eregi("@" , $mail)){ //OBSOLETO

Luego te digo que más cuando lo lea bien.

Saludos.
Dale Dale !! muchas gracias por la respuesta
  #7 (permalink)  
Antiguo 30/10/2011, 19:48
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 15 años
Puntos: 641
Respuesta: Aporte, sistema de registro, login, comentarios, perfiles y mensajes priva

Interesante aporte gracias :)
  #8 (permalink)  
Antiguo 25/01/2012, 16:47
 
Fecha de Ingreso: enero-2012
Ubicación: <?php echo"Los teques"; ?>/////estado miranda
Mensajes: 196
Antigüedad: 12 años, 4 meses
Puntos: 9
Respuesta: Aporte, sistema de registro, login, comentarios, perfiles y mensajes priva

Código PHP:
Ver original
  1. <?php
  2. include("conexion.php");
  3. if($_SESSION['logeado'] == true){
  4.     if(isset($_POST['mandar'])){
  5.         if(isset($_POST['asunto']) && isset($_POST['mensaje'])){
  6.             $id = $_SESSION['idreceptor'];
  7.             $resultado = mysql_query("SELECT nick, id FROM pruebas WHERE (id = '$id')");
  8.             $fila = mysql_fetch_array($resultado);
  9.                 $idreceptor = $fila['id'];
  10.                 $para = $_POST['para'];
  11.                 $idnombre = $_SESSION['id'];
  12.                 $nombre = $_SESSION['nick'];
  13.                 $asunto = $_POST['asunto'];
  14.                 $mensaje = $_POST['mensaje'];
  15.                 if(mysql_query("INSERT INTO mensajes (nombre,mensaje,asunto,idnombre,para) VALUES ('$nombre', '$mensaje', '$asunto', '$idnombre', '$para')")){
  16.                     echo "Mensaje enviado con exito";
  17.                 }
  18.                 else{
  19.                     echo "Error al enviar el mensaje, por favor vuelva a intentarlo";
  20.                 }
  21.         }
  22.         else{
  23.             echo "Debe rellenar todos los campos para enviar un mensaje privado";
  24.         }
  25.     }
  26.     ?>
  27.     <html>
  28.     <head>
  29.     <title>Enviar mensaje</title>
  30.     </head>
  31.     <body>
  32.     <form method="post" action="enviarmensaje.php">
  33.     para<input name="para"></textarea>
  34.     Asunto<input type="text" name="asunto" />
  35.     Mensaje<textarea name="mensaje"></textarea>
  36.     <input type="submit" name="mandar" />
  37.     </form>
  38.     </body>
  39.     </html>
  40.     <?php
  41. }
  42. else{
  43.     echo "Para enviar un mensaje debe estar logeado";
  44. }
  45. ?>
edite el codigo para poner un para: pero no lo inserta en la tabla que hago?

ya lo solucione era que no me lo podia enviar a mi mismo usuario cree uno de prueba y anda todo bn

para los que quieran tener un receptor editen el enviar mensajes y pongan ese codigo y el leer mensajes y pongan este

Código PHP:
Ver original
  1. <?php
  2. include("conexion.php");
  3. if($_SESSION['logeado'] == true){
  4.     if(empty($_GET['idmensaje'])){
  5.         $id = $_SESSION['id'];
  6.         $nick = $_SESSION['nick'];
  7.         $resultado = mysql_query("SELECT * FROM mensajes WHERE (para = '$nick')");
  8.         echo "<table width='737' height='31' border='1'>";
  9.         echo "<tr>";
  10.         echo "<td width='109'>De:</td>";
  11.         echo "<td width='265'>Asunto:</td>";
  12.         echo "<td width='400'>Mensaje:</td>";
  13.         echo "</tr>";
  14.         echo "</table>";
  15.         while($fila = mysql_fetch_array($resultado)){
  16.         echo "<table width='737' height='31' border='1'>";
  17.         echo "<tr>";
  18.         echo "<td width='109'><a href='leermensaje.php?idmensaje=".$fila['idmensaje']."'>".$fila['nombre']."</a></td>";
  19.         echo "<td width='265'>".$fila['asunto']."</td>";
  20.         echo "<td width='400'>".$fila['mensaje']."</td>";
  21.         echo "</tr>";
  22.         echo "</table>";
  23.         }
  24.     }
  25.     else{
  26.         $idmensaje = $_GET['idmensaje'];
  27.         $resultado = mysql_query("SELECT nombre, mensaje, asunto FROM mensajes WHERE (idmensaje = '$idmensaje')");
  28.         $fila = mysql_fetch_array($resultado);
  29.         echo "De: ".$fila['nombre'];
  30.         echo "<br />";
  31.         echo "--------------------------------------------------------------------------------";
  32.         echo "<br />";
  33.         echo "Asunto: ".$fila['asunto'];
  34.         echo "<br />";
  35.         echo "--------------------------------------------------------------------------------";
  36.         echo "<br />";
  37.         echo "Mensaje: ".$fila['mensaje'];
  38.     }
  39. }
  40. else{
  41.     echo "Debe estar logeado para estar aqui";
  42. }
  43. ?>
y como hago para bloquear partes de mi web?

por cierto gracias a foros del web estoy aprendiendo de php asi que gracias felire por este aporte

Última edición por omarinfinito; 25/01/2012 a las 18:22
  #9 (permalink)  
Antiguo 12/02/2014, 07:40
 
Fecha de Ingreso: febrero-2014
Ubicación: Alhama
Mensajes: 3
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: Aporte, sistema de registro, login, comentarios, perfiles y mensajes priva

Saludos!!

Antes de nada quiero aprovechar esta oportunidad y agradecerle a felir por este interesante aporte y a forosdelweb por crear esta comunidad. Estoy muy contento por ser parte de ella.

Actualmente estoy trabajando en un pequeño proyecto y sinceramente tengo muy poco conocimiento acerca de trabajar con php, aunque ya he aprendido bastante y eso gracias a personas como ustedes.

Este aporte me ha servido mucho, aunque la verdad tengo algunas dificultades para hacerlo funcionar bien, ya que al registrarse me sale
Deprecated: Function eregi() is deprecated in /home/u375176224/public_html/registro.php on line 24 Los datos han sido enviados correctamente

y en la linea 24=> if(eregi ("@" , $mail)){

aparte de que no me permite entrar al registrarme, por no activar la cuenta y al intentar para confirmar no me sale nada.


Porfavor si alguien puede ayudarme estare muy agradecido, aunque la verdad no se si es buena idea ya que el aporte fue del 2011.

Un gran saludo a todos.
  #10 (permalink)  
Antiguo 12/02/2014, 08:54
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 2 meses
Puntos: 2534
Respuesta: Aporte, sistema de registro, login, comentarios, perfiles y mensajes priva

Cita:
Iniciado por bengold Ver Mensaje
[...] Porfavor si alguien puede ayudarme estare muy agradecido, aunque la verdad no se si es buena idea ya que el aporte fue del 2011. [...]
Te invito a leer las normas del foro y sobre todo, te invito a que aprendas a usarlo.

Es obvio que responder en un tema viejo no da buenos frutos, ¿qué tan complicado es abrir uno nuevo explicando tu problema?

Pon atención en lo que haces por favor.

PDTA: ya no respondas a este tema, abre un tema nuevo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: login, mensajes, registro, sistema, aportes
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.
Respuesta

SíEste tema le ha gustado a 5 personas




La zona horaria es GMT -6. Ahora son las 06:41.