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

Langage PHP Discussion :

Problème syntaxe apostrophe/guillemet dans un echo


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de lolymeupy
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2006
    Messages : 402
    Points : 180
    Points
    180
    Par défaut Problème syntaxe apostrophe/guillemet dans un echo
    Bonjour,
    j'ai un petit problème pour un affichage d'apostrophe:
    voici un bout de ce que je veux afficher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "'.$ligne->nom_ville.'")echo 'selected'="selected" '
    et je suis emmerdé au niveau du 'selected'. J'aimerais qu'il soit affiché de la manière suivante : 'selected' (avec les apostrophes !)
    Donc j'ai essayé en mettant 2 apostrophes à suivre comme ça : ''selected''="selected" mais ca marche pas ...
    Je sais pas si je suis très clair, mais en gros j'aimerais savoir comment gerer les apostrophes dans un echo...

  2. #2
    Membre régulier Avatar de daajack
    Inscrit en
    Octobre 2007
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 97
    Points : 97
    Points
    97
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo 'selected="selected"';
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "selected=\"selected\"";
    entre autres.

  3. #3
    Membre habitué Avatar de lolymeupy
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2006
    Messages : 402
    Points : 180
    Points
    180
    Par défaut
    je suis pas sur que se soit ça car je voudrais obtenir :
    'selected'="selected"

    et pas :
    selected="selected"

    Pour etre + précis, voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php
    $liste_ville=chargement_select();
    echo('<select name="ville_evt" id="ville_evt" style="font-family:Arial">');
    //echo('<option value="'.'">'.'</option>');
    while ($ligne=mysql_fetch_object($liste_ville)){
    echo('<option value="'.$ligne->nom_ville .'"'.'<?php if($_SESSION['categorie_evt']=="'.$ligne->nom_ville.'")echo'selected'="selected" ?>'.'>'.$ligne->nom_ville.'</option>'); }
    echo('</select>');
    ?>
    et ça bug au niveau de et de je veux que ces apostrophes soient considérés comme une "partie de la chaine" et non pas comme des apostrophes inhérents à l'écho ...

  4. #4
    Membre averti Avatar de FredPsy
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 285
    Points : 342
    Points
    342
    Par défaut
    Bonjour,
    en l'écrivant comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo "'selected'=\"selected\"";
    ,
    tu obtiens :
    'selected'="selected"

    Voilà
    "Dites moi ce dont vous avez besoin, je vous apprendrai à vous en passer".
    Et de grâce, je ne possède pas le plugin boule de cristal de firefox, alors soyez clair dans vos questions.

    Je lutte contre le language SMS.

  5. #5
    Membre averti Avatar de FredPsy
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 285
    Points : 342
    Points
    342
    Par défaut
    C'est quoi cette syntaxe du echo ??? Je te renvoi à ça http://fr.php.net/echo

    Sinon, essayes un peu ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $liste_ville=chargement_select();
    echo "<select name='ville_evt' id='ville_evt' style='font-family:Arial>";
    while ($ligne=mysql_fetch_object($liste_ville))
        {
            echo"<option value=".$ligne->nom_ville;
            if($_SESSION['categorie_evt']=="$ligne->nom_ville")
            {
                echo "selected='selected'>".$ligne->nom_ville."</option>"; 
            }
     
        }
    echo "</select>";
    "Dites moi ce dont vous avez besoin, je vous apprendrai à vous en passer".
    Et de grâce, je ne possède pas le plugin boule de cristal de firefox, alors soyez clair dans vos questions.

    Je lutte contre le language SMS.

  6. #6
    Membre régulier Avatar de daajack
    Inscrit en
    Octobre 2007
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 97
    Points : 97
    Points
    97
    Par défaut
    Tu veux générer du php ?
    Dans ce cas, et dans tout les cas en fait je te suggère de mettre un peu d'espace dans ton code.
    Si tu veux écrire une guillemet tu utilises des quotes, si tu veux écrire des quotes du met des guillemets, et si tu veux mettre les deux tu utilises des \ devant le symbole utilisé pour limiter la chaîne.

    Si c'était pas le but je propose ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?php $liste_ville=chargement_select(); ?>
    <select name="ville_evt" id="ville_evt" style="font-family:Arial">
    <?php
     
      while ($ligne = mysql_fetch_object($liste_ville)) {
     
        $selected = ($_SESSION['categorie_evt']== $ligne->nom_ville) ? $selected = 'selected="selected"' : '';
        echo '<option value="'.$ligne->nom_ville .'" '.$selected.'>'.$ligne->nom_ville.'</option>';
      }
     
    ?>
    </select>
    Ouais c'est pas bien différents, mais ça me faisait c... de l'avoir écrit pour rien

  7. #7
    Membre habitué Avatar de lolymeupy
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2006
    Messages : 402
    Points : 180
    Points
    180
    Par défaut
    Merci FredPsy
    J'ai essayé ton "bloc" de code, mais ça marche pas...par contre pour la première idée, voilà ce que ca donne dans mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $liste_ville=chargement_select();
    echo('<select name="ville_evt" id="ville_evt" style="font-family:Arial">');
    //echo('<option value="'.'">'.'</option>');
    while ($ligne=mysql_fetch_object($liste_ville)){
    echo('<option value="'.$ligne->nom_ville .'"<?php if($_SESSION[\'categorie_evt\']=="'.$ligne->nom_ville.'")echo \'selected\'=\"selected\" ?>'.'>'.$ligne->nom_ville.'</option>'); }
    echo('</select>');
    et comme cela, il ne m'indique plus aucun problème, donc merci pour l'aide.
    Par contre, y'a un bug au niveau de l'affichage. Dans ma liste box voilà ce que ça donne :

    >acigné
    >amanlis
    >antrain
    etc...

    Il me rajoute le signe > devant chaque option.
    C'est le signe qui se trouve après le ?> dans le bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "selected\" ?>'.'>'.$ligne->
    C'est le > qui correspond à la fermeture de la balise option du début de ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo('<option value="'.$ligne

  8. #8
    Membre habitué Avatar de lolymeupy
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2006
    Messages : 402
    Points : 180
    Points
    180
    Par défaut
    Merci pour le code daajack
    Ca marche nickel au niveau de l'affichage (ie : je n'ai plus de pb avec > devant chaque option) mais ça ne marche pas au niveau du selected et de la session.
    Pour précision, ça doit me permettre lors du rechargement du formulaire en cas d'erreur, de récuperer toutes les valeurs des champs que l'utilisateur avait saisi (ou choisi pour les select)

    J'ai un deuxième select dans mon formulaire (avec beaucoup, beaucoup moins d'option) ce qui fait que je n'utilise pas de boucle pour celui_là, et voilà ce que ça donne : (et ce que je voudrais obtenir après la boucle) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <td><SELECT name="categorie_evt" id="categorie_evt" title="" style="font-family:Arial"> 
      <OPTION value="Concert"  <?php if($_SESSION['categorie_evt']=="Concert") echo 'selected="selected"' ?>  >Concert</OPTION> 
      <OPTION value="Théatre"  <?php if($_SESSION['categorie_evt']=="Théatre") echo 'selected="selected"' ?>  >Théatre</OPTION> 
      <OPTION value="Exposition"  <?php if($_SESSION['categorie_evt']=="Exposition") echo 'selected="selected"' ?>  >Exposition</OPTION> 
      <OPTION value="Festival"  <?php if($_SESSION['categorie_evt']=="Festival") echo 'selected="selected"' ?>  >Festival</ OPTION>
      <OPTION value="Danse"  <?php if($_SESSION['categorie_evt']=="Danse") echo 'selected="selected"' ?>  >Danse</ OPTION>
      <OPTION value="Sport"  <?php if($_SESSION['categorie_evt']=="Sport") echo 'selected="selected"' ?>  >Sport</OPTION>
      <OPTION value="Arts"  <?php if($_SESSION['categorie_evt']=="Arts") echo 'selected="selected"' ?>  >Arts du spectacle <I>(art de rue, cirque,...)</I></OPTION>
    </SELECT>
    </td></tr>
    Mais comme pour l'autre j'ai + de 300 option, la boucle est la bienvenue...

  9. #9
    Membre averti Avatar de FredPsy
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 285
    Points : 342
    Points
    342
    Par défaut
    Citation Envoyé par lolymeupy Voir le message
    Pour précision, ça doit me permettre lors du rechargement du formulaire en cas d'erreur, de récuperer toutes les valeurs des champs que l'utilisateur avait saisi (ou choisi pour les select)
    J'ai l'impression que tu te compliques un peu la life. Je m'explique, Le "en cas d'erreur", c'est si la personne ne fait pas les bons choix, c'est ça ?
    C'est à dire, elle veut modifier ses choix.

    Si c'est ça, tu peux faire en sorte que lors du premier choix, ça t'affiche les résultats et en plus, en dessous, le formulaire avec les choix de l'utilisateur. Il fait des modifs si besoin, re clique sur le bouton "valider" et le formulaire repointe sur la même page, etc, etc. Non ?
    "Dites moi ce dont vous avez besoin, je vous apprendrai à vous en passer".
    Et de grâce, je ne possède pas le plugin boule de cristal de firefox, alors soyez clair dans vos questions.

    Je lutte contre le language SMS.

  10. #10
    Membre habitué Avatar de lolymeupy
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2006
    Messages : 402
    Points : 180
    Points
    180
    Par défaut
    Non, c'est pas pour ça.
    Ce que je voulais dire c'est que s'il y a des erreurs dans les champs saisis (les input ), par exemple que l'utilisateur n'ai pas saisi un ou + sieurs champs obligatoires, on recharge la page...et tant qu'a faire, autant que les champs ou select qu'il a saisi ou choisi ne soit ré-initialisés...

  11. #11
    Membre averti Avatar de FredPsy
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 285
    Points : 342
    Points
    342
    Par défaut
    et voilà, plus qu'à regarder comment ça marche. Je n'ai pas poussé les contrôles.
    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
    28
    29
     
    <?php
    $nom = @$_POST['nom'];
    $pass = @$_POST['password'];
     
    if (empty($nom) and empty($pass))
    {
        echo "Aucuns critères insérés
        <br />
        <br />
        <form action='#' method='post'>
        <input type='text' name='nom' /><br />
        <input type='text' name='password' /><br />
        <input type='submit' value='valider' />
        </form>
        ";
    }
    else
    {
        if($nom <> "" or $pass <> "")
        {
        echo "<form action='#' method='post'>
        <input type='text' name='nom' value='$nom'/><br />
        <input type='text' name='password' value='$pass'/><br />
        <input type='submit' value='valider' />
        </form>";
        }
    }
    ?>
    Bonne étude
    "Dites moi ce dont vous avez besoin, je vous apprendrai à vous en passer".
    Et de grâce, je ne possède pas le plugin boule de cristal de firefox, alors soyez clair dans vos questions.

    Je lutte contre le language SMS.

  12. #12
    Membre habitué Avatar de lolymeupy
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2006
    Messages : 402
    Points : 180
    Points
    180
    Par défaut
    Merci FredPsy,
    mais pour être franc, je vois pas trop pourquoi tu me proposes ce code ?

    Ce n'est pas pour l'identification de l'utilisateur mais juste pour les select, et ma méthode marche très bien pour le deuxième select (voir code au dessus )

    Le seul truc c'est que pour ce select, j'ai tellement d'option (+ de 300) que je veux pas faire tout à la main comme dans l'autre select (où il n'y a que 6 ou 7 options)

  13. #13
    Membre averti Avatar de FredPsy
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 285
    Points : 342
    Points
    342
    Par défaut
    Non, l'extrait de code, c'est un EXEMPLE. Il est pas fait pour vérifier l'utilisateur et le mot de passe. C'est juste pour que tu comprennes comment faire pour récupérer les champs, les tester, les ré inscrire à leur emplacement si besoin.

    J'ai pris deux <input type='text' /> mais ça fonctionne aussi avec des select. De plus, et tu le dis toi même :
    Pour précision, ça doit me permettre lors du rechargement du formulaire en cas d'erreur, de récuperer toutes les valeurs des champs que l'utilisateur avait saisi (ou choisi pour les select)

    Le morceau de code n'est qu'un exemple. Voilà, j'espère cette fois ci avoir été assez clair.

    Bonne journée
    "Dites moi ce dont vous avez besoin, je vous apprendrai à vous en passer".
    Et de grâce, je ne possède pas le plugin boule de cristal de firefox, alors soyez clair dans vos questions.

    Je lutte contre le language SMS.

Discussions similaires

  1. Problème avec des guillemets dans une requête
    Par clairetj dans le forum Requêtes
    Réponses: 2
    Dernier message: 26/04/2011, 11h39
  2. Placement des guillemets dans un echo
    Par MrTitomy dans le forum Langage
    Réponses: 9
    Dernier message: 15/03/2011, 12h01
  3. [MySQL] Problème d'apostrophes dans insertion sql
    Par 12_darte_12 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 30/05/2006, 16h20
  4. problème d'apostrophe dans mes requetes
    Par kirian dans le forum Bases de données
    Réponses: 3
    Dernier message: 03/05/2006, 12h06
  5. problème de guillemets dans une formule shell
    Par dim_italia dans le forum VBA Access
    Réponses: 7
    Dernier message: 18/08/2003, 12h46

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