Problème en php

Résolu
Bonjour,

J'essaye de passer une valeur par URL en PHP. Je mets des backslash devant les apostrophes mais ca ne fonctionne pas. Voici la ligne de code :

echo '<input type="button" value="Réponse" OnClick="poptastic(\'formreponse.php?num=<?php echo $num;?>\')">';

Merci.

8 réponses

  1. echo "<input type=\"button\" value=\"Réponse\" OnClick=\"poptastic('formreponse.php?num='$num')\">";

    ou

    echo "<input type=\"button\" value=\"Réponse\" OnClick=\"poptastic('formreponse.php?num=".$num.")\">";

    les 2 solutions ça marche

    voila ta bonheur,

    j'ai pas tester
    2
    1. salut a la fin de ton echo tu as 2 simple guillemets sa peut pas marcher, puisque du coup sa t'en fais 3.
      je crois pas qu'il soit nécessaire de metre le backslash essai de le décomposer en plusieurs echo

      <?php echo $num;?>\')">';

      essai comme sa je promet rien.

      echo '<input type="button" value="Réponse" OnClick="poptastic';
      echo'("formreponse.php?num=';
      echo $num;
      echo')">';
      0
      1. Contributeur
        Bonjour,

        est-ce qu'il t'arrive de faire ceci ?

        <?php  
        
        $num = 5;  
        
        echo 'le numéro vaut <?php echo $num; ?>';  
        
        ?>


        Non ?

        Alors pourquoi le fais-tu ici ?

        echo '<input type="button" value="Réponse" OnClick="poptastic(\'formreponse.php?num=<?php echo $num;?>\')">';

        P.S.:
        Ce conseil est souvent donné mais je t'invite à être plus explicite quand tu exposes ton problème et à fournir des détails (messages d'erreur, etc).
        Par exemple "ça ne fonctionne pas" n'est pas du tout un message d'erreur.
        0
        1. Merci. En découpant ca fonctionne. Voici :

          echo '<input type="button" value="Réponse" OnClick="poptastic';
          echo'(\'formreponse.php?num=';
          echo $num;
          echo'\')">';

          C'est quand même bizarre car c'est le même code que :

          echo '<input type="button" value="Réponse" OnClick="poptastic(\'formreponse.php?num=<?php echo $num;?>\')">';
          0
          1. Contributeur
            C'est quand même bizarre car c'est le même code que :[...]

            Justement non. As-tu lu mon commentaire ?

            Ce que tu voulais (aurais du ?) faire c'est ceci :

            // initialisation de $num quelque part 
            echo '<input type="button" value="Réponse" OnClick="poptastic(\'formreponse.php?num='.$num.'\')">';


            Pas besoin de balises php dans le "onclick" puisque tu es dans un echo, donc déjà dans du code php... Par contre il faut bien concaténer la variable $num pour l'insérer dans la chaîne, c'est tout.
            0
          2. oui cette ligne est plus juste, comme sa c'est bon.
            0
        2. tourne le topic sur resolus alors.

          je crois que sa vient de l'imbrication de tes balises php

          <?php
          <?php
          ?>
          ?>
          sa je croit que sa marche pas.
          0
          1. sa c'est faux
            <?php

            $num = 5;

            echo 'le numéro vaut <?php echo $num; ?>';

            ?>

            sa c'est juste, essai tu veras.
            <?php

            $num = 5;

            echo 'le numéro vaut' ; echo $num;

            ?>
            0
            1. Merci à tous pour votre aide. Ca fonctionne très bien maintenant.
              0
              1. echo "<input type=\"button\" value=\"Réponse\" OnClick=\"poptastic('formreponse.php?num='$num')\">";

                ou

                echo "<input type=\"button\" value=\"Réponse\" OnClick=\"poptastic('formreponse.php?num=".$num.")\">";

                les 2 solutions ça marche

                voila ta bonheur,

                j'ai pas tester
                0