PHP - ayuda: RESTABLECER CONTRASEÑA MEDIANTE CORREO ELECTRÓNICO CON PHP Y MYSQL

   
Vista:

ayuda: RESTABLECER CONTRASEÑA MEDIANTE CORREO ELECTRÓNICO CON PHP Y MYSQL

Publicado por luis (1 intervención) el 31/10/2015 02:03:06
necesito ayuda.. he terminado la parte de sesion y creacion de usuario.

ahora me falta la parte de restablecer password con email..

he visto este link:
http://www.codedrinks.com/restablecer-contrasena-mediante-correo-electronico-con-php-y-mysql/

esta perfecto, pero el detalle es que yo tengo una tabla:

1
2
`password` CHAR(128) NOT NULL,
`salt` CHAR(128) NOT NULL


he tratado de implementar el link que les he dado.. pero como hago para decirle que me acepte 128 caracteres.

he modificado el Archivo: cambiarpassword.php con esta parte:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?php
 
	$conexion = new mysqli('localhost', 'root', '', 'ingles');
	$sql = " SELECT * FROM reset_pass WHERE token = '$token' ";
 
	$resultado = $conexion->query($sql);
	if( $resultado->num_rows > 0 ){
		$usuario = $resultado->fetch_assoc();
		if( sha1( $usuario['idusuario'] === $idusuario ) ){
			if( $password1 === $password2 ){
 
 
 
 
 
	$sql = "UPDATE usuario SET password = '".sha1($password1)."', salt = '".sha1($password2)."' WHERE id = ".$usuario['idusuario'];


	/***************************************************/ 
        $password1 = filter_input(INPUT_POST, 'p', FILTER_SANITIZE_STRING);
             if (strlen($random_salt) != 128 && strlen($password1) != 128){
        // La contraseña con hash deberá ser de 128 caracteres.
        // De lo contrario, algo muy raro habrá sucedido. 
            $error_msg = '<p class="error">Invalid password configuration.</p>';
        }

		//$random_salt = hash('sha512', uniqid(openssl_random_pseudo_bytes(16), TRUE)); // Did not work
        $random_salt = hash('sha512', uniqid(mt_rand(1, mt_getrandmax()), true));
 
        // Crea una contraseña con sal. 
        $password = hash('sha512', $password1 . $random_salt);
		var_dump($password);
 
	/***************************************************/	
 
 
				$resultado = $conexion->query($sql);
				if($resultado){
					$sql = "DELETE FROM reset_pass WHERE token = '$token';";
					$resultado = $conexion->query( $sql );
				?>
					<p align="center"> La contraseña se actualizó con exito, Ahora podrá ingresar al Sistema con su nueva contraseña. </p>
                    <p>
                    <p align="center">Darle click al link: <a href="login.php">página de acceso de usuarios</a> para ingresar</p>
				<?php
				}
				else{
				?>
					<p> Ocurrió un error al actualizar la contraseña, intentalo más tarde </p>
				<?php
				}
			}
			else{
			?>
			<p> Las contraseñas ingresadas no coinciden </p>
			<?php
			}
 
		}
		else{
?>




pero me sale error.. he probado ya varios dias, pero nada.. se que en este archivo debo modificar pero no puedo.. no soy un experto en programacion, pero alguien podria ayudarme....
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder