La commande echo

Eléphanteau du PHP | 17 Messages

06 déc. 2007, 19:06

Bonsoir,

en fin de saisie d'un formulaire, je contrôle les champs saisis. Et s'ils ne sont pas valides, je souhaite afficher un message d'erreur.

Si je le fais avec la commande echo, celle ci efface la page et affiche mon message d'erreurs en haut d'une nouvelle.

Ma question est donc la suivante : comment faire pour afficher les messages d'erreurs sans effacer la page ? Avec echo ? Avec une autre méthode ?

Merci de vos réponses.

Cordialement.

Eléphanteau du PHP | 30 Messages

06 déc. 2007, 19:14

Si tu mettais ton code, on pourrait t'aider! :D

Eléphanteau du PHP | 17 Messages

06 déc. 2007, 19:41

Avec plaisir. Les informations sont saisies dans un formulaire validé par :

Code : Tout sélectionner

<input src="images/Continuer.jpg" type=image name="btValide" Value=submit style="border:0px" >
puis contrôlées par divers tests de cohérence.

Selon le résultat des tests, je charge la variable msg avec le message d'erreur correpondant puis je l'affiche avec :
if(!empty($msg))
   echo '<b>'.$msg.'</b>';
Et c'est là que cela efface le formulaire en cours pour afficher le message d'erreur "msg" dans une page blanche. Alors que je souhaiterais que cela s'affiche en bas du forumlaire de saisie.

Eléphant du PHP | 445 Messages

06 déc. 2007, 20:28

Donnes le code complet car la c'est un peu difficile de deviner.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

06 déc. 2007, 20:32

Il faut savoir qu'au moment où tu valides le formulaire, tu quittes la page qui contient le formulaire.
Donc, quand tu es dans ton code PHP, si tu ne ré-affiches pas ton formulaire, il ne sera pas affiché.
Tout ça pour dire que le formulaire n'est pas effacé, mais qu'il est juste non ré-affiché

Je pense donc que tu n'as pas compris la notion de client/serveur.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 40 Messages

06 déc. 2007, 20:33

ou tu fait de l'ajax et un httpRequest, ou tu fait une pres verification en JS et tu envois une alert(); ou tu garde les donner du POST ou du GET pour renseigner ton formulaire en y ajoutant une indication d'erreur.

tout depand de ce que tu veut faire et quelle limite tu te donne.
en construction http://plus2site.fr

Eléphanteau du PHP | 40 Messages

06 déc. 2007, 20:49

un conseil fait une pres verification en JS qui envoi des alertes instantanés. tu reverifie en php si y a une erreur tu envois un page toute moche qui indique d'ou vien l'erreur et tu invite la personne trés poliment a activer le JS car la verification se fait en temps reel. puis tu remet un lien vers le formulaire.
si tu conserver une parti des info tu passe tes info dans des champs cacher et tu met un bouton submit.
Modifié en dernier par gadgino le 06 déc. 2007, 21:06, modifié 2 fois.
en construction http://plus2site.fr

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

06 déc. 2007, 20:56

Plusieurs choses :
1/ S'il s'avère que bruninho est débutant et ne maitrise pas encore la notion client/serveur, ne le noyons pas sous les nouvelles connaissances comme l'AJAX

2/ Si tu désires transporter des données entres formulaires, les champs cachés sont une très mauvaise idée puisqu'elles peuvent être à nouveau modifiés par l'utilisateur.

3/ La vérification JS n'est absolument pas une validation suffisante. Le JS est un confort qui permet une 1ère validation mais toute données provenant du client doit être vérifiée
Modifié en dernier par zeus le 06 déc. 2007, 21:11, modifié 1 fois.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 17 Messages

06 déc. 2007, 21:01

effectivement ... je dirais que bon ... à partir de là ...

merci pour tout

Eléphanteau du PHP | 40 Messages

06 déc. 2007, 21:34

merci zeus j'ai ehediter le message pour enlever ce qui etait hors sujet:
j'ai effectivement ouvert une faille:
-il faudrais effectivement reverifier la saisie au retour de la page d'erreur.
-effectivement faire confiance à JS simplement c'est du suicide de données. c'est pour ça que j'ai marqué reverifie. j'avous que c'etait vite dit.
en construction http://plus2site.fr

Eléphant du PHP | 75 Messages

07 déc. 2007, 23:38

Moi ce que je fait lors de la vérification d'un champ, s'il est faux:
<?php
if (ta condition)
        {
?>
		<script language="JavaScript">
document.location.href="inscription.php?pseud=Le pseudo existe déjà!&#haut";
</script> <!-- Redirection vers le formulaire avec la variable $pseud qui affichera "Le pseudo existe déjà!" en haut du formulaire -->
<?php
        }
    else  
        {
// suite de ton script
         }
?>