Pb $_POST et/ou PHP
Résolu
nab13
Messages postés
54
Date d'inscription
Statut
Membre
Dernière intervention
-
nab13 Messages postés 54 Date d'inscription Statut Membre Dernière intervention -
nab13 Messages postés 54 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai crée un formulaire pour permettre aux utilisateurs de s'inscrire sur mon site. Le formulaire marche très bien à l'exception de deux fonctions PHP qui ne sont pas prises en compte :
Voici mon formulaire :
<form action="enreg.php" method="post">
Afin de créer un compte, merci de remplir ce formulaire. Les champs précédés d'un <b style="color:red">*</b>sont obligatoires<br><br><br>
Nom <b style="color:red">*</b><br>
<input type="text" name="nom" size="10" maxlength="15"><br><br>
Prénom <b style="color:red">*</b><br>
<input type="text" name="prenom" size="10" maxlength="20"><br><br>
Adresse <b style="color:red">*</b><br>
<input type="text" name="adresse1" size="15" maxlength="50"><br><br>
Adresse ligne 2<br>
<input type="text" name="adresse2" size="15" maxlength="50"><br><br>
Code postal <b style="color:red">*</b><br>
<input type="number" name="cp" size="5" maxlength="5"><br><br>
Ville <b style="color:red">*</b><br>
<input type="text" name="ville" size="10" maxlength="20"><br><br>
Adresse e-mail <b style="color:red">*</b><br>
<input type="text" name="mail" size="15" maxlength="30"><br><br>
Mot de passe (8 caractères alpha numériques) <b style="color:red">*</b><br>
<input type="password" name="pass" size="8" maxlength="8"><br><br>
Vérification mot de passe <b style="color:red">*</b><br>
<input type="password" name="pass2" size="8" maxlength="8"><br><br>
J'accepte les <a href="cgv.pdf">conditions d'utilisations</a><b style="color:red">*</b><br>
oui <input type="radio" name="cgv" value="oui"> non <input type="radio" name="cgv" value="non" checked><br><br>
Je souhaite de recevoir la newsletter<br>
<input type="radio" name="mail" value="oui"><br><br>
<INPUT type="submit" value="Valider">
<INPUT type="reset" value="Effacer">
</form>
et voici une partie de la page enreg.php qui traite le formulaire :
<?
session_start() ;
if ($_SESSION["robot"]=="robot"){header("location: robot.php");}
$mess="";
$mess1="";
$mess2="";
$mess3="";
$mess4="";
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$adresse1=$_POST['adresse1'];
$adresse2=$_POST['adresse2'];
$cp=$_POST['cp'];
$ville=$_POST['ville'];
$mail=$_POST['mail'];
$pass=$_POST['pass'];
$pass2=$_POST['pass2'];
$vmail =filter_input(INPUT_POST, 'mail', FILTER_VALIDATE_EMAIL);
if($_POST['mail'] == "") { $mess="E-mail manquant";header("location: reg.php?mess=$mess");}
if ($_POST['cgv'] == "non" || !isset($_POST['cgv']) ){ $mess="Vous devez accepter les conditions d'utilisation pour continuer.";header("location: reg.php?mess=$mess");}
le pb viens des lignes en gras qui sont pas prises en compte...le script continue avec des fonctions similaires qui elles sont traitées.
Ça doit être une erreur stupide mais je la vois pas...
Merci pour votre aide
J'ai crée un formulaire pour permettre aux utilisateurs de s'inscrire sur mon site. Le formulaire marche très bien à l'exception de deux fonctions PHP qui ne sont pas prises en compte :
Voici mon formulaire :
<form action="enreg.php" method="post">
Afin de créer un compte, merci de remplir ce formulaire. Les champs précédés d'un <b style="color:red">*</b>sont obligatoires<br><br><br>
Nom <b style="color:red">*</b><br>
<input type="text" name="nom" size="10" maxlength="15"><br><br>
Prénom <b style="color:red">*</b><br>
<input type="text" name="prenom" size="10" maxlength="20"><br><br>
Adresse <b style="color:red">*</b><br>
<input type="text" name="adresse1" size="15" maxlength="50"><br><br>
Adresse ligne 2<br>
<input type="text" name="adresse2" size="15" maxlength="50"><br><br>
Code postal <b style="color:red">*</b><br>
<input type="number" name="cp" size="5" maxlength="5"><br><br>
Ville <b style="color:red">*</b><br>
<input type="text" name="ville" size="10" maxlength="20"><br><br>
Adresse e-mail <b style="color:red">*</b><br>
<input type="text" name="mail" size="15" maxlength="30"><br><br>
Mot de passe (8 caractères alpha numériques) <b style="color:red">*</b><br>
<input type="password" name="pass" size="8" maxlength="8"><br><br>
Vérification mot de passe <b style="color:red">*</b><br>
<input type="password" name="pass2" size="8" maxlength="8"><br><br>
J'accepte les <a href="cgv.pdf">conditions d'utilisations</a><b style="color:red">*</b><br>
oui <input type="radio" name="cgv" value="oui"> non <input type="radio" name="cgv" value="non" checked><br><br>
Je souhaite de recevoir la newsletter<br>
<input type="radio" name="mail" value="oui"><br><br>
<INPUT type="submit" value="Valider">
<INPUT type="reset" value="Effacer">
</form>
et voici une partie de la page enreg.php qui traite le formulaire :
<?
session_start() ;
if ($_SESSION["robot"]=="robot"){header("location: robot.php");}
$mess="";
$mess1="";
$mess2="";
$mess3="";
$mess4="";
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$adresse1=$_POST['adresse1'];
$adresse2=$_POST['adresse2'];
$cp=$_POST['cp'];
$ville=$_POST['ville'];
$mail=$_POST['mail'];
$pass=$_POST['pass'];
$pass2=$_POST['pass2'];
$vmail =filter_input(INPUT_POST, 'mail', FILTER_VALIDATE_EMAIL);
if($_POST['mail'] == "") { $mess="E-mail manquant";header("location: reg.php?mess=$mess");}
if ($_POST['cgv'] == "non" || !isset($_POST['cgv']) ){ $mess="Vous devez accepter les conditions d'utilisation pour continuer.";header("location: reg.php?mess=$mess");}
le pb viens des lignes en gras qui sont pas prises en compte...le script continue avec des fonctions similaires qui elles sont traitées.
Ça doit être une erreur stupide mais je la vois pas...
Merci pour votre aide
A voir également:
- Pb $_POST et/ou PHP
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
5 réponses
Bonjour
Tes lignes en gras sont certainement exécutées.
Mais l'instruction header n'arrête pas l'exécution du script.
Si tu n'as pas de exit() après tes 'header', l'exécution du script continue. Et si plus loin tu envoies un autre header, c'est cet autre header qui sera pris en compte, et tu auras l'impression que tes lignes en gras n'auront pas été exécutées, alors qu'elles le sont.
Tes lignes en gras sont certainement exécutées.
Mais l'instruction header n'arrête pas l'exécution du script.
Si tu n'as pas de exit() après tes 'header', l'exécution du script continue. Et si plus loin tu envoies un autre header, c'est cet autre header qui sera pris en compte, et tu auras l'impression que tes lignes en gras n'auront pas été exécutées, alors qu'elles le sont.
autre détail : la balise d'ouverture du php c'est <?php, pas simplement <?.
Je sais, ça marche pour toi, mais c'est parce que tu ton serveur est configuré pour tolérer cette écriture afin de rester compatible avec des (très) vieux scripts. Un de ces jour il ne l'acceptera plus, tu reviendras poster une question ici. Autant t'habituer tout de suite, ça n'est pas bien difficile.
Je sais, ça marche pour toi, mais c'est parce que tu ton serveur est configuré pour tolérer cette écriture afin de rester compatible avec des (très) vieux scripts. Un de ces jour il ne l'acceptera plus, tu reviendras poster une question ici. Autant t'habituer tout de suite, ça n'est pas bien difficile.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question