if(empty... garder un input...

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 : if(empty... garder un input...

Re: if(empty... garder un input...

par macgawel » 06 sept. 2011, 15:29

C'est parce que tu vides ton $_POST après avoir rempli les champs #-o

Commence par tester le POST, vérifier si tous les champs sont remplis etc.
Ensuite, construis ton formulaire.

Re: if(empty... garder un input...

par mrgreth » 06 sept. 2011, 15:17

en faisant

Code : Tout sélectionner

<?PHP if(empty($_POST['Nom']) OR empty($_POST['Prenom'])) { echo 'Au moins un champ a été oublié'; } else { echo $_POST['Nom'].' '.$_POST['Prenom']; $_POST = array(); } ?>
je ne vois aucune différence :/

Re: if(empty... garder un input...

par moogli » 06 sept. 2011, 00:03

if ( condition pour valider le formulaire) {
validation
complète du
formulaire
$_POST = array();
}

Attention c'est $_POST et pas $_post ;)

tu pourrais aussi faire un unset($_POST) :)


@+

Re: if(empty... garder un input...

par mrgreth » 06 sept. 2011, 00:00

désolé moogli, je ne comprends pas ou placer $_post=array();

Re: if(empty... garder un input...

par moogli » 05 sept. 2011, 23:52

salut,

lors de la validation du formulaire (avant l'affichage du formulaire) si tout est bon tu peux faire un $_POST = array(); pour le "vider" tu n'aura plus de problème ;)


@+

Re: [resolu] if(empty... garder un input...

par mrgreth » 05 sept. 2011, 22:36

j'ai testé un peu vite, le problème est juste inversé maintenant...

quand je n'ai qu'un champ de rempli et que je valide... ok, le champ rempli garde ce que j'avais rentré... ca c'est résolu
par contre
quand tous les champs sont rempli et que je valide, j'aurais aimé que les champs se vident...

Re: if(empty... garder un input...

par mrgreth » 05 sept. 2011, 21:24

merci Ryle
j'avais deja vu l'équivalent sur des checkbox, mais j'arrivais pas a comprendre assez le fonctionnement pour faire le transfert sur un input
ca fonctionne niquel
problème résolu :D

Re: if(empty... garder un input...

par Ryle » 05 sept. 2011, 21:04

Lorsque tu affiches ton champ, si une valeur a été envoyée via le formulaire, il faut la passer dans l'attribut value="" de ton champ pour que celle-ci soit pré-renseignée par défaut :
<INPUT type="text" name="Nom" value="<?php if (isSet($_POST['Nom'])) echo $_POST['Nom']; ?>">

Ps : "</BR>" n'existe pas. C'est <br> en html ou <br /> en xhtml

if(empty... garder un input...

par mrgreth » 05 sept. 2011, 19:39

Bonjour.
Je vais simplifier mon problème au maximum

Je dispose de 2 champs de saisie.
je remplie volontairement que le premier champ et je laisse l'autre vide.
en appuyant sur le bouton OK, le script vérifie qu'un champ ne soit pas vide.
Comme c'est le cas, un message m'informe qu'au moins 1 champ est vide par un message.
Et les 2 champs se vident, je dois donc recommencer a tapper le 1er champ alors que je l'avais rempli...
je voudrais donc savoir s'il existe une technique pour que le champ rempli ne se vide pas en cliquant OK

en terme de codage (simplifié et raccourci au maximum pour l'exemple) du fichier test.php (fictif)

Code : Tout sélectionner

<form method="POST"> Nom: <INPUT type="text" name="Nom"></BR> Prénom: <INPUT type="text" name="Prenom"></BR> <input type="submit" value="Envoyer" name="envoyer"> </form> <?PHP if(empty($_POST['Nom']) OR empty($_POST['Prenom'])) { echo 'Au moins un champ a été oublié'; } else { echo $_POST['Nom'].' '.$_POST['Prenom']; } ?>
je remercie à l'avance vos réponses ;)