PHP - Ayuda en consulta UPDATE

 
Vista:
sin imagen de perfil
Val: 53
Ha disminuido su posición en 15 puestos en PHP (en relación al último mes)
Gráfica de PHP

Ayuda en consulta UPDATE

Publicado por raquel (27 intervenciones) el 04/07/2020 19:36:41
Buenas tardes, ando haciendo un sistema de verificación de login y al hacer la consulta update para modificar que el usuario ha verificado su cuenta no hay manera de que entre en el if. Nótese que he marcado con un var_dump y un echo para ir controlando en que parte fallaba, y justo ya el echo "4" no lo muestra. Delo el código por si alguien ve un error que yo no veo pues mil ojos ven mas que dos.

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
if(isset($_GET['token'])){
	$token = $_GET['token'];
	//var_dump($token);
	//verificamos usuario
	$sql = "SELECT * FROM usuario WHERE token=:token LIMIT 1";
	$query = $pdo -> prepare($sql);
 
	$query ->bindParam(':token', $token);
	$query ->execute();
	$user = $query ->fetchAll(PDO::FETCH_ASSOC);
	//var_dump($user);
 
 
 
 
	if($user>0){
 
		$update_query = "UPDATE usuario SET verified=1 WHERE token= :token";
		var_dump($update_query);
		echo "1 </br>";
 
		$resultado= $pdo -> prepare($update_query);
		$resultado ->bindParam(':token', $token);
		$resultado ->execute();
		var_dump($resultado);
		echo "2 </br>";
		$res = $resultado ->rowCount();
		var_dump($res);
		echo "3 </br>";
 
		if($res>0){ <-- AQUI ES DONDE NO ENTRA!
			//si la verificación es exitosa logueamos al usuario
 
			//session_start();
			echo "4";
				$_SESSION['id_usuario'] = $user['id_usuario'];
				$_SESSION['nombre'] = $user['nombre'];
				$_SESSION['email'] = $user['email'];
				$_SESSION['verified'] = 1;
 
				//set flash message
 
				$_SESSION['message']= "Tu correo electrónico ha sido verificado satisfactoriamente!";
				$_SESSION['alert-class'] = "alert-success";
 
				header('location: dashboard.php');
				exit();
		}
 
 
	}else{
			echo "Usuario no encontrado";
	}
}
 
 
if(isset($_SESSION['id_usuario'])){
	header('location:dashboard.php');
 
	exit();
}

Muchas gracias de antemano!!
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
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ayuda en consulta UPDATE

Publicado por joel (1269 intervenciones) el 05/07/2020 14:24:54
Hola Raquel, lo unico que se me ocurre es que el campo que actualizas, ya tenga el verified=1, por lo que no realiza ninguna actualización y no obtiene valor el rowCount().

Podría ser?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 53
Ha disminuido su posición en 15 puestos en PHP (en relación al último mes)
Gráfica de PHP

Ayuda en consulta UPDATE

Publicado por raquel (27 intervenciones) el 06/07/2020 14:00:13
yo pensé lo mismo Joel, me ocurre que cuando le doy al link de verificación me lleva a la pagina de dashboard, pero ésta no me muestra las variables de session del usuario que acaba de verificar, sin embargo en la base de datos si se actualiza. Luego si vuelvo a clicar en el link entonces ya me muestra todos los echos y los var_dump que tengo puestos, pero en el primer clic no. He pensado que podía ser porque estoy desde el localhost, pero aun así al menos en el primer clic deberia de mostrarme las variables... con lo que yo entiendo que no me está entrando en el if que muestra las variables de session...
Voy loca con esta historia, por eso he preguntado a ver si a alguien se le ocurre o ve algo que yo no estoy viendo.
Muchas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar