Bonjour.

J'ai besoin d'envoyer une série de valeurs que j'ai récupéré depuis le serveur comme ceci afin de les utiliser en javascript :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
$reponse = $mysql_connect->query('SELECT * FROM mydatabase' );
		while ($test = $reponse->fetch() ){
			?>
				<?php if ( $test['pseudo'] == $_SESSION['pseudo'] ){
                                        echo '<script>var donnees = '.json_encode($test).' ;</script>';
                                }
                                ?>
			<?php
		}
pour les envoyer j'utilise une requete XMLHttpRequest :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
var xhr = getXMLHttpRequest(); 
		xhr.open("POST", "savedatas.php", true);
		xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xhr.send(JSON.stringify(donnees));
et enfin j'essaye de les récupérer depuis ma page php :


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
 
<?php
 
  $data = json_decode($_POST);
        
        if (isset($data["id"])) {
                try{
                        $mysql_connect = new PDO('mysql:host=www.monsite.com;dbname=dtbtest','test', 'test');
                        $mysql_connect -> exec( 'UPDATE mydatabase SET value= '.$data["value"].' WHERE pseudo = '.$data["pseudo"].' '); 
                }
                catch(Exception $e){
                }
                echo "OK";
        }
 
?>
Malheureusement, ça ne fonctionne pas.
Si je passe manuellement moi même une donnée exemple "pseudo=mazerty&value=17" par contre ça marche.



Savez vous, donc, comment faire passer un objet json via POST ?

Merci