Problème de mise forme formulaire

Eléphant du PHP | 206 Messages

04 avr. 2006, 14:20

Bonjour à tous,

J'ai un page contenant un formulaire. Lorsque l'on submit ce dernier, il est récupérer pour être mis en forme par le méthode post et imprimer.

Deux problèmes se posent :

1 - Dans le premier formulaire, il y a des cases à cocher, lorsque je coche une case, elle n'apprait pas cocher dans le formulaire de récupération.

2 - Il y a une zone de texte pour saisir une adresse, mais j'ai beau faire, il ne veux pas retourner à la ligne.

voici le code de la zone de texte (page de mise en forme) qui ne veux pas retourner à la ligne

Code : Tout sélectionner

<textarea name="adresse" rows="5" wrap="physical" id="adresse"></textarea></td>
Je la récupère comme suit :
<td width="50%" valign="top"><span class="texte">DESTINATAIRE</span><br>
          <span class="texte_gras">AXA ASSURANCES</span><br>
          <?php echo $_POST["adresse"]; ?>\n</td>
et pour la case à cocher, bah par défaut elle n'est pas coché et si elle coché je la récupère comme cela :
<input name="check_1" type="checkbox" id="check_1" value="checkbox">

Avatar du membre
ViPHP
ViPHP | 3008 Messages

04 avr. 2006, 14:28

Tu peux utiliser un str_replace, quelque chose dans ce genre :
chaine = str_replace ('<br>', '\n', chaine);

Eléphant du PHP | 206 Messages

04 avr. 2006, 15:47

j'ai essayer plusieurs choses dont ça et cela ne me retourne rien du tout
        <td width="50%" valign="top"><span class="texte">DESTINATAIRE</span><br>
          <span class="texte_gras">AXA ASSURANCES</span><br>
          <?php 
		  $chaine = str_replace('<br>', '\n', $_POST["adresse"]); 
		  echo($chaine); ?></td>

Avatar du membre
ViPHP
ViPHP | 3008 Messages

04 avr. 2006, 16:08

Essaies avec ceci :
$chaine = $_POST["adresse"];
$chaine = ereg_replace(10, "<br />", $chaine);

Mammouth du PHP | 768 Messages

04 avr. 2006, 16:20

2 - Il y a une zone de texte pour saisir une adresse, mais j'ai beau faire, il ne veux pas retourner à la ligne.
a tu testé nl2br() lors de la récupération POST ?
M A R I O
Si une patte de lapin porte bonheur, qu'a-t-il bien pu arriver au lapin ?

Eléphant du PHP | 206 Messages

04 avr. 2006, 17:05

avec :

$chaine = $_POST["adresse"];
$chaine = ereg_replace(10, "<br />", $chaine);

La page s'affiche mais le champs est vide :/

Avatar du membre
ViPHP
ViPHP | 3008 Messages

04 avr. 2006, 18:39

Tu récupères bien la valeur de ton POST ou pas ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

04 avr. 2006, 18:53

Essaye en virant l'attribut wrap="physical" de ton textarea... a tous les coups c'est lui qui te pourrit tes retours charriots :)

Eléphant du PHP | 206 Messages

04 avr. 2006, 19:29

non je recupere rien du tout l'emplacement du post est vide avec

<?php $chaine = $_POST["adresse"];
$chaine = ereg_replace(10, "<br />", $chaine); ?>

PS : j'ai retirer le wrap, mais cela n'arien changé

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

04 avr. 2006, 19:57

Question bête, mais ca correspond à quoi le 10 dans ereg_replace(10, "<br />", $chaine) ??

betman > pourquoi ne pas utiliser simplement la fonction nl2br() comme suggéré par mario ?
$chaine = nl2br($_POST["adresse"]); 

Avatar du membre
ViPHP
ViPHP | 3008 Messages

04 avr. 2006, 19:57

Si tu fais un echo de $_POST["adresse"], vois-tu un résultat ou est-ce vide ?

Eléphant du PHP | 206 Messages

05 avr. 2006, 10:56

$chaine = nl2br($_POST["adresse"]);

Cela ne m'affiche rien

Si je place uniquement echo de $_POST["adresse"],

La pas de soucis mon texte s'affiche mais pas de retour à la ligne

je vais encore tester d'autre choses, dites moi si vous pensez a quelquechose

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

05 avr. 2006, 11:07

euh... juste un p'tit doute :
$chaine = nl2br($_POST["adresse"]);
n'est pas sensé afficher quoi que ce soit, il transforme les retours charriots contenus dans $_POST["adresse"] par des "<br />" et stock le résultat obtenu dans la variable chaine. Si tu veux l'afficher, il faut faire un echo ;)
$chaine = nl2br($_POST["adresse"]);
echo $chaine; 

// ou bien directement
echo nl2br($_POST["adresse"]);

Eléphant du PHP | 206 Messages

05 avr. 2006, 12:05

$chaine = nl2br($_POST["adresse"]);
n'est pas sensé afficher quoi que ce soit, il transforme les retours charriots contenus dans $_POST["adresse"] par des "<br />" et stock le résultat obtenu dans la variable chaine. Si tu veux l'afficher, il faut faire un echo ;)
$chaine = nl2br($_POST["adresse"]);
echo $chaine; 

// ou bien directement
echo nl2br($_POST["adresse"]);
[/quote]

Ces 2 méthodes ne m'affichent rien du tout. Je comprends ce que tu veux dire, mais je pige pas vraiment. C'est un truc basic qd même :/

Eléphant du PHP | 206 Messages

05 avr. 2006, 12:09

Lol je devais être fou hier cela fonctionne avec
<?php echo nl2br($_POST["adresse"]); ?>
Voilà quelquechose de régler.

Sinon j'ai tjs mon problème de case à cocher, hormis un javascript, y a t-il moyen d'obtenir une case cocher avec la méthode post ? (je ne veux pas de valeur, mais juste affiché une case à cocher "cochée"