Les_controles_sur_un_formulaire
Marcelinos
Messages postés
353
Statut
Membre
-
macgawel Messages postés 676 Statut Membre -
macgawel Messages postés 676 Statut Membre -
Bonjour,
Je m'exxplique:
j'ai un formulaire(ici son nom est je5.php) qui contient
des champs et les champs à saisir
doivent être des entiers.C'est ce
control que je veux faire et lorsque
la saisie seras sans erreur, que
ça m'amène sur une autre page .(ici sur la page je6.php)
Lorsque à la validation il y a des erreurs,
l'utilisateur aura comme message
"Veuillez remplir
tous les champs en saisant des entiers svp" (donc reviendra sur la age je5.php)
Mais, lorsque je teste le controle
en saisissant TOUS des entiers dans
le champs de saisie,et que je valide
pour aller sur la page suivante,ça m'affiche
encore le message d'erreur:"Veuillez remplir
tous les champs en saisant des entiers svp"
alors que ce message ne devrait plus s'afficher
car il n'y a plus d'erreur
Voici le code de la page je5.php
Le formulaire net la page de traitement sont sur la même page!
Analysez-moi le CONTROL sur la page je5.php
<?php
include("donpers.php");
include("connexion.php");
isset($_POST['balance'])?$balance=$_POST['balance']:$balance="";
isset($_POST['bac_sable'])?$bac_sable=$_POST['bac_sable']:$bac_sable="";
isset($_POST['cage_ecu'])?$cage_ecu=$_POST['cage_ecu']:$cage_ecu="";
isset($_POST['pas_geant'])?$pas_geant=$_POST['pas_geant']:$pas_geant="";
isset($_POST['pneu_suspens'])?$pneu_suspens=$_POST['pneu_suspens']:$pneu_suspens="";
isset($_POST['poutre_equilibre'])?$poutre_equilibre=$_POST['poutre_equilibre']:$poutre_equilibre="";
isset($_POST['toboggan'])?$toboggan=$_POST['toboggan']:$toboggan="";
isset($_POST['tunnel'])?$tunnel=$_POST['tunnel']:$tunnel="";
isset($_POST['jeux_orientation'])?$jeux_orientation=$_POST['jeux_orientation']:$jeux_orientation="";
isset($_POST['jeux_constr'])?$jeux_constr=$_POST['jeux_constr']:$jeux_constr="";
isset($_POST['Lotos'])?$Lotos=$_POST['']:$Lotos="";
isset($_POST['matrl_peint'])?$matrl_peint=$_POST['matrl_peint']:$matrl_peint="";
isset($_POST['puzzl_encad'])?$puzzl_encad=$_POST['puzzl_encad']:$puzzl_encad="";
isset($_POST['pre_calc'])?$pre_calc=$_POST['pre_calc']:$pre_calc="";
isset($_POST['jeux_de_prelec'])?$jeux_de_prelec=$_POST['jeux_de_prelec']:$jeux_de_prelec="";
isset($_POST['album_livre'])?$album_livre=$_POST['album_livre']:$album_livre="";
isset($_POST['autres'])?$autres=$_POST['autres']:$autres="";
if (isset($_POST['submit'])){
$erreur=false;
if((!is_numeric($balance))or(!is_numeric($bac_sable))or(!is_numeric($cage_ecu))or(!is_numeric($pas_geant))or(!is_numeric($pneu_suspens))or(!is_numeric($poutre_equilibre))or(!is_numeric($toboggan))or(!is_numeric($tunnel))or(!is_numeric($jeux_orientation))or(!is_numeric($jeux_constr))or(!is_numeric($Lotos))or(!is_numeric($matrl_peint))or(!is_numeric($puzzl_encad))or(!is_numeric($pre_calc))or(!is_numeric($jeux_de_prelec))or(!is_numeric($album_livre))or(!is_numeric($autres))){
$erreur=true;
echo"<script>window.alert(\"Veuillez remplir tous les champs avec des entiers avant de continuer svp!\")</script>";
echo"<script>window.history.back();</script>";
}
if($erreur==false) echo "<script>window.location.href='je6.php'</script>";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>je5</title>
</head>
<body>
<form action="je5.php" method="post">
<table cellpadding="0" align="center" cellspacing="0" bgcolor="#FFFFFF" border="3" height="500" width="500" bordercolor="#0066FF">
<tr height="20" bgcolor="#0066FF"><td align="center"><font color="#FFFFFF"><h5>V. JEUX ET MATERIELS</h5></font></td></tr>
<tr>
<td>
<strong><i>Indiquer le nombre de jeux et de matériels dont dispose le jardin pour les enfants</i></strong></td>
</tr>
<tr>
<td><table align="center"><tr>
<td><a href="je4.php">Page precedente</a></td>
<td><input type="reset" value="Annuler" /></td>
<td><input type="submit" name="submit" value="Page suivante" /></strong></font></td>
</tr></table>
</td>
</tr>
<tr>
<td>
<table align="center" >
<tr>
<td colspan="2" align="center"><h6><u>TYPE DE JEUX ET DE MATERIELS</u></h6></td>
<td colspan="2" align="center"><h6><u>NOMBRE</u></h6></td>
</tr>
<tr>
<td colspan="2"><strong>Balancoire</strong></td>
<td><input type="text" name="balance" /></td>
</tr>
<tr>
<td colspan="2"><strong>Bac à sable</strong></td>
<td><input type="text" name="bac_sable"/></td>
</tr>
<tr>
<td colspan="2"><strong>Cage à écureuils</strong></td>
<td><input type="text" name="cage_ecu" /></td>
</tr>
<tr>
<td colspan="2"><strong>Pas de géant</strong></td>
<td><input type="text" name=" pas_geant" /></td>
</tr>
<tr>
<td colspan="2"><strong>Pneu suspendu</strong></td>
<td><input type="text" name="pneu_suspens"/></td>
</tr>
<tr>
<td colspan="2"><strong>Poutre d'équilibre</strong></td>
<td><input type="text" name="poutre_equilibre" /></td>
</tr>
<tr>
<td colspan="2"><strong>Toboggan</strong></td>
<td><input type="text" name="toboggan" /></td>
</tr>
<tr>
<td colspan="2"><strong>Tunnels</strong></td>
<td><input type="text" name="tunnel"/></td>
</tr>
<tr>
<td colspan="2"><strong>Jeux d'orientation</strong></td>
<td><input type="text" name="jeux_orientation"/></td>
</tr>
<tr>
<td colspan="2"><strong>Jeux de construction</strong></td>
<td><input type="text" name="jeux_constr" /></td>
</tr>
<tr>
<td colspan="2"><strong>Lotos</strong></td>
<td><input type="text" name="lotos" /></td>
</tr>
<tr>
<td colspan="2"><strong>Matériel de peinture</strong></td>
<td><input type="text" name="matrl_peint"/></td>
</tr>
<tr>
<td colspan="2"><strong>Puzzles et encadrement</strong></td>
<td><input type="text" name="puzzl_encad"/></td>
</tr>
<tr>
<td colspan="2"><strong>Jeux de précalcul</strong></td>
<td><input type="text" name="pre_calc" /></td>
</tr>
<tr>
<td colspan="2"><strong>Jeux de prélecture</strong></td>
<td><input type="text" name="jeux_de_prelec"/></td>
</tr>
<tr>
<td colspan="2"><strong>Albums et livres</strong></td>
<td ><input type="text" name="album_livre" /></td>
</tr>
<tr>
<td colspan="2"><strong>Autres</strong></td>
<td><input type="text" name="autres" /></td>
</tr>
</table>
</td>
</tr>
<tr>
<td><table align="center"><tr>
<td><a href="je4.php">Page precedente</a></td>
<td><input type="reset" value="Annuler" /></td>
<td ><input type="submit" name="submit" value="Page suivante" /></strong></font></td>
</tr></table>
</td>
</tr>
</table>
</form>
</body>
</html>
mERCI
Je m'exxplique:
j'ai un formulaire(ici son nom est je5.php) qui contient
des champs et les champs à saisir
doivent être des entiers.C'est ce
control que je veux faire et lorsque
la saisie seras sans erreur, que
ça m'amène sur une autre page .(ici sur la page je6.php)
Lorsque à la validation il y a des erreurs,
l'utilisateur aura comme message
"Veuillez remplir
tous les champs en saisant des entiers svp" (donc reviendra sur la age je5.php)
Mais, lorsque je teste le controle
en saisissant TOUS des entiers dans
le champs de saisie,et que je valide
pour aller sur la page suivante,ça m'affiche
encore le message d'erreur:"Veuillez remplir
tous les champs en saisant des entiers svp"
alors que ce message ne devrait plus s'afficher
car il n'y a plus d'erreur
Voici le code de la page je5.php
Le formulaire net la page de traitement sont sur la même page!
Analysez-moi le CONTROL sur la page je5.php
<?php
include("donpers.php");
include("connexion.php");
isset($_POST['balance'])?$balance=$_POST['balance']:$balance="";
isset($_POST['bac_sable'])?$bac_sable=$_POST['bac_sable']:$bac_sable="";
isset($_POST['cage_ecu'])?$cage_ecu=$_POST['cage_ecu']:$cage_ecu="";
isset($_POST['pas_geant'])?$pas_geant=$_POST['pas_geant']:$pas_geant="";
isset($_POST['pneu_suspens'])?$pneu_suspens=$_POST['pneu_suspens']:$pneu_suspens="";
isset($_POST['poutre_equilibre'])?$poutre_equilibre=$_POST['poutre_equilibre']:$poutre_equilibre="";
isset($_POST['toboggan'])?$toboggan=$_POST['toboggan']:$toboggan="";
isset($_POST['tunnel'])?$tunnel=$_POST['tunnel']:$tunnel="";
isset($_POST['jeux_orientation'])?$jeux_orientation=$_POST['jeux_orientation']:$jeux_orientation="";
isset($_POST['jeux_constr'])?$jeux_constr=$_POST['jeux_constr']:$jeux_constr="";
isset($_POST['Lotos'])?$Lotos=$_POST['']:$Lotos="";
isset($_POST['matrl_peint'])?$matrl_peint=$_POST['matrl_peint']:$matrl_peint="";
isset($_POST['puzzl_encad'])?$puzzl_encad=$_POST['puzzl_encad']:$puzzl_encad="";
isset($_POST['pre_calc'])?$pre_calc=$_POST['pre_calc']:$pre_calc="";
isset($_POST['jeux_de_prelec'])?$jeux_de_prelec=$_POST['jeux_de_prelec']:$jeux_de_prelec="";
isset($_POST['album_livre'])?$album_livre=$_POST['album_livre']:$album_livre="";
isset($_POST['autres'])?$autres=$_POST['autres']:$autres="";
if (isset($_POST['submit'])){
$erreur=false;
if((!is_numeric($balance))or(!is_numeric($bac_sable))or(!is_numeric($cage_ecu))or(!is_numeric($pas_geant))or(!is_numeric($pneu_suspens))or(!is_numeric($poutre_equilibre))or(!is_numeric($toboggan))or(!is_numeric($tunnel))or(!is_numeric($jeux_orientation))or(!is_numeric($jeux_constr))or(!is_numeric($Lotos))or(!is_numeric($matrl_peint))or(!is_numeric($puzzl_encad))or(!is_numeric($pre_calc))or(!is_numeric($jeux_de_prelec))or(!is_numeric($album_livre))or(!is_numeric($autres))){
$erreur=true;
echo"<script>window.alert(\"Veuillez remplir tous les champs avec des entiers avant de continuer svp!\")</script>";
echo"<script>window.history.back();</script>";
}
if($erreur==false) echo "<script>window.location.href='je6.php'</script>";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>je5</title>
</head>
<body>
<form action="je5.php" method="post">
<table cellpadding="0" align="center" cellspacing="0" bgcolor="#FFFFFF" border="3" height="500" width="500" bordercolor="#0066FF">
<tr height="20" bgcolor="#0066FF"><td align="center"><font color="#FFFFFF"><h5>V. JEUX ET MATERIELS</h5></font></td></tr>
<tr>
<td>
<strong><i>Indiquer le nombre de jeux et de matériels dont dispose le jardin pour les enfants</i></strong></td>
</tr>
<tr>
<td><table align="center"><tr>
<td><a href="je4.php">Page precedente</a></td>
<td><input type="reset" value="Annuler" /></td>
<td><input type="submit" name="submit" value="Page suivante" /></strong></font></td>
</tr></table>
</td>
</tr>
<tr>
<td>
<table align="center" >
<tr>
<td colspan="2" align="center"><h6><u>TYPE DE JEUX ET DE MATERIELS</u></h6></td>
<td colspan="2" align="center"><h6><u>NOMBRE</u></h6></td>
</tr>
<tr>
<td colspan="2"><strong>Balancoire</strong></td>
<td><input type="text" name="balance" /></td>
</tr>
<tr>
<td colspan="2"><strong>Bac à sable</strong></td>
<td><input type="text" name="bac_sable"/></td>
</tr>
<tr>
<td colspan="2"><strong>Cage à écureuils</strong></td>
<td><input type="text" name="cage_ecu" /></td>
</tr>
<tr>
<td colspan="2"><strong>Pas de géant</strong></td>
<td><input type="text" name=" pas_geant" /></td>
</tr>
<tr>
<td colspan="2"><strong>Pneu suspendu</strong></td>
<td><input type="text" name="pneu_suspens"/></td>
</tr>
<tr>
<td colspan="2"><strong>Poutre d'équilibre</strong></td>
<td><input type="text" name="poutre_equilibre" /></td>
</tr>
<tr>
<td colspan="2"><strong>Toboggan</strong></td>
<td><input type="text" name="toboggan" /></td>
</tr>
<tr>
<td colspan="2"><strong>Tunnels</strong></td>
<td><input type="text" name="tunnel"/></td>
</tr>
<tr>
<td colspan="2"><strong>Jeux d'orientation</strong></td>
<td><input type="text" name="jeux_orientation"/></td>
</tr>
<tr>
<td colspan="2"><strong>Jeux de construction</strong></td>
<td><input type="text" name="jeux_constr" /></td>
</tr>
<tr>
<td colspan="2"><strong>Lotos</strong></td>
<td><input type="text" name="lotos" /></td>
</tr>
<tr>
<td colspan="2"><strong>Matériel de peinture</strong></td>
<td><input type="text" name="matrl_peint"/></td>
</tr>
<tr>
<td colspan="2"><strong>Puzzles et encadrement</strong></td>
<td><input type="text" name="puzzl_encad"/></td>
</tr>
<tr>
<td colspan="2"><strong>Jeux de précalcul</strong></td>
<td><input type="text" name="pre_calc" /></td>
</tr>
<tr>
<td colspan="2"><strong>Jeux de prélecture</strong></td>
<td><input type="text" name="jeux_de_prelec"/></td>
</tr>
<tr>
<td colspan="2"><strong>Albums et livres</strong></td>
<td ><input type="text" name="album_livre" /></td>
</tr>
<tr>
<td colspan="2"><strong>Autres</strong></td>
<td><input type="text" name="autres" /></td>
</tr>
</table>
</td>
</tr>
<tr>
<td><table align="center"><tr>
<td><a href="je4.php">Page precedente</a></td>
<td><input type="reset" value="Annuler" /></td>
<td ><input type="submit" name="submit" value="Page suivante" /></strong></font></td>
</tr></table>
</td>
</tr>
</table>
</form>
</body>
</html>
mERCI
1 réponse
bonjour.
Il faudrait plutôt mettre
Sinon, le système me semble lourd.
1. Si l'utilisateur n'a pas JavaScript, que se passe-t'il ? Rien. Il vaudrait mieux mettre un simple message, genre <h3 class="erreur">Veuillez remplir tous les champs avec des entiers avant de continuer svp!</h3>
2. Le jour où tu rajoutes un jeu, il faut tout refaire...
Tu devrais essayer de faire un code plus modulable (genre, utiliser un tableau avec les jeux, voire une table, et utiliser des boucles foreach).
isset($_POST['Lotos'])?$Lotos=$_POST['']:$Lotos="";
Il faudrait plutôt mettre
isset($_POST['Lotos'])?$Lotos=$_POST['Lotos']:$Lotos="";
Sinon, le système me semble lourd.
1. Si l'utilisateur n'a pas JavaScript, que se passe-t'il ? Rien. Il vaudrait mieux mettre un simple message, genre <h3 class="erreur">Veuillez remplir tous les champs avec des entiers avant de continuer svp!</h3>
2. Le jour où tu rajoutes un jeu, il faut tout refaire...
Tu devrais essayer de faire un code plus modulable (genre, utiliser un tableau avec les jeux, voire une table, et utiliser des boucles foreach).