Professional Documents
Culture Documents
Cdigos de Programacin
Un sitio web que te ayuda a aprender los diferentes lenguajes de programacin con cursos y tutoriales.
LINUX
Suscribirse es Gratis!!!
Cdigos de Programacin
YouTube
Uncategorized
Requisitos:
Servidor Web, PHP (5.5 o superior) y MySQL. Ver Capitulo 1
Capitulo 20: Registro de usuarios
Sguenos en Facebook
Cdigos de Programacin
En la descarga al final del post incluimos los formularios con libreras, hojas de estilo,
javascripts y archivo sql con la base de datos, la estructura de carpetas es la
Categoras
siguiente:
Bases de Datos
Java
Linux
MySQL
Noticias
PHP
Iniciamos con la pantalla de recuperacin de contrasea, recupera.php Programacin
1 <?php Trucos
2 require 'funcs/conexion.php';
3 include 'funcs/funcs.php'; Tutoriales
4
5 session_start(); Ubuntu
6
7 if(isset($_SESSION["id_usuario"])){ Uncategorized
8 header("Location: welcome.php");
9 }
10
11 $errors = array();
12
13 if(!empty($_POST))
14 {
15 $email = $mysqli->real_escape_string($_POST['email']);
16
17 if(!isEmail($email))
18 {
19 $errors[] = "Debe ingresar un correo electronico valido";
20 }
21
22 if(emailExiste($email))
23 {
24 $user_id = getValor('id', 'correo', $email);
25 $nombre = getValor('nombre', 'correo', $email);
26
27 $token = generaTokenPass($user_id);
28
29 $url = 'http://'.$_SERVER["SERVER_NAME"].'/login/cambia_pass.php?user_id='.
30
31 $asunto = 'Recuperar Password - Sistema de Usuarios';
32 $cuerpo = "Hola $nombre: <br /><br />Se ha solicitado un reinicio de contraseña. <br/><br/>Para restaurar la contrase
33
34 if(enviarEmail($email, $nombre, $asunto, $cuerpo)){
35 echo "Hemos enviado un correo electronico a las direcion $email para restablecer tu password.<br />"
36 echo "<a href='index.php' >Iniciar Sesion</a>";
37 exit;
38 }
39 } else {
40 $errors[] = "La direccion de correo electronico no existe";
41 }
42 }
43 ?>
44 <html>
45 <head>
46 <title>Recuperar Password</title>
47
48 <link rel="stylesheet" href="css/bootstrap.min.css" >
49 <link rel="stylesheet" href="css/bootstrap-theme.min.css" >
50 <script src="js/bootstrap.min.js" ></script>
51 </head>
52
53 <body>
54
55 <div class="container">
56 <div id="loginbox" style="margin-top:50px;" class="mainbox col-md-6 col-md-offset-3 col-sm-8 col-sm-offset-2"
57 <div class="panel panel-info" >
58 <div class="panel-heading">
59 <div class="panel-title">Recuperar Password</div>
60 <div style="float:right; font-size: 80%; position: relative; top:-10px"
61 </div>
62
63 <div style="padding-top:30px" class="panel-body" >
64
65 <div style="display:none" id="login-alert" class="alert alert-danger col-sm-12"
66
67 <form id="loginform" class="form-horizontal" role="form" action
68
69 <div style="margin-bottom: 25px" class="input-group">
70 <span class="input-group-addon"><i class="glyphicon glyphicon-user"
71 <input id="email" type="email" class="form-control" name
72 </div>
73
74 <div style="margin-top:10px" class="form-group">
75 <div class="col-sm-12 controls">
76 <button id="btn-login" type="submit" class="btn btn-success"
77 </div>
78 </div>
79
80 <div class="form-group">
81 <div class="col-md-12 control">
82 <div style="border-top: 1px solid#888; padding-top:15px; font-size:85%"
83 No tiene una cuenta! <a href="registro.php">Registrate
84 </div>
85 </div>
86 </div>
87 </form>
88 <?php echo resultBlock($errors); ?>
89 </div>
90 </div>
91 </div>
92 </div>
93 </body>
94 </html>
1 <?php
2 require 'funcs/conexion.php';
3 include 'funcs/funcs.php';
4 session_start();
5
6 if(empty($_GET['user_id'])){
7 header('Location: index.php');
8 }
9
10 if(empty($_GET['token'])){
11 header('Location: index.php');
12 }
13
14 $user_id = $mysqli->real_escape_string($_GET['user_id']);
15 $token = $mysqli->real_escape_string($_GET['token']);
16
17 if(!verificaTokenPass($user_id, $token))
18 {
19 echo 'No se pudo verificar los Datos';
20 exit;
21 }
22 ?>
23 <html>
24 <head>
25 <title>Cambiar Password</title>
26
27 <link rel="stylesheet" href="css/bootstrap.min.css" >
28 <link rel="stylesheet" href="css/bootstrap-theme.min.css" >
29 <script src="js/bootstrap.min.js" ></script>
30
31 </head>
32
33 <body>
34
35 <div class="container">
36 <div id="loginbox" style="margin-top:50px;" class="mainbox col-md-6 col-md-offset-3 col-sm-8 col-sm-offset-2"
37 <div class="panel panel-info" >
38 <div class="panel-heading">
39 <div class="panel-title">Cambiar Password</div>
40 <div style="float:right; font-size: 80%; position: relative; top:-10px"
41 </div>
42
43 <div style="padding-top:30px" class="panel-body" >
44
45 <form id="loginform" class="form-horizontal" role="form" action
46
47 <input type="hidden" id="user_id" name="user_id" value ="<?php
48
49 <input type="hidden" id="token" name="token" value ="<?php
50
51 <div class="form-group">
52 <label for="password" class="col-md-3 control-label">Nuevo
53 <div class="col-md-9">
54 <input type="password" class="form-control" name="password"
55 </div>
56 </div>
57
58 <div class="form-group">
59 <label for="con_password" class="col-md-3 control-label"
60 <div class="col-md-9">
61 <input type="password" class="form-control" name="con_password"
62 </div>
63 </div>
64
65 <div style="margin-top:10px" class="form-group">
66 <div class="col-sm-12 controls">
67 <button id="btn-login" type="submit" class="btn btn-success"
68 </div>
69 </div>
70 </form>
71 </div>
72 </div>
73 </div>
74 </div>
75 </body>
76 </html>
Verificamos si los datos que esta proporcionado en la url son validos y mostramos el
formulario para agregar un nuevo password, en caso de que los datos no sean
validos no muestra el formulario.
1 <?php
2 require 'funcs/conexion.php';
3 include 'funcs/funcs.php';
4
5 $user_id = $mysqli->real_escape_string($_POST['user_id']);
6 $token = $mysqli->real_escape_string($_POST['token']);
7 $password = $mysqli->real_escape_string($_POST['password']);
8 $con_password = $mysqli->real_escape_string($_POST['con_password']);
9
10 if(validaPassword($password, $con_password))
11 {
12
13 $pass_hash = hashPassword($password);
14
15 if(cambiaPassword($pass_hash, $user_id, $token))
16 {
17 echo "Contraseña Modificada <br> <a href='index.php' >Iniciar Sesion</a>"
18 }
19 else
20 {
21 echo "Error al modificar contraseña";
22 }
23 }
24 else
25 {
26 echo 'Las contraseas no coinciden';
27 }
28 ?>