Variable dans le value de <input>

Bonjour,

je suis débutant en php, et je n'arrive pas à affecter une variable au value de <input> (formulaire).
Voici le code:

<?php
$r = 'salut';
$Html.= '<html>

<Form Method="Post" action="...">
<label>Demandeur : </label>
<Input type="text" name="Demandeur" value=<?php echo $r; ?>>

</Form>
</html>
';
?>

Des idées ?
Configuration: Windows XP
Internet Explorer 6.0

2 réponses

  1. Salut sly-bzh,

    je rebondis sur ce fil car j'utilise l'exemple que tu donnes
    (<Input type="text" name="Demandeur" value='.$r.'>)
    mais je butte sur un problème : le texte de ma variable $r contient une apostrophe et j'ai ceci qui s'affiche :
    La voisine d
    Alors que j'ai en base (et donc j'attends à l'écran)
    La voisine d'à coté.

    Quelle fonction php dois-je utiliser pour résoudre ce problème ?
    J'ai essayé la addslashes() mais ça ne marche pas.
    J'ai aussi essayé de remplacer les quotes par des guillements, mais le problèeme se retrouve exactement le même si il y a des guillemets dans $r.

    Merci d'avance.
    1. Bonjour,

      C'est tout brouillon ce que tu nous a créé là... Mais l'idée est là.

      Une petite correction :
      // Les 2 premières lignes, pas de problème
      <?php
      $r = 'salut';
      // Personnellement je n'aime pas utiliser cette façon d'afficher mais passons sur mes gouts personnels. De toute façon, si tu utilises $html .='... ' il me semble qu'il faut d'abord que tu donnes une valeur à $html (mais je n'en suis pas sûr étant donné que je ne l'utilise jamais) du genre $html=" ";
      $Html.= '<html>
      
      <Form Method="Post" action="...">
      <label>Demandeur : </label>
      // C'est là que se situe ton soucis. Pas la peine de réouvrir <?php étant donné que tu ne l'a pas fermé !
      <Input type="text" name="Demandeur" value=<?php echo $r; ?>>
      // Version corrigée : <Input type="text" name="Demandeur" value='.$r.'>
      </Form>
      </html>
      ';
      // Tu n'as pas oublié quelque chose par hasard ?? Par exemple un echo $Html; ;)
      ?> 
      

      Voilà les erreurs que je t'ai trouvées. Je vais maintenant te mettre là manière que j'aurais utilisée pour le faire (mais je ne dis pas que c'est la manière à utiliser pour autant)
      <?php
      $r = 'salut';
      echo "<html>
      
      <Form Method='Post' action='...'>
      <label>Demandeur : </label>
      <Input type='text' name='Demandeur' value=$r>
      
      </Form>
      </html>
      ";
      ?> 

      Voilà j'espère que ça t'aideras et si il y a quelque chose que tu ne comprends pas, n'hésite pas !