Ne pas formater le formulaire à l'échec

Ne pas formater le formulaire à l'échec - PHP - Programmation

Marsh Posté le 30-01-2009 à 20:26:35    

Bjour!
 
J'ai un formulaire de contact qui à l'échec affiche "Incorect ***" mais qui efface toutes les données. Donc l'utilisateur doit tout réécrire... énnervant. Comment peut-on resoudre ceci?
 
Cordiallement,
Johan

Reply

Marsh Posté le 30-01-2009 à 20:26:35   

Reply

Marsh Posté le 30-01-2009 à 20:58:25    

Bonsoir,
 
Tu dois utiliser deux méthodes pour vérifier les saisies ! Le JavaScript, s'execute coté client et vérifier en PHP à l'envoie du formulaire (ce que tu réalise déjà)
 
Pour répondre à ta question, il faut que tu sauvegarde chacun des champs, quand tu execute le formulaire.  
Tu peux passer en GET (Pas conseillé) ou en POST...
 
Peux tu nous afficher ton code car selon, il existe des solutions facile à mettre en oeuvre ! :)
 
 
Merci
++

Reply

Marsh Posté le 03-02-2009 à 18:05:39    

pas forcé de faire du javascript, bien sur ca permet une aide a la saisie, mais ca ne permet pas de tout resoudre :
 
exemple un formulaire d'inscription, tu peux facilement valider que le login ne contient pas de caracteres incorrect mais il n'est pas trivial de faire la verif sur la disponibilité du login. Donc il te faut un mecanisme coté PHP pour remettre les valeurs saisies dans le formulaire pour que l'utilisateur puisse corriger les erreurs detectées cote PHP :
 
Tu peux faire qq chose du genre :

Code :
  1. function printInput($name,$label,$description,$isRequired,$curVal) {
  2. if ($isRequired) {
  3.  echo '<label class="required">'.$label.' *';
  4. } else {
  5.  echo '<label>'.$label;
  6. }
  7. echo '<span class="small">'.$description.'</span></label><input type="text" name="'.$name.'" id="'.$name.'" value="'.$curVal.'" />';
  8. }
  9. printInput('login', 'Votre login', 'Entrez votre login', true, !empty($_POST['login']) ? $_POST['login'] : '');



---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 03-02-2009 à 18:20:27    

fluminis a écrit :

pas forcé de faire du javascript, bien sur ca permet une aide a la saisie, mais ca ne permet pas de tout resoudre :
 
exemple un formulaire d'inscription, tu peux facilement valider que le login ne contient pas de caracteres incorrect mais il n'est pas trivial de faire la verif sur la disponibilité du login. Donc il te faut un mecanisme coté PHP pour remettre les valeurs saisies dans le formulaire pour que l'utilisateur puisse corriger les erreurs detectées cote PHP :
 
Tu peux faire qq chose du genre :

Code :
  1. function printInput($name,$label,$description,$isRequired,$curVal) {
  2. if ($isRequired) {
  3.  echo '<label class="required">'.$label.' *';
  4. } else {
  5.  echo '<label>'.$label;
  6. }
  7. echo '<span class="small">'.$description.'</span></label><input type="text" name="'.$name.'" id="'.$name.'" value="'.$curVal.'" />';
  8. }
  9. printInput('login', 'Votre login', 'Entrez votre login', true, !empty($_POST['login']) ? $_POST['login'] : '');




 
Utilisé le JavaScript évite des appels au serveur et des rechargements de page !  
Ca peut être bien sur des connections à bas débit....;)

Reply

Marsh Posté le 03-02-2009 à 18:32:12    

euh, attention, les vérifications faites par javascript c'est uniquement à titre indicatif pour l'utilisateur, il faut les refaire avec PHP.
Javascript s'exécute côté client et donc, à ce titre, n'est pas fiable.

Reply

Marsh Posté le 03-02-2009 à 18:52:27    


 
Je suis bien d'accord s'est ce que je disais dans mon premier post d'utiliser les deux méthodes !  
Il ne faut pas oublié le JavaScript, ça évite des appels au serveur PHP, ect....mais ça n'exclue en aucunement une vérification coté serveur ;)

Reply

Marsh Posté le 03-02-2009 à 19:09:49    

y a pas a se prendre le choux, on est tous d'accord la dessus ! :D
 
javascript = aide coté client
mais il faut toujours blinder les controles cotés serveurs


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed