IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Guillemets, php et js


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2011
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 55
    Points : 49
    Points
    49
    Par défaut Guillemets, php et js
    Bonjour à tous,

    Je viens vers vous parce que j'ai un petit souci de quottes...

    La console d'erreur de firefox me dit "unterminated string literal" et je ne vois pas du tout pourquoi.

    Voici le bout de code en question en php (j'ai réduit pour que ce soit plus lisible) :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $js_os_select='<div id="containerOneOS"><select name="OS" id="newOSselect" onchange="displayDistrib(this.id);">
    <option value="0" />Sélectionner un système d exploitation';
     
    $js_os_select.='</select></div><div id="containerOneWin"></div><div id="containerOneMac"></div><div id="containerOneLux"></div>';
     
     
    echo
    '<script type="text/javascript">
        var os_select=\' '.addslashes($js_os_select).' \';
     
    echo '</script>';


    Et voici l'erreur exacte de firefox :

    Erreur : unterminated string literal
    Fichier Source : http://127.0.0.1/procedures/popup_mo...Proc.php?id=19
    Ligne : 32, Colonne : 18
    Code Source :
    var os_select='<div id=\"containerOneOS\"><select name=\"OS\" id=\"newOSselect\" onchange=\"displayDistrib(this.id);\">


    J'ai beau essayer en changeant simple/double quottes, avec et sans addslashes, mais j'ai toujours la même erreur... Je tourne en rond depuis plusieurs heures et ça commence à m'énerver un peu !
    J'ai vérifié le code source de la page et pour moi ça me paraît bon, mais j'ai forcément une erreur.

    Est-ce que vous voyez d'où ça vient ?

  2. #2
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    Bonjour,

    Il semblerait que cette instruction-ci soit sur deux lignes dans votre code :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $js_os_select='<div id="containerOneOS"><select name="OS" id="newOSselect" onchange="displayDistrib(this.id);">
    <option value="0" />Sélectionner un système d exploitation';

    Ce qui est fâcheux car il n'y a aucune indication d'un étalement sur plusieurs lignes.

    Soit vous mettez tout sur une ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $js_os_select='<div id="containerOneOS"><select name="OS" id="newOSselect" onchange="displayDistrib(this.id);"><option value="0" />Sélectionner un système d exploitation';
    Soit vous faites la concaténation (pas sûr que ça marche, je ne fais pas de php), c'est le tout petit point après la première ligne et les simples quottes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $js_os_select='<div id="containerOneOS"><select name="OS"id="newOSselect" onchange="displayDistrib(this.id);">' . 
    '<option value="0" />Sélectionner un système d exploitation';

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2011
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 55
    Points : 49
    Points
    49
    Par défaut
    Merci beaucoup c'est exactement ça !
    La concaténation ne fonctionne pas avec un simple point (ça doit être autre chose en php, je rechercherai ça), j'ai donc tout mis sur une seule ligne et il n'y a plus de problème.

    Encore merci

  4. #4
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut :o
    Au plaisir.

    Par contre, je reste perplexe parce que je continue de penser que la concaténation fonctionne. Peut-être n'est-ce qu'avec des doubles quottes ? Ou bien en mettant le point sur la deuxième ligne ? Aviez-vous bien rajouté les quottes autour du point (fin de première ligne et début de seconde) ?

    Au pire, il reste la syntaxe que vous aviez déjà utilisé :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $js_os_select='<div id="containerOneOS"><select name="OS"id="newOSselect" onchange="displayDistrib(this.id);">';
    $js_os_select.='<option value="0" />Sélectionner un système d exploitation';

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP-JS] Problème de guillemets.
    Par -Neo- dans le forum Langage
    Réponses: 2
    Dernier message: 08/06/2007, 10h30
  2. [PHP-JS] problème avec guillemets
    Par nicerico dans le forum Langage
    Réponses: 3
    Dernier message: 03/05/2007, 14h53
  3. Réponses: 2
    Dernier message: 14/12/2006, 17h53
  4. problème de guillemet sous postgresql (requete php)
    Par toome dans le forum PostgreSQL
    Réponses: 9
    Dernier message: 17/08/2005, 10h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo