jongler avec des donnée entre javascript et php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : jongler avec des donnée entre javascript et php

par Tracker » 25 oct. 2007, 15:07

Re,

La doc de json_encode(...) est explicite:
Cette fonction ne fonctionne qu'avec des données encodées UTF-8.
Je pense du coup, que ton source en mal encodé (vérifie la configuration de ton éditeur).
Ensuite ajoute la ligne suivante de manière à indiquer au navigateur que l'encodage du contenu qu'il s'apprête à traiter est de l'utf8.
header('content-type: text/html; charset=utf-8');

Tracker.

par ptitgenie69 » 25 oct. 2007, 14:27

Bon, j'ai fait un essai de php vers javascript :

Code : Tout sélectionner

<script> <?php $toto = array('bingo','titi'=>'fée',5,63,'tutu'); ?> var json = '<?php echo json_encode($toto); ?>'; // Tu retransforme en objet en javascript dans tab var tab=eval('('+json+')'); alert(tab['titi']); // var faire un beau popup avec 'fée' </script>
j'obtient un message qui me dit : f
au lieu de : fée

Et je n'arrive meme pas a passer outre les accents ...

par ptitgenie69 » 25 oct. 2007, 10:37

Bien;

J'ai commencer à m'intérésser a JSON qui en fait est intégré a php 5.2.0 par défaut.
J'avoue que j'ai un peu de mal ou alors j'ai pas la bonne logique.

Donc en php il y a ces deux fonctions :
• json_decode — Décode une chaîne JSON
• json_encode — Retourne le représentation JSON d'une valeur

Et en javascript, on retrouve :
.toJSONString()
.parseJSON()

Enfin, je pense que y'en a d'autres mais j'ai déjà sa.
Ensuite, dans tout les tutos ou exemple que j'ai vu, il
n'y a que des variables tableaux.
>> Impossible de traiter une simple donnée ??

Donc si une ame charitable pouvais m'expliquer un peu le fonctionnement pour passer
par exemple la chaine "mémé" de php vers Javascript et l'inverse.

Encore merci !

UP :

J'ai fait divers test d'affichages qui me donne ceci . .
>> Test JSON - Affichage PHP :

DECLARATION VARIABLES :
$a = 1
$b = '1'
$c = "1"

AFFICHAGE JSON_ENCODE :
$a = 1
$b = "1"
$c = "1"

AFFICHAGE JSON_DECODE :
$a = 1
$b = 1
$c = 1

>> Test JSON - Affichage JAVASCRIPT :

AFFICHAGE JSON_DECODE DEPUIS PHP :
a = 1
b = '1'
c = "1"

AFFICHAGE JSON_ENCODE DEPUIS PHP :
a = 1
b = '1'
c = "1"

Code : Tout sélectionner

<? $a = 1; $b = '1'; $c = "1"; print (">> Test JSON - Affichage PHP : <br /><br />"); print ("DECLARATION VARIABLES : <br />"); print ('$a = '.$a."<br />"); print ('$b = \''.$b."'<br />"); print ('$c = "'.$c."\"<br /><br />"); print ("AFFICHAGE JSON_ENCODE : <br />"); print ('$a = '.json_encode($a)."<br />"); print ('$b = '.json_encode($b)."<br />"); print ('$c = '.json_encode($c)."<br /><br />"); print ("AFFICHAGE JSON_DECODE : <br />"); print ('$a = '.json_decode($a)."<br />"); print ('$b = '.json_decode($b)."<br />"); print ('$c = '.json_decode($c)."<br /><br />"); print (">> Test JSON - Affichage JAVASCRIPT : <br /><br />"); ?> <script> document.write ('AFFICHAGE JSON_DECODE DEPUIS PHP : <br />'); document.write ('a = ' + <?=json_decode($a)?> + "<br />"); document.write ('b = \'' + <?=json_decode($b)?> + "'<br />"); document.write ('c = "' + <?=json_decode($c)?> + "\"<br /><br />"); document.write ('AFFICHAGE JSON_ENCODE DEPUIS PHP : <br />'); document.write ('a = ' + <?=json_encode($a)?> + "<br />"); document.write ('b = \'' + <?=json_encode($b)?> + "'<br />"); document.write ('c = "' + <?=json_encode($c)?> + "\"<br />"); </script>

par Berzemus » 24 oct. 2007, 11:11

jquery à aussi une fonction dédié à json ($.getJSON), très utile. Et une fois dans le script, ça se lit comme un tableau.

ça et le json_encode de php5, plus de soucis.

(j'avais prévu un transfert en xoxo, mais à la fin du json était quand même vachement plus simple).

par Tracker » 24 oct. 2007, 10:09

Merci de ta réponse !

cela requiert des librairies ??
Car si je peux me passer de dépendances, c'et vraiment un plus.

Je vais tout de meme regarder cela.
Que tu développes une classe ou que tu en livres une déjà implémentée (libre et debugguée), je vois pas la différence. Fais des recherches, il en existe plusieurs. Côte php tu trouveras JSON_Service, et en js mootools par exemple.

Je lance la perche, il serait interessant de connaitre ce que les utilisateurs du forum utilisent, et ce qu'ils en pensent.


Tracker.

par ptitgenie69 » 24 oct. 2007, 10:02

Merci de ta réponse !

cela requiert des librairies ??
Car si je peux me passer de dépendances, c'et vraiment un plus.

Je vais tout de meme regarder cela.

Re: jongler avec des donnée entre javascript et php

par Tracker » 24 oct. 2007, 09:20

Connaissez vous un moyen de traiter une chaine en javascript qui soit équivalente en php ??
Je veux donc dire qui encode et décode de la meme manière !

Je pourrais ainsi encoder en javascript et decoder en php.
Salut,

Regarde des tutos JSON, tu pourras échanger n'importe quoi entre php et javascript (dans les deux sens). JSON est un format d'encodage "texte" (~équivalent à XML mais plus adapté au js), l'échange se gère par deux librairies (codec), une côté php l'autre côté js. C'est assez simple à mettre en oeuvre et plutot pertinent car tu peux échanger des structures complexes.


Tracker.

jongler avec des donnée entre javascript et php

par ptitgenie69 » 24 oct. 2007, 09:13

Bonjour;

Petite problèmatique du matin !
je me demandais ou poster ce topic (javascript ? php ?) verra bien ..

Voila, comme d'habitude, je vais essayer de me faire comprendre car mes questions sont toujours un peu tordu ! Je manipule assez souvent des donnée par ajax, donc javascript + php.

Je donne un exemple tout de suite :

1 - formulaire adresse ? => "rue de l'ise"
2 - validation ajax => "rue%20de%20l&rsquo;ise"

Bon, j'ai fait au plus, simple. Remplir un champ de formulaire et envoyé le résultat par post/get.

Je connais plusieurs moyen de traiter une chaine :
- urlencode / urldecode
- escape / unescape
- htmlentities / ..

Mais la question que je vous pose c'est :
Connaissez vous un moyen de traiter une chaine en javascript qui soit équivalente en php ??
Je veux donc dire qui encode et décode de la meme manière !

Je pourrais ainsi encoder en javascript et decoder en php.

PS : j'ai plutot tenter de vous expliquer ce dont sur quoi je buttai plutot que dans quel cas, car cela serait plus complex a expliquer.

Merci d'avance pour vos explications et réponses futurs