Bonjour, je reposte à nouveau un sujet car je suis bloqué depuis hier sur une problématique que je ne comprend pas bien. Voila j'ai un tableau de données alimenté par des données en base récupérées par le biais d'une API REST le tout codé en php entièrement. Mon problème se situe quand je souhaite envoyer des données depuis mon interface utilisateur vers l'API pour insérer ces données en base. Voilà se que je fait pour envoyer mes données du tableau vers l'API :Voilà se que m'affiche ma variable "$json" dans ma console (c'est la première ligne de mon tableau avec une nouvelle valeur pour "version" et "utilisateur" pour l'exemple):
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 <?php function console_log( $data ){ echo '<script>'; echo 'console.log('. json_encode( $data ) .')'; echo '</script>'; } $url = 'localhost/api/prendreEnvir.php'; $ch = curl_init($url); if (!empty($_POST['version']) && !empty($_POST['quadri'])) { $json = array('application' => $_POST['application'], 'envir' => $_POST['environnement'], 'compte' => $_POST['compte'], 'base' => $_POST['base'], 'version' => $_POST['version'], 'utilisateur' => $_POST['quadri']); //$jsonPrise = json_encode($json); //echo $jsonPrise; console_log($json); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $json); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json')); $result = curl_exec($ch); //header('Location: http://localhost/ihm_env/tableau.php');*/ } ?>Maintenant du côté de l'API REST voilà le code que j'ai juste pour récupérer mon json et l'affiche tout d'abord :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Object { application: "SGG", envir: "HOMOLOGATION", compte: "user12", base: "SGGTRT", version: "1902", utilisateur: "ANBO" }Sans oublier le header.php qui ne fait qu'initialiser la connexion à la base de donnée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <?php include 'header.php'; $content = file_get_contents("php://input"); $decod = json_decode($content, true); echo "json non décodé :".$content; echo "<br>"; echo "json décodé :".$decod; ?>Et donc finalement voila se que me renvoi mon API :
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 header('Content-Type: application/json'); try { //Connexion à la base de donnée $pdo = new PDO('mysql:host=localhost;dbname=ihm_env', 'root', ''); }catch(Exception $e) { return_json(false, "Connexion à la base donnée impossible"); } function return_json($success=NULL, $msg=NULL, $compteurs=NULL, $envir=NULL) { $retour["success"] = $success; $retour["message"] = $msg; $retour["compteur"] = $compteurs; $retour["environnement"] = $envir; echo json_encode($retour); } ?>Je ne comprend pas pourquoi mon json_decode ne me renvoi rien du tout et donc à cause de ça je ne peux pas exploiter mon json pour insérer les données qu'il contient en base.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 json non décodé :--------------------------ca8dba819ce2884a Content-Disposition: form-data; name="application" SGG --------------------------ca8dba819ce2884a Content-Disposition: form-data; name="envir" HOMOLOGATION --------------------------ca8dba819ce2884a Content-Disposition: form-data; name="compte" user12 --------------------------ca8dba819ce2884a Content-Disposition: form-data; name="base" SGGTRT --------------------------ca8dba819ce2884a Content-Disposition: form-data; name="version" 1902 --------------------------ca8dba819ce2884a Content-Disposition: form-data; name="utilisateur" ANBO --------------------------ca8dba819ce2884a-- json décodé :
Quelqu'un aurait-il une idée de se qui cloche ??
Merci d'avance
Partager