Vérifier les champs d' un formulaire PHP
Résolu
ced3E
Messages postés
101
Date d'inscription
Statut
Membre
Dernière intervention
-
Raleur -
Raleur -
Bonjour,
Bonjour,
Voila quel que jours que je teste de vérifier les champs de mon formulaire en PhP sans avoir de résultat.
J' ai donc commencer par crée un simple teste voir se que ca donne mais ca me dis tout le temps que les champs sont vide.Je débute en PHP, j' ai mis un petit code pour voir l ip dans l' idée de l' utiliser pour le stocker, pour avoir la possibilité de bannir un membre par la suite.
Donc mon but est de vérifier le formulaire, crée un id, récupérer l' ip, marquer les erreurs de saisi dans le formulaire,J' aime bien le Java scripte pour l' effet visuel instantané seulement je pense a une double vérification JS, PHP et redirection sur la page personnel.
Merci d' avance de votre aide
Ps: je travail en local sur wampserver
Voila mon code html :
<div id="Inscription">
<br><br><br>
<center> <div id="heure">; </div></center>
<div id="titre-Inscription" >Inscription Gratuite et rapide</div>
<form method="post" action="traitement.php">
<div id="label">
<p align="right"><label for="Prénom">Prénom</label> : <input type="text" name="Prénom" id="Prénom" style="height:15px; width:110px; font-size:15px;" />
<p align="right"><label for="Nomdefamille">Nom de famille</label> : <input type="text" name="Nomdefamille" id="Nomdefamille"style="height:15px; width:110px; font-size:15px;" />
<p align="right"><label for="Votreemail">Votre email</label> : <input type="text" name="Votreemail" id="Votreemail" style="height:15px; width:110px; font-size:15px;" />
<p align="right"><label for="Répétezemail">Répétez l'email</label> : <input type="text" name="" id="Répétezemail" style="height:15px; width:110px; font-size:15px;"/>
<p align="right"><label for="Votremotdepasse">Mot de passe</label> : <input type="password" name="Votremotdepasse" id="Votremotdepasse" style="height:15px; width:110px; font-size:15px;" />
</div>
<div id="labelsexe">
<p align="center"> <label for="sexe">Vous êtes :</label>
<select name="sexe"id="sexe">
<option selected
value="Homme">Un homme<option
value="Femme">Une femme</select>
<input type="checkbox" name="charte" value="charteok" />J'accepte les<strong><a href="../../cgu.php">conditions générales</a></strong>
</div>
<div id="labelage">
<p align="center"> <label for="Datedenaissance">Date de naissance :</label><br>
<select name="jour" id="Datedenaissance">
<option selected
value="Jour">Jour<option
value="01">01<option
value="02">02<option
value="03">03<option
value="04">04<option
value="05">05<option
value="06">06<option
value="07">07<option
value="08">08<option
value="09">09<option
value="10">10<option
value="11">11<option
value="12">12<option
value="13">13<option
value="14">14<option
value="15">15<option
value="16">16<option
value="17">17<option
value="18">18<option
value="19">19<option
value="20">20<option
value="21">21<option
value="22">22<option
value="23">23<option
value="24">24<option
value="25">25<option
value="26">26<option
value="27">27<option
value="28">28<option
value="29">29<option
value="30">30<option
value="31">31</select>
<select name="mois"><option selected
value="Mois">Mois<option
value="01">01<option
value="02">02<option
value="03">03<option
value="04">04<option
value="05">05<option
value="06">06<option
value="07">07<option
value="08">08<option
value="09">09<option
value="10">10<option
value="11">11<option
value="12">12</select>
<select name="année"><option selected
value="Année">Année<option
value="2011">2011<option
value="2010">2010<option
value="2009">2009<option
value="2008">2008<option
value="2007">2007<option
value="2006">2006<option
value="2005">2005<option
value="2004">2004<option
value="2003">2003<option
value="2002">2002<option
value="2001">2001<option
value="2000">2000<option
value="1999">1999<option
value="1998">1998<option
value="1997">1997<option
value="1996">1996<option
value="1995">1995<option
value="1994">1994<option
value="1993">1993<option
value="1992">1992<option
value="1991">1991<option
value="1990">1990<option
value="1989">1989<option
value="1988">1988<option
value="1987">1987<option
value="1986">1986<option
value="1985">1985<option
value="1984">1984<option
value="1983">1983<option
value="1982">1982<option
value="1981">1981<option
value="1980">1980<option
value="1979">1979<option
value="1978">1978<option
value="1977">1977<option
value="1976">1976<option
value="1975">1975<option
value="1974">1974<option
value="1973">1973<option
value="1972">1972<option
value="1971">1971<option
value="1970">1970<option
value="1969">1969<option
value="1968">1968<option
value="1967">1967<option
value="1966">1966<option
value="1965">1965<option
value="1964">1964<option
value="1963">1963<option
value="1962">1962<option
value="1961">1961<option
value="1960">1960<option
value="1959">1959<option
value="1958">1958<option
value="1957">1957<option
value="1956">1956<option
value="1955">1955<option
value="1954">1954<option
value="1953">1953<option
value="1952">1952<option
value="1951">1951<option
value="1950">1950<option
value="1949">1949<option
value="1948">1948<option
value="1947">1947<option
value="1946">1946<option
value="1945">1945<option
value="1944">1944<option
value="1943">1943<option
value="1942">1942<option
value="1941">1941<option
value="1940">1940<option
value="1939">1939<option
value="1938">1938<option
value="1937">1937<option
value="1936">1936<option
value="1935">1935<option
value="1934">1934<option
value="1933">1933<option
value="1932">1932<option
value="1931">1931<option
value="1930">1930<option
value="1929">1929<option
value="1928">1928<option
value="1927">1927<option
value="1926">1926<option
value="1925">1925<option
value="1924">1924<option
value="1923">1923<option
value="1922">1922<option
value="1921">1921<option
value="1920">1920</select>
</div>
<div id="boutonValider">
<input type="submit" value="Valider" /> </div>
<div id="boutonReset">
<input type="reset" />
</div>
<div id="imagetel"> </div>
</div>
<HEAD>
<script language="javascript">
//<!--
function HeureCheckEJS()
{
krucial = new Date;
heure = krucial.getHours();
min = krucial.getMinutes();
sec = krucial.getSeconds();
if (sec < 10)
sec0 = "0";
else
sec0 = "";
if (min < 20)
min0 = "0";
else
min0 = "";
if (heure < 10)
heure0 = "0";
else
heure0 = "";
DinaHeure = + heure0 + heure + "h" + min0 + min + "";
which = DinaHeure
if (document.getElementById){
document.getElementById("heure").innerHTML=which;
}
setTimeout("HeureCheckEJS()", 1000)
}
window.onload = HeureCheckEJS;
//-->
</script>
Code php :
<?php
// Vérifier que le champ est rempli
if(isset($_POST['Prénom'])) $prenom=$_POST['Prénom'];
else $Prénom="";
if (empty($Prénom))
{
echo "Vous n'avez pas saisi votre Prénom";
}
if (empty($Nomdefamille))
{
echo "Vous n'avez pas saisi votre Nom de famille";
}
if (empty($Votremotdepasse))
{
echo "Vous n'avez pas saisi votre mot de passe";
}
// récupérer les champs
if(isset($_POST['Prénom'])) $prenom=$_POST['Prénom'];
else $Prénom="";
if(isset($_POST['Nomdefamille'])) $nom=$_POST['Nomdefamille'];
else $Nomdefamille="";
echo getIP();
if(isset($_POST['Votreemail'])) $email=$_POST['Votreemail'];
else $Votreemail="";
function getIP() //Permet d"avoir l"IP d"un visiteur
{
if ( isset($_SERVER["HTTP_X_FORWARDED_FOR"]) )
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
else
$ip = $_SERVER["REMOTE_ADDR"];
return $ip;
}
// Affichage de l"adresse IP
echo getIP();
?>
Bonjour,
Voila quel que jours que je teste de vérifier les champs de mon formulaire en PhP sans avoir de résultat.
J' ai donc commencer par crée un simple teste voir se que ca donne mais ca me dis tout le temps que les champs sont vide.Je débute en PHP, j' ai mis un petit code pour voir l ip dans l' idée de l' utiliser pour le stocker, pour avoir la possibilité de bannir un membre par la suite.
Donc mon but est de vérifier le formulaire, crée un id, récupérer l' ip, marquer les erreurs de saisi dans le formulaire,J' aime bien le Java scripte pour l' effet visuel instantané seulement je pense a une double vérification JS, PHP et redirection sur la page personnel.
Merci d' avance de votre aide
Ps: je travail en local sur wampserver
Voila mon code html :
<div id="Inscription">
<br><br><br>
<center> <div id="heure">; </div></center>
<div id="titre-Inscription" >Inscription Gratuite et rapide</div>
<form method="post" action="traitement.php">
<div id="label">
<p align="right"><label for="Prénom">Prénom</label> : <input type="text" name="Prénom" id="Prénom" style="height:15px; width:110px; font-size:15px;" />
<p align="right"><label for="Nomdefamille">Nom de famille</label> : <input type="text" name="Nomdefamille" id="Nomdefamille"style="height:15px; width:110px; font-size:15px;" />
<p align="right"><label for="Votreemail">Votre email</label> : <input type="text" name="Votreemail" id="Votreemail" style="height:15px; width:110px; font-size:15px;" />
<p align="right"><label for="Répétezemail">Répétez l'email</label> : <input type="text" name="" id="Répétezemail" style="height:15px; width:110px; font-size:15px;"/>
<p align="right"><label for="Votremotdepasse">Mot de passe</label> : <input type="password" name="Votremotdepasse" id="Votremotdepasse" style="height:15px; width:110px; font-size:15px;" />
</div>
<div id="labelsexe">
<p align="center"> <label for="sexe">Vous êtes :</label>
<select name="sexe"id="sexe">
<option selected
value="Homme">Un homme<option
value="Femme">Une femme</select>
<input type="checkbox" name="charte" value="charteok" />J'accepte les<strong><a href="../../cgu.php">conditions générales</a></strong>
</div>
<div id="labelage">
<p align="center"> <label for="Datedenaissance">Date de naissance :</label><br>
<select name="jour" id="Datedenaissance">
<option selected
value="Jour">Jour<option
value="01">01<option
value="02">02<option
value="03">03<option
value="04">04<option
value="05">05<option
value="06">06<option
value="07">07<option
value="08">08<option
value="09">09<option
value="10">10<option
value="11">11<option
value="12">12<option
value="13">13<option
value="14">14<option
value="15">15<option
value="16">16<option
value="17">17<option
value="18">18<option
value="19">19<option
value="20">20<option
value="21">21<option
value="22">22<option
value="23">23<option
value="24">24<option
value="25">25<option
value="26">26<option
value="27">27<option
value="28">28<option
value="29">29<option
value="30">30<option
value="31">31</select>
<select name="mois"><option selected
value="Mois">Mois<option
value="01">01<option
value="02">02<option
value="03">03<option
value="04">04<option
value="05">05<option
value="06">06<option
value="07">07<option
value="08">08<option
value="09">09<option
value="10">10<option
value="11">11<option
value="12">12</select>
<select name="année"><option selected
value="Année">Année<option
value="2011">2011<option
value="2010">2010<option
value="2009">2009<option
value="2008">2008<option
value="2007">2007<option
value="2006">2006<option
value="2005">2005<option
value="2004">2004<option
value="2003">2003<option
value="2002">2002<option
value="2001">2001<option
value="2000">2000<option
value="1999">1999<option
value="1998">1998<option
value="1997">1997<option
value="1996">1996<option
value="1995">1995<option
value="1994">1994<option
value="1993">1993<option
value="1992">1992<option
value="1991">1991<option
value="1990">1990<option
value="1989">1989<option
value="1988">1988<option
value="1987">1987<option
value="1986">1986<option
value="1985">1985<option
value="1984">1984<option
value="1983">1983<option
value="1982">1982<option
value="1981">1981<option
value="1980">1980<option
value="1979">1979<option
value="1978">1978<option
value="1977">1977<option
value="1976">1976<option
value="1975">1975<option
value="1974">1974<option
value="1973">1973<option
value="1972">1972<option
value="1971">1971<option
value="1970">1970<option
value="1969">1969<option
value="1968">1968<option
value="1967">1967<option
value="1966">1966<option
value="1965">1965<option
value="1964">1964<option
value="1963">1963<option
value="1962">1962<option
value="1961">1961<option
value="1960">1960<option
value="1959">1959<option
value="1958">1958<option
value="1957">1957<option
value="1956">1956<option
value="1955">1955<option
value="1954">1954<option
value="1953">1953<option
value="1952">1952<option
value="1951">1951<option
value="1950">1950<option
value="1949">1949<option
value="1948">1948<option
value="1947">1947<option
value="1946">1946<option
value="1945">1945<option
value="1944">1944<option
value="1943">1943<option
value="1942">1942<option
value="1941">1941<option
value="1940">1940<option
value="1939">1939<option
value="1938">1938<option
value="1937">1937<option
value="1936">1936<option
value="1935">1935<option
value="1934">1934<option
value="1933">1933<option
value="1932">1932<option
value="1931">1931<option
value="1930">1930<option
value="1929">1929<option
value="1928">1928<option
value="1927">1927<option
value="1926">1926<option
value="1925">1925<option
value="1924">1924<option
value="1923">1923<option
value="1922">1922<option
value="1921">1921<option
value="1920">1920</select>
</div>
<div id="boutonValider">
<input type="submit" value="Valider" /> </div>
<div id="boutonReset">
<input type="reset" />
</div>
<div id="imagetel"> </div>
</div>
<HEAD>
<script language="javascript">
//<!--
function HeureCheckEJS()
{
krucial = new Date;
heure = krucial.getHours();
min = krucial.getMinutes();
sec = krucial.getSeconds();
if (sec < 10)
sec0 = "0";
else
sec0 = "";
if (min < 20)
min0 = "0";
else
min0 = "";
if (heure < 10)
heure0 = "0";
else
heure0 = "";
DinaHeure = + heure0 + heure + "h" + min0 + min + "";
which = DinaHeure
if (document.getElementById){
document.getElementById("heure").innerHTML=which;
}
setTimeout("HeureCheckEJS()", 1000)
}
window.onload = HeureCheckEJS;
//-->
</script>
Code php :
<?php
// Vérifier que le champ est rempli
if(isset($_POST['Prénom'])) $prenom=$_POST['Prénom'];
else $Prénom="";
if (empty($Prénom))
{
echo "Vous n'avez pas saisi votre Prénom";
}
if (empty($Nomdefamille))
{
echo "Vous n'avez pas saisi votre Nom de famille";
}
if (empty($Votremotdepasse))
{
echo "Vous n'avez pas saisi votre mot de passe";
}
// récupérer les champs
if(isset($_POST['Prénom'])) $prenom=$_POST['Prénom'];
else $Prénom="";
if(isset($_POST['Nomdefamille'])) $nom=$_POST['Nomdefamille'];
else $Nomdefamille="";
echo getIP();
if(isset($_POST['Votreemail'])) $email=$_POST['Votreemail'];
else $Votreemail="";
function getIP() //Permet d"avoir l"IP d"un visiteur
{
if ( isset($_SERVER["HTTP_X_FORWARDED_FOR"]) )
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
else
$ip = $_SERVER["REMOTE_ADDR"];
return $ip;
}
// Affichage de l"adresse IP
echo getIP();
?>
A voir également:
- Vérifier les champs d'un formulaire php
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Verifier compatibilite windows 11 - Guide
- Verifier un lien - Guide
- Formulaire de reclamation instagram - Guide
6 réponses
Salut et bienvenue sur CCM !
Mmmmm je pense que la première chose que tu devrais faire c'est t'assurer que tes balises HTML sont bien fermées. Les navigateurs sont intelligents aujourd'hui, ils sont donc capables de faire une partie de ce travail à ta place, mais ça peut créer des problèmes que tu ne verras jamais. Donc assure-toi que tes <p> se terminent par un </p>, que tes <option> se terminent par un </option>, et ainsi de suite. Je n'ai pas trouvé de </form> non plus dans ton HTML. Bref, vérifie tout ça.
Ensuite, petit conseil qui ne résoudra pas ton problème, je t'encourage à utiliser des "{}" quand tu travailles avec des if ou des boucles. C'est plus standard, plus clair, et ainsi la majorité des programmeurs expérimentés ne t'en voudra pas ;-)
Ça vait aussi bien en PHP qu'en JS.
Et finalement... Je regarde ton code PHP... Je l;is peut-être mal, mais j'ai l'impression que d'un côté, tu donnes une valeur à la variable $Prénom si le champ correspondant est rempli, et puis ensuite si $Prénom a une valeur, tu affiches un message d'erreur comme quoi le champ est vide. Si c'est le cas, normal que tu aies le problèmes que tu décris... :-S
Pour vérifier si tes champs sont vides sans te casser la tête, une condition de ce genre te suffit :
Est-ce que ça répond à ta question ? Sinon, essaie de me réexpliquer, redonne-moi le code PHP que tu crois pertinent... Pas besoin de me donner le Javascript ou même le HTML, je pense que ça devrait marcher, en autant que tu fermes tes balises.
Aussi, pour vérifier tes champs, as-tu pensé à faire un :
lors de l'envoi du formulaire ? Ça devrait te donner l'info dont tu as besoin...
Mmmmm je pense que la première chose que tu devrais faire c'est t'assurer que tes balises HTML sont bien fermées. Les navigateurs sont intelligents aujourd'hui, ils sont donc capables de faire une partie de ce travail à ta place, mais ça peut créer des problèmes que tu ne verras jamais. Donc assure-toi que tes <p> se terminent par un </p>, que tes <option> se terminent par un </option>, et ainsi de suite. Je n'ai pas trouvé de </form> non plus dans ton HTML. Bref, vérifie tout ça.
Ensuite, petit conseil qui ne résoudra pas ton problème, je t'encourage à utiliser des "{}" quand tu travailles avec des if ou des boucles. C'est plus standard, plus clair, et ainsi la majorité des programmeurs expérimentés ne t'en voudra pas ;-)
Ça vait aussi bien en PHP qu'en JS.
Et finalement... Je regarde ton code PHP... Je l;is peut-être mal, mais j'ai l'impression que d'un côté, tu donnes une valeur à la variable $Prénom si le champ correspondant est rempli, et puis ensuite si $Prénom a une valeur, tu affiches un message d'erreur comme quoi le champ est vide. Si c'est le cas, normal que tu aies le problèmes que tu décris... :-S
Pour vérifier si tes champs sont vides sans te casser la tête, une condition de ce genre te suffit :
if (isset($_POST['champ']) && $_POST['champ'] != '') { print 'Youpi !'; } else { print 'Erreur.'; }
Est-ce que ça répond à ta question ? Sinon, essaie de me réexpliquer, redonne-moi le code PHP que tu crois pertinent... Pas besoin de me donner le Javascript ou même le HTML, je pense que ça devrait marcher, en autant que tu fermes tes balises.
Aussi, pour vérifier tes champs, as-tu pensé à faire un :
print_r($_POST);
lors de l'envoi du formulaire ? Ça devrait te donner l'info dont tu as besoin...
Salut, un petit script sympa pour la vérification des champs libres en javascript
dans ton formulaire
et pour chaque champs
et pour récupérer dans ta php
j'espère que ça peut t'aider.
ciaooo
<script language="JavaScript"> <!-- function couleur(obj) { obj.style.backgroundColor = "#FFFFFF"; } function check() { var msg = ""; if (document.formulaire.value != "") { indexAroba = document.formulaire.email.value.indexOf('@'); indexPoint = document.formulaire.email.value.indexOf('.'); if ((indexAroba < 0) || (indexPoint < 0)) { document.formulaire.email.style.backgroundColor = "#F3C200"; msg += "Adresse email incorrecte\n"; } } else { document.formulaire.emailclient.style.backgroundColor = "#F3C200"; msg += "Veuillez saisir votre mail.\n"; } if (document.formulaire.nom.value == "") { msg += "Veuillez saisir votre nom\n"; document.formulaire.nom.style.backgroundColor = "#F3C200"; } if (msg == "") return(true); else { alert(msg); return(false); } } //--> </script>
dans ton formulaire
<form method="post" action="tapage.php" name="formulaire" onSubmit="return check();">
et pour chaque champs
<input name="lenom" id="lenom" type="text" size="15" onKeyUp="javascript:couleur(this);">
et pour récupérer dans ta php
<?php if(isset($_POST["Submit"])) { $nom = $_POST["nom"]; $prenom = $_POST["prenom"]; $email = $_POST["email"]; } ?>
j'espère que ça peut t'aider.
ciaooo
Un grand merci a toi coeus, je vais donc commencer par normaliser mon code html.
donc si j ai bien compris je place le formulaire dans les balises <from>
Je ferme les options
<select name="année"><option selected
value="Année">Année</option>
value="2011">2011</option>
value="2010">2010</option>
value="2009">2009</option>
et je ferme les <p>
<p align="right"><label for="Prénom">Prénom</label> : <input type="text" name="Prénom" id="Prénom" style="height:15px; width:110px; font-size:15px;" /> </p>
</from>
J' ai énormément de question bon courage a vous ced :p
donc si j ai bien compris je place le formulaire dans les balises <from>
Je ferme les options
<select name="année"><option selected
value="Année">Année</option>
value="2011">2011</option>
value="2010">2010</option>
value="2009">2009</option>
et je ferme les <p>
<p align="right"><label for="Prénom">Prénom</label> : <input type="text" name="Prénom" id="Prénom" style="height:15px; width:110px; font-size:15px;" /> </p>
</from>
J' ai énormément de question bon courage a vous ced :p
En fait, pour être sûrs qu'on se comprend :
Je te conseille de ne pas utiliser de caractères accentués (é, à et compagnie) pour les "name", les "id" et les "class" dans tes balises HTML, et pas non plus pour les noms de variables en JS ou PHP. Ça peut causer problème éventuellement :-S
Bon courage, comme tu dis ! ;-)
<select name="annee"> <option selected="selected" value="Année">Année</option> <option value="2011">2011</option> <option value="2010">2010</option> <option value="2009">2009</option> <option value="2008">2008</option> </select>
Je te conseille de ne pas utiliser de caractères accentués (é, à et compagnie) pour les "name", les "id" et les "class" dans tes balises HTML, et pas non plus pour les noms de variables en JS ou PHP. Ça peut causer problème éventuellement :-S
Bon courage, comme tu dis ! ;-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question