Problème de mise forme formulaire

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème de mise forme formulaire

par betman » 06 avr. 2006, 11:58

c'est bon j(ai trouver thx

par betman » 05 avr. 2006, 15:26

*sifflote* c'est bon ton code fonctionne à merveille :)

Bon dernière question pour aujourd'hui.

Dans une zone de texte, si une apostrophe est saisie (quote) bah cela génère une erreur SQL....

Comment éviter cela ?

par betman » 05 avr. 2006, 15:21

je comprends le principe mais j'ai du mal l'insérer.

Ma page qui contient le submit :
<input type="checkbox" name="maCase" value="true" <?php echo (isSet($_POST['maCase'])) ? "checked" : ""; ?>>
ma page qui recoit le $_post


<?php
if(isSet($_POST['maCase']))
echo "checked";
else
echo "";
?>


il retourne bien la valeur checked mais il écrit justement checked et non pas une case à coché :/

par Ryle » 05 avr. 2006, 12:23

Arf, vi effectivement, c'est un détail non négligeable les balises php ;)

Pour une case à cocher, c'est assez simple en fait, elles ne sont envoyées via le formulaire que si elles sont cochées. Un simple test isSet($_POST['nomDeLaCase']) te permet donc de savoir si elle a été cochée ou non.

Il ne te reste plus alors qu'à spécifier l'attribut "checked" dans l'input lorsque tu veux que celle-ci soit cochée par défaut :
<input type="checkbox" name="maCase" value="true" <?php echo (isSet($_POST['maCase'])) ? "checked" : ""; ?> >
ce qui revient au même que de l'écrire comme ceci, mais ca prend moins de place :)
<?
if(isSet($_POST['maCase']))
  echo "checked";
else
  echo "";
?>

par betman » 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"

par betman » 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 :/

par Ryle » 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"]);

par betman » 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

par charabia » 04 avr. 2006, 19:57

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

par Ryle » 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"]); 

par betman » 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é

par Ryle » 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 :)

par charabia » 04 avr. 2006, 18:39

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

par betman » 04 avr. 2006, 17:05

avec :

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

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

Re: Problème de mise forme formulaire

par mario » 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 ?