Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/10/2011, 16:36
felire
(Desactivado)
 
Fecha de Ingreso: agosto-2011
Mensajes: 42
Antigüedad: 13 años, 4 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. ?>