Bonjour
Je viens ici afin d'avoir quelques éclaircissements sur mon problème (logique, sinon pourquoi poster ?).
Je vous le détaille.
J'ai d'un côté, un script client quasi-full ajax. Il s'agit d'un système d'upload de photos, basé sur Uploadify.
J'utilise jQuery afin de rajouter des effets graphiques, rendre la navigation plus plaisante...
Voici ce que fait le script client :
- On saisie le(s) photo(s) à envoyer sur le serveur (on peut faire du multiupload) ;
- Les photos sont uploadées, renommées (à l'aide de microtime + rand) ;
- En parallèle, on enregistre le nom orignal de la photo ainsi que diverses informations dans un BDD ;
- On affiche un formulaire pour saisir des tags, infos... pour chaque photo précédemment up (c'est ici que j'ai un soucis)
Revenons à l'étape 3.
Ma photo est uploadée, à la fois le fichier (dans une répertoire) et les infos (dans la BDD).
Je dois alors récupérer dans la BDD tout ce qui vient d'être enregistré. Je lance donc à la fin de l'upload un script PHP (form.php, à l'aide de jQuery.post() ) qui récupère tout ça.
Je dois ensuite envoyer le résultat à la page cliente (index.php) le résultat de cette récupération.
Pour ça, j'utilise JSON.
Voici mon form.php :
Et la gestion côté client (je ne met que la partie concernée) :
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 <?php $handle = mysql_connect('localhost', 'root', ''); $db = mysql_select_db('galerie'); $request = "SELECT CONCAT('[', GROUP_CONCAT( CONCAT('{id:',id,''), CONCAT(',nom:',nom,''), CONCAT(',url:',url,'}') ), ']') AS json FROM media WHERE session='".$_POST['session']; $result = mysql_query($request); //$tab = mysql_fetch_array($result); mysql_close($handle); echo json_encode($result); ?>
Seulement, le alert() m'indique que data.id est indéfini.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 jQuery.post("form.php", { session: "<?php echo $session; ?>" }, function(data){ alert(data.id); // Test }, "json");
Et si je ne met que data, j'obtiens false au lieu de la chaine JSON.
Quelqu'un saurait m'indiquer mon erreur ?
Merci d'avance !![]()
Partager