Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] UPDATE password= hash

Estas en el tema de UPDATE password= hash en el foro de PHP en Foros del Web. hola amigos tengo este problemita cuando trato de actualizar el password: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original Parse error : syntax error , unexpected '' ...
  #1 (permalink)  
Antiguo 15/02/2017, 18:27
Avatar de aviweb2015  
Fecha de Ingreso: abril-2016
Ubicación: venezuela
Mensajes: 215
Antigüedad: 8 años
Puntos: 1
UPDATE password= hash

hola amigos tengo este problemita cuando trato de actualizar el password:

Código PHP:
Ver original
  1. Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:


sera que mi UPDATE esta mal formulado, anexo el codigo y gracias de ante mano

Código PHP:
Ver original
  1. <?php
  2.  {
  3.  
  4.   if(isset($_POST['edita'])) {
  5.        
  6.  
  7.   if($_POST['password'] != $_POST['usuario_clave_conf']) {
  8.        
  9. echo "<div class='col s12 card-panel blue lighten-2 center'>
  10. <h5 class='black-text text-darken-2 center CONDENSED LIGHT5'>
  11. ¡ Ups Aviso: Las Contraseñas Ingresadas no Coinciden !
  12. </h5>
  13. </div>";
  14. header("refresh:5;mipass.php");
  15.  
  16.             }else {
  17.  
  18.  
  19.  
  20. $user = $_SESSION['user'];
  21. $password = $_POST['password'];
  22.  
  23. $sql = "UPDATE usuarios SET password= :password WHERE user= :user"; //Creamos la select
  24. $perfil = $DB_con->prepare($sql); //Preparamos la SELECT, de ésta manera evitamos SQL Injection
  25. $password= hash('sha256', $_POST['password']);
  26. $perfil->bindParam(':password',$password,PDO::PARAM_STR);
  27. $perfil->execute();
  28. if($sql) {
  29.  
  30.  
  31. header("refresh:5;home.php");
  32.  
  33. $mensaje = "<div class='col s12 card-panel cyan darken-4 center'>
  34. <h5 class='black-text text-darken-2 center CONDENSED LIGHT5'>¡ Exelente: Contraseña Actualizada Correctamente !</h5></div>";
  35.  
  36.                 }else {
  37.  
  38.  
  39.     header("refresh:5;mipass.php");
  40.  
  41. $mensaje = "<div class='col s12 card-panel blue lighten-2 center'>
  42. <h5 class='black-text text-darken-2 center CONDENSED LIGHT5'>
  43. ¡ Ups Aviso: No se Pudo Cambiar la Contraseña !
  44. </h5>
  45. </div>";
  46.  
  47.      
  48.                 }
  49.             }
  50.         }
  51.  
  52.         else {
  53.  
  54.  
  55.                 }
  56.     }
  57.  
  58.        
  59.    
  60.          
  61. ?>
__________________
yoclens avilan
  #2 (permalink)  
Antiguo 16/02/2017, 03:11
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: UPDATE password= hash

Hola aviweb2015,

Eso tiene toda la pinta de que se te ha colado o te falta algún carácter, por eso para ayudarte, sería mejor que nos copies el número de línea en el que te da el error y el código de las 10 líneas anteriores y posteriores, con su número para identificarlas, claro.
  #3 (permalink)  
Antiguo 16/02/2017, 09:16
Avatar de aviweb2015  
Fecha de Ingreso: abril-2016
Ubicación: venezuela
Mensajes: 215
Antigüedad: 8 años
Puntos: 1
Respuesta: UPDATE password= hash

hola rbczgz gracias por esponder hecho algunas modificaciones, y ahora hace todo el proceso bien pero en la base de datos no cambia el pass anexo el codigo

