Bonjour,

Je désirerais une aide pour un erreur lors de la validation de mon formulaire de changement de mot de passe. Pour ce formulaire, j'ai suivi un tutoriel vidéo des teachers du net, mais une erreur se fait chez moi là ou elle ne se fait pas chez lui (voici le lien: https://youtu.be/pU_tqm_pwZU?list=PL...E97dmvlwNfBJh6 ).

Mon erreur est peut-être simple, étant donné de sa localisation, mais je n'arrive pas à la corriger étant donné que je débute...

L'erreur:
Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens
Apparemment, elle se situe au niveau de 'id' => get_session('user_id')
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
if(count($errors) == 0){
			$q = $db->prepare("SELECT password AS hashed_password 
					FROM users 
					WHERE (id = :id )
					AND active = '1'"); 
 
			$q->execute([
				'id' => get_session('user_id')
			]);
 
			$user = $q->fetch(PDO::FETCH_OBJ);
 
			if($user && bcrypt_verify_password($current_password, $user->hashed_password)){
				$q = $db->prepare("UPDATE users 
						SET password = :password
						WHERE id = :id"); 
				$q->execute([
					'password' => bcrypt_hash_password($new_password, PASSWORD_BCRYPT),
					'id' => get_session('user_id'),
				]);
 
				set_flash("Votre mot de passe a été mis à jour.");
				redirect('profile.php?id='.get_session('user_id'));
			} else {
				save_input_data();
				$errors[] = "Le mot de passe actuel indiqué est incorrect";
			}
		}

merci d'avance pour votre attention