Bonjour,

J'ai vraiment besoin d'aide à propos de ce code ajax, puis PHP :

Code javascript : 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
function changePassword(){
	if($('#pass1').val() != $('#pass2').val()){
		$("#resultat").empty();
		$("#resultat").append("<p style='color: red;'>Erreur : Le mot de passe ou le pseudo est faux</p>");
	}else{
		$.ajax({
			type: 'POST',
			url: '/authentif/passwordChange.php',
			data: {"id" : $('#id').val()
				 "password" : $('#pass1').val()
			},
			dataType:'JSON',
			complete: function(a,b){
				window.location.reload();
			}
		});
	}
}

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
<?php
try{
        $bdd = new PDO('mysql:host=172.16.1.39;dbname=nagiosplus;charset=utf8', 'nagiosplus', '#######"');
}
catch (Exception $e){
        die('Erreur : ' . $e->getMessage());
}
print_r($_POST);
$id= json_decode($_POST['id'], true);
$password= json_decode($_POST['password'], true);
// $id= json_decode($_POST['user_id'], true);
echo $id;
$salt = openssl_random_pseudo_bytes(22);
$salt = '$2a$%13$' . strtr(base64_encode($salt), array('_' => '.', '~' => '/'));
$password_hash = crypt($password, $salt); // Cryptage du mot de passe à enregistrer
$lenght_hash = crypt(strlen($password), $salt); // Cryptage du mot de passe à enregistrer
echo $password."<br />";
echo $password_hash."<br />";
echo strlen($password)."<br />";
echo $lenght_hash."<br />";
// $req = $bdd->prepare('Update User set passHashed = ?, passLenght = ?, authChang = 0 where id = ?');
// $req->bindParam(1, $password_hash);
// $req->bindParam(2, $lenght_hash);
// $req->bindParam(3, $id);
// $req->execute();
?>
Normalement, le code PHP doit crypter le mot de passe et l'enregistrer en base de donnée, puis interdire une prochaines modifications. LE problème, c'est que quand je lance l'appel ajax, j'ai aucune réponse d'après le débugger Chrome, mais j'ai pourtant des paramètre $_POST qui s'envoit :

Nom : debug chromre.png
Affichages : 157
Taille : 213,7 Ko

/!\ Sur le screen, considérer qu'il n'y a ps deproblème avec les $_POST, au niveau de la variable affichée user_id au lieu de id /!\

Et le plus louche, c'est que le même script PHP fonctionne, il prend en compte les post comme il faut, mais pour une autre action.

Quel est le problème ?

Merci d'avance.