Problème tout simple sur un formulaire tout simple...
3 messages
• Page 1 sur 1
- aventvoy
- WRInaute discret

- Messages: 169
- Inscription: 17 Nov 2004
Problème tout simple sur un formulaire tout simple...
Bonjour à tous,
Imaginons une page "inscription.php" sur laquelle le visiteur doit entrer quelques informations basiques (nom, prénom, tel et email). Il n'y a rien d'autre sur cette page.
Si le visiteur remplit bien tous les champs, il est redirigé vers une deuxième page, "inscrit.php" par exemple, sur laquelle il a accès à différentes informations.
Si par contre certains champs sont mal ou pas renseignés, je ne veux pas qu'il soit redirigé vers "inscrit.php" mais qu'il ait un message d'erreur, sur cette même page "inscription.php"
J'ai donc mis en place toutes les vérifications nécessaires, genre
qu'il faut (avec une expression régulière pour le traitement de l'adresse email et du numéro de téléphone).
Donc si la personne remplit bien son formulaire, on arrive parfaitement sur la page "inscrit.php"
Sur ce formulaire, j'ai utilisé le code
Mon problème vient donc sans doute de là, de ce "form action". Car si le gars ne remplit pas bien le formulaire, il arrive quand même à la page "inscrit.php" alors qu'il devrait recevoir le(s) message(s) d'erreur ci dessus, avec son formulaire à remplir à nouveau.
J'ai utilisé la formule
dans un autre formulaire, donc je vois bien comment faire pour retourner le formulaire avec les messages d'erreur en restant sur la même page mais mon problème c'est que je ne vois pas comment formuler le "si t'as bien rempli, tu vas sur cette page (inscrit.php), or else tu recommences ton formulaire...
Quelqu'un pourrait il me donner une indication?
Merci d'avance!
A.
PS: tout ça est encore pour le site de cette expédition maritime et à vocation humanitaire dont je m'occupe bénévolement... avec mon maigre savoir...
Imaginons une page "inscription.php" sur laquelle le visiteur doit entrer quelques informations basiques (nom, prénom, tel et email). Il n'y a rien d'autre sur cette page.
Si le visiteur remplit bien tous les champs, il est redirigé vers une deuxième page, "inscrit.php" par exemple, sur laquelle il a accès à différentes informations.
Si par contre certains champs sont mal ou pas renseignés, je ne veux pas qu'il soit redirigé vers "inscrit.php" mais qu'il ait un message d'erreur, sur cette même page "inscription.php"
J'ai donc mis en place toutes les vérifications nécessaires, genre
- Code: Tout sélectionner
if ($prenom == '')
{
print "<li>Vous n'avez pas précisé votre prénom </li>\n";
}
qu'il faut (avec une expression régulière pour le traitement de l'adresse email et du numéro de téléphone).
Donc si la personne remplit bien son formulaire, on arrive parfaitement sur la page "inscrit.php"
Sur ce formulaire, j'ai utilisé le code
- Code: Tout sélectionner
<form action="./inscrit.php" " method="post">
Mon problème vient donc sans doute de là, de ce "form action". Car si le gars ne remplit pas bien le formulaire, il arrive quand même à la page "inscrit.php" alors qu'il devrait recevoir le(s) message(s) d'erreur ci dessus, avec son formulaire à remplir à nouveau.
J'ai utilisé la formule
- Code: Tout sélectionner
<form action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
dans un autre formulaire, donc je vois bien comment faire pour retourner le formulaire avec les messages d'erreur en restant sur la même page mais mon problème c'est que je ne vois pas comment formuler le "si t'as bien rempli, tu vas sur cette page (inscrit.php), or else tu recommences ton formulaire...
Quelqu'un pourrait il me donner une indication?
Merci d'avance!
A.
PS: tout ça est encore pour le site de cette expédition maritime et à vocation humanitaire dont je m'occupe bénévolement... avec mon maigre savoir...
- kalex
- WRInaute discret

- Messages: 241
- Inscription: 14 Sep 2004
A priori, ça semble tout simple.
Je fait comme s'il n'y avait qu'une seule variable sur ton formulaire inscription.php :
Je fait comme s'il n'y avait qu'une seule variable sur ton formulaire inscription.php :
- Code: Tout sélectionner
if(isset($_REQUEST['email'])){
if(!preg_match('/[a-z\.-]+@[a-z\.-]+/', $_REQUEST['email'])){
/* Adresse email incorrecte */
$valid = 0;
}else{
/* Adresse email OK */
$valid = 1;
}
}else{
$valid = -1;
}
if($valid < 1){
/* Le formulaire est va être affiché */
if($valid == 0){
echo 'Des erreurs ont été détectées, merci de corriger.<br/>';
}
echo 'Le formulaire: <form ...><input...>';
}else{
/* Redirection HTTP */
header('Location: inscrit.php');
}
3 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Rewriting simple/pas-simple !
- Problème simple
- Probléme d'url rewriting simple
- Simple retard, ou problème et solution ?
- probleme avec URL rewriting simple
- Probleme simple (je supose) dans PhpMyAnnuaire
- Je n'arrive pas à comprendre un probleme simple d'url
- [RESOLU]Probleme tres simple CSS menu
- rewriting simple mais problème chez OVH
- Probleme je pense très simple de url rewriting
- Transformer de simples citations en liens - 21-06-2006
- Des RSS rémunérés ça existe ! - 24-05-2006
- Mondial de foot 2010 : calendrier des équipes dans Google Agenda - 14-06-2010
- Intégrer un flux RSS sur son site - 28-06-2004
- Redirection (PHP, JavaScript, serveur...) - 04-07-2003
- Google Secure Access (GSA) - 20-09-2005
- Nouvelle version pour Blogger - 11-05-2004
- Développer un outil avec la Google API - 24-04-2003
Consultez la description détaillée des produits ou services de Google suivants : Google Secure Access
- Transformer des textes non cliquables en liens
Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
