Variable dans le value de <input>

azerty.14 -  
 petit_gg -
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. petit_gg
     
    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.
    2
  2. sly-bzh Messages postés 417 Statut Membre 118
     
    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 !
    1