Código PHP:
Ver original
  1. <?php
  2.  {
  3.  
  4.   if(isset($_POST['edita'])) {
  5.        
  6.  
  7.   if($_POST['password'] != $_POST['usuario_clave_conf']) {
  8.        
  9. echo "<div class='col s12 card-panel blue lighten-2 center'>
  10. <h5 class='black-text text-darken-2 center CONDENSED LIGHT5'>
  11. ¡ Ups Aviso: Las Contraseñas Ingresadas no Coinciden !
  12. </h5>
  13. </div>";
  14. header("refresh:5;mipass.php");
  15.  
  16.             }else {
  17.  
  18.  
  19.  
  20. $user = $_SESSION['user'];
  21. $password = $_POST['password'];
  22.  
  23. $sql = "UPDATE usuarios SET password= :password WHERE user= :user"; //Creamos la select
  24. $perfil = $DB_con->prepare($sql); //Preparamos la SELECT, de ésta manera evitamos SQL Injection
  25. $password= hash('sha256', $_POST['password']);
  26. $perfil->bindParam(':password',$password,PDO::PARAM_STR);
  27. $perfil->bindParam(':user', $_POST['user'],PDO::PARAM_STR);
  28. $perfil->execute();
  29. if($perfil) {
  30.  
  31.  
  32. header("refresh:5;home.php");
  33.  
  34. $mensaje = "<div class='col s12 card-panel cyan darken-4 center'>
  35. <h5 class='black-text text-darken-2 center CONDENSED LIGHT5'>¡ Exelente: Contraseña Actualizada Correctamente !</h5></div>";
  36.  
  37.                 }else {
  38.  
  39.  
  40.     header("refresh:5;mipass.php");
  41.  
  42. $mensaje = "<div class='col s12 card-panel blue lighten-2 center'>
  43. <h5 class='black-text text-darken-2 center CONDENSED LIGHT5'>
  44. ¡ Ups Aviso: No se Pudo Cambiar la Contraseña !
  45. </h5>
  46. </div>";
  47.  
  48.      
  49.                 }
  50.             }
  51.         }
  52.  
  53.         else {
  54.  
  55.  
  56.                 }
  57.     }
  58.  
  59.        
  60.    
  61.          
  62. ?>
__________________
yoclens avilan
  #4 (permalink)  
Antiguo 16/02/2017, 12:43
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: UPDATE password= hash

Ya tienes una variable $user, que proviene de sesión, pero, no la usas para enlazar el valor:

Código PHP:
Ver original
  1. $perfil->bindParam(':user', $_POST['user'],PDO::PARAM_STR);

Puedes usar esa variable o tomar el valor de sesión, pero creo que no vendrá en $_POST.
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 16/02/2017, 14:52
Avatar de aviweb2015  
Fecha de Ingreso: abril-2016
Ubicación: venezuela
Mensajes: 215
Antigüedad: 8 años
Puntos: 1
Respuesta: UPDATE password= hash

Cita:
Iniciado por Triby Ver Mensaje
Ya tienes una variable $user, que proviene de sesión, pero, no la usas para enlazar el valor:

Código PHP:
Ver original
  1. $perfil->bindParam(':user', $_POST['user'],PDO::PARAM_STR);

Puedes usar esa variable o tomar el valor de sesión, pero creo que no vendrá en $_POST.
una pregunta amigo Triby porque sabes tanto xd, ese era el error anexo como debería quedar gracias amigo

Código PHP:
Ver original
  1. $user = $_SESSION['user'];
  2. $password = $_POST['password'];
  3.  
  4. $sql = "UPDATE usuarios SET password= :password WHERE user= :user"; //Creamos la select
  5. $perfil = $DB_con->prepare($sql); //Preparamos la SELECT, de ésta manera evitamos SQL Injection
  6. $password= hash('sha256', $_POST['password']);
  7. $perfil->bindParam(':password',$password,PDO::PARAM_STR);
  8. $perfil->bindParam(':user', $_SESSION['user'],PDO::PARAM_STR);
  9. $perfil->execute();
  10. if($perfil) {
__________________
yoclens avilan

Etiquetas: hash, password, select, sql, update, usuario, variable
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




La zona horaria es GMT -6. Ahora son las 12:57.