Page 1 sur 1
La commande echo
Posté : 06 déc. 2007, 19:06
par bruninho
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.
Posté : 06 déc. 2007, 19:14
par v4gab0nd
Si tu mettais ton code, on pourrait t'aider!

Posté : 06 déc. 2007, 19:41
par bruninho
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.
Posté : 06 déc. 2007, 20:28
par h0_noMan
Donnes le code complet car la c'est un peu difficile de deviner.
Posté : 06 déc. 2007, 20:32
par zeus
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.
Posté : 06 déc. 2007, 20:33
par gadgino
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.
Posté : 06 déc. 2007, 20:49
par gadgino
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.
Posté : 06 déc. 2007, 20:56
par zeus
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
Posté : 06 déc. 2007, 21:01
par bruninho
effectivement ... je dirais que bon ... à partir de là ...
merci pour tout
Posté : 06 déc. 2007, 21:34
par gadgino
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.
Posté : 07 déc. 2007, 23:38
par Volkow
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
}
?>