Ver Mensaje Individual
  #3 (permalink)  
Antiguo 09/07/2014, 13:55
Avatar de jeisonr
jeisonr
 
Fecha de Ingreso: julio-2014
Mensajes: 22
Antigüedad: 9 años, 9 meses
Puntos: 0
Eliminacion,modificacion,ingreso de usuarios en php 3

recuperar_contrasena.php

Código PHP:
Ver original
  1. <?php
  2.     include('acceso_db.php'); // incluímos los datos de acceso a la BD
  3. ?>
  4.  
  5. <html lang="en">
  6. <head>
  7.     <meta charset="UTF-8">
  8.     <title>Document</title>
  9. </head>
  10. <body>
  11.     <?php
  12.         if(isset($_POST['enviar'])) { // comprobamos que se han enviado los datos del formulario
  13.             if(empty($_POST['usuario_nombre'])) {
  14.                 echo "No ha ingresado el usuario. <a href='javascript:history.back();'>Reintentar</a>";
  15.             }else {
  16.                 $usuario_nombre = mysql_real_escape_string($_POST['usuario_nombre']);
  17.                 $usuario_nombre = trim($usuario_nombre);
  18.                 $sql = mysql_query("SELECT usuario_nombre, usuario_clave, usuario_email FROM usuarios WHERE usuario_nombre='".$usuario_nombre."'");
  19.                 if(mysql_num_rows($sql)) {
  20.                     $row = mysql_fetch_assoc($sql);
  21.                     $num_caracteres = "10"; // asignamos el número de caracteres que va a tener la nueva contraseña
  22.                     $nueva_clave = substr(md5(rand()),0,$num_caracteres); // generamos una nueva contraseña de forma aleatoria
  23.                     $usuario_nombre = $row['usuario_nombre'];
  24.                     $usuario_clave = $nueva_clave; // la nueva contraseña que se enviará por correo al usuario
  25.                     $usuario_clave2 = md5($usuario_clave); // encriptamos la nueva contraseña para guardarla en la BD
  26.                     $usuario_email = $row['usuario_email'];
  27.                     // actualizamos los datos (contraseña) del usuario que solicitó su contraseña
  28.                     mysql_query("UPDATE usuarios SET usuario_clave='".$usuario_clave2."' WHERE usuario_nombre='".$usuario_nombre."'");
  29.                     // Enviamos por email la nueva contraseña
  30.                     $remite_nombre = ""; // Tu nombre o el de tu página
  31.                     $remite_email = ""; // tu correo
  32.                     $asunto = "Recuperación de contraseña"; // Asunto (se puede cambiar)
  33.                     $mensaje = "Se ha generado una nueva contraseña para el usuario <strong>".$usuario_nombre."</strong>. La nueva contraseña es: <strong>".$usuario_clave."</strong>.";
  34.                     $cabeceras = "From: ".$remite_nombre." <".$remite_email.">\r\n";
  35.                     $cabeceras = $cabeceras."Mime-Version: 1.0\n";
  36.                     $cabeceras = $cabeceras."Content-Type: text/html";
  37.                     $enviar_email = mail($usuario_email,$asunto,$mensaje,$cabeceras);
  38.                     if($enviar_email) {
  39.                         echo "La nueva contraseña ha sido enviada al email asociado al usuario ".$usuario_nombre.".";
  40.                     }else {
  41.                         echo "No se ha podido enviar el email. <a href='javascript:history.back();'>Reintentar</a>";
  42.                     }
  43.                 }else {
  44.                     echo "El usuario <strong>".$usuario_nombre."</strong> no está registrado. <a href='javascript:history.back();'>Reintentar</a>";
  45.                 }
  46.             }
  47.         }else {
  48.     ?>
  49.         <form action="<?=$_SERVER['PHP_SELF']?>" method="post">
  50.             <label>Usuario:</label><br />
  51.             <div style="text-align:center;">
  52.             <input type="text" name="usuario_nombre" /><br />
  53.             <input type="submit" name="enviar" value="Enviar" />
  54.             </div>
  55.         </form>
  56.     <?php
  57.         }
  58.     ?>
  59. </body>
  60. </html>

registro.php

Código PHP:
Ver original
  1. <?php
  2.     include('acceso_db.php');
  3.     ?>
  4. <html lang="en">
  5. <head>
  6.     <meta charset="UTF-8">
  7. </head>
  8. <body>
  9.      <?php
  10.         if(isset($_POST['enviar'])) { // comprobamos que se han enviado los datos desde el formulario
  11.             // creamos una función que nos parmita validar el email
  12.             function valida_email($correo) {
  13.                 if (preg_match('/^[A-Za-z0-9-_.+%]+@[A-Za-z0-9-.]+\.[A-Za-z]{2,4}$/', $correo)) return true;
  14.                 else return false;
  15.             }
  16.             // Procedemos a comprobar que los campos del formulario no estén vacíos
  17.             $sin_espacios = count_chars($_POST['usuario_nombre'], 1);
  18.             if(!empty($sin_espacios[32])) { // comprobamos que el campo usuario_nombre no tenga espacios en blanco
  19.                 echo "El campo <em>usuario_nombre</em> no debe contener espacios en blanco. <a href='javascript:history.back();'>Reintentar</a>";
  20.             }elseif(empty($_POST['usuario_nombre'])) { // comprobamos que el campo usuario_nombre no esté vacío
  21.                 echo "No haz ingresado tu usuario. <a href='javascript:history.back();'>Reintentar</a>";
  22.             }elseif(empty($_POST['usuario_clave'])) { // comprobamos que el campo usuario_clave no esté vacío
  23.                 echo "No haz ingresado contraseña. <a href='javascript:history.back();'>Reintentar</a>";
  24.             }elseif($_POST['usuario_clave'] != $_POST['usuario_clave_conf']) { // comprobamos que las contraseñas ingresadas coincidan
  25.                 echo "Las contraseñas ingresadas no coinciden. <a href='javascript:history.back();'>Reintentar</a>";
  26.             }elseif(!valida_email($_POST['usuario_email'])) { // validamos que el email ingresado sea correcto
  27.                 echo "El email ingresado no es válido. <a href='javascript:history.back();'>Reintentar</a>";
  28.                  }elseif(empty($_POST['name'])) { // comprobamos que el campo name no esté vacío
  29.                 echo "No haz ingresado Nombres. <a href='javascript:history.back();'>Reintentar</a>";
  30.                  }elseif(empty($_POST['ap'])) { // comprobamos que el campo ap no esté vacío
  31.                 echo "No haz ingresado Apellidos. <a href='javascript:history.back();'>Reintentar</a>";
  32.             }else {
  33.                 // "limpiamos" los campos del formulario de posibles códigos maliciosos
  34.                 $usuario_nombre = mysql_real_escape_string($_POST['usuario_nombre']);
  35.                 $usuario_clave = mysql_real_escape_string($_POST['usuario_clave']);
  36.                 $usuario_email = mysql_real_escape_string($_POST['usuario_email']);
  37.                 $name =  mysql_real_escape_string($_POST["name"]);
  38.                 $ap = mysql_real_escape_string($_POST["ap"]);
  39.                 // comprobamos que el usuario ingresado no haya sido registrado antes
  40.                 $sql = mysql_query("SELECT usuario_nombre FROM usuarios WHERE usuario_nombre='".$usuario_nombre."'");
  41.                 if(mysql_num_rows($sql) > 0) {
  42.                     echo "El nombre usuario elegido ya ha sido registrado anteriormente. <a href='javascript:history.back();'>Reintentar</a>";
  43.                 }else {
  44.                     $usuario_clave = md5($usuario_clave); // encriptamos la contraseña ingresada con md5
  45.                     // ingresamos los datos a la BD
  46.                     $reg = mysql_query("INSERT INTO usuarios (usuario_nombre, usuario_clave, usuario_email, Nombres, Apellidos, usuario_freg) VALUES
  47.                     ('".$usuario_nombre."', '".$usuario_clave."', '".$usuario_email."','".$name."','".$ap."', NOW())");
  48.                     if($reg) {
  49.                          echo '<script language="JavaScript" type="text/javascript">
  50.                             alert("Datos ingresados correctamente..");
  51.                              function redirection(){  
  52.                           window.location ="index.php";
  53.                           }  setTimeout ("redirection()");
  54.                             </script>';
  55.                     }else {
  56.                         echo "ha ocurrido un error y no se registraron los datos.";
  57.                     }
  58.                 }
  59.             }
  60.         }else {
  61.            
  62.        
  63.     ?>
  64.    
  65.         <form action="<?=$_SERVER['PHP_SELF']?>" method="post">
  66.        
  67.         <table   style="margin: 0 auto width="221" cellspacing="7" cellpadding="7" border="8" bgcolor="#1E679A">
  68.             <tr>
  69.                <td><font color="#FFFFFF" face="arial, verdana, helvetica">
  70.                <div style="text-align:center;">
  71.             <form action="<?=$_SERVER['PHP_SELF']?>" method="post">
  72.                 <label>Usuario:</label><br />
  73.                 <input type="text" name="usuario_nombre" maxlength="15" /><br />
  74.                 <label>Contraseña:</label><br />
  75.                 <input type="password" name="usuario_clave" maxlength="15" /><br />
  76.                 <label>Confirmar Contraseña:</label><br />
  77.                 <input type="password" name="usuario_clave_conf" maxlength="15" /><br />
  78.                 <label>Correo:</label><br />
  79.                 <input type="text" name="usuario_email" maxlength="50" /><br />
  80.                 <label>Nombres:</label><br />
  81.                 <input type="text" name="name" maxlength="50" /><br />
  82.                 <label>Apellidos:</label><br />
  83.                 <input type="text" name="ap" maxlength="50" /><br />
  84.                 <input type="submit" name="enviar" value="Registrar" />
  85.                 <input type="reset" value="Borrar" />
  86.                 <a href="acceso.php" target="_self"> <input type="button" name="boton" value="Ingresar" />
  87.         </table>
  88.                    
  89.         </font></td>
  90.             </tr>          
  91.                 </div>
  92.             </form>
  93.     <?php
  94.         }
  95.     ?>
  96.    
  97. </body>
  98. </html>
y la bd es

Código SQL:
Ver original
  1. CREATE TABLE `usuarios` (
  2.     `usuario_id` INT(4) NOT NULL AUTO_INCREMENT,
  3.     `usuario_nombre` VARCHAR(20) NOT NULL DEFAULT '',
  4.     `usuario_clave` VARCHAR(32) NOT NULL DEFAULT '',
  5.     `usuario_email` VARCHAR(50) NOT NULL DEFAULT '',
  6.     `Nombres` VARCHAR(40) NOT NULL,
  7.     `Apellidos` VARCHAR(40) NOT NULL,
  8.     `usuario_freg` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  9.     PRIMARY KEY (`usuario_id`)
  10. )

Si saben como hacer para generar diferentes tipos de usuario ME EXPLICO administradores y usuarios naturales les agradesco ESPERO LES SIRVA

Última edición por jeisonr; 09/07/2014 a las 15:42