Problèmes PHP/AJAX

Résolu
leandro95 Messages postés 82 Statut Membre -  
NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour j'ai un problème de conversion d'une variable php en variable js liée à la balise <br/> d'après Firebug:(SyntaxError: syntax error var val= encodeURIComponent(<br />))



<script>
var val= encodeURIComponent(<?php echo $server ?>);
</script>

<?php
$server=serialize($_SERVER);
?>

1 réponse

  1. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387
     
    Selon le code montré, tu utilises ta variable avant de l'avoir initialisé, ce n'est pas terrible ...
    As-tu regardé le code HTML généré ?

    0
    1. leandro95 Messages postés 82 Statut Membre
       
      c'est bien ça merci :)
      0
    2. leandro95 Messages postés 82 Statut Membre
       
      SyntaxError: missing ; before statement

      var val=a:34:{s:9:"HTTP_HOST";s:9:"localhost";s:15:"HTTP_USER_AGENT"; j'ai ceci comme problème après , au niveau du ":" après le a
      0
    3. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387
       
      As-tu pensé à mettre la chaine obtenue entre guillemets ?
      As-tu penser à échapper les guillemets éventuels de la chaine sérialisée ?

      Note :
      Extraire de manière brutale la variable $_SERVER peut renseigner énormément les éventuels pirates (contient beaucoup d'information sur le serveur).
      0
    4. leandro95 Messages postés 82 Statut Membre
       
      comment puis-je procéder avec la fonction str_replace ? quand tu dis mettre entre guillemets, à quel moment ?
      0
    5. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387 > leandro95 Messages postés 82 Statut Membre
       
      A la place de :
      var val= encodeURIComponent(<?php echo $server ?>);
      faire :
      var val= encodeURIComponent("<?php echo $server ?>");

      Et str_replace pour échapper les " en trop.
      Mais regardes le code HTML généré pour voir le problème.
      0