Vérication total d'un formulaire
Posté : 16 août 2006, 14:22
Salut et oui me revoila, mais j'ai refléchi avant de poster mon message voici mon probleme et m'a solution (qui deconne) que j'ai trouvé
J'ai un formulaire, avec plus de 50 champs, et autant de controle dessus, je veux que lorsque je n'ai plus un seul message d'erreur j'envois ma requete d'insertion des données ds la fiche, sinon que j'affiche les erreurs en bas de mon formulaire et ne passe pas a l'envois de requete et redirection...
donc un exemple de controle et recup de champ :
J'ai un formulaire, avec plus de 50 champs, et autant de controle dessus, je veux que lorsque je n'ai plus un seul message d'erreur j'envois ma requete d'insertion des données ds la fiche, sinon que j'affiche les erreurs en bas de mon formulaire et ne passe pas a l'envois de requete et redirection...
donc un exemple de controle et recup de champ :
if ($_POST["budget"]!="") {
if (is_numeric($_POST["budget"])) {
$budget=$_POST["budget"];
$message24="ok";
} else {
$message24="Veuillez saisir un budget qui contient que des chiffres (entiers ou réels) !<br>";
}
}
et ensuite le traitement si message d'erreur echo pour dire les message d'erreur sinon tous est "ok" alors faire requete d'insert .
<?php
if ($message1 != "ok" && $message2 != "ok" && $message3 != "ok" && $message4 != "ok" && $message5 != "ok" && $message6 != "ok" &&
$message7 != "ok" && $message8 != "ok" && $message9 != "ok" && $message10 != "ok" && $message11 != "ok" && $message12 != "ok" &&
$message13 != "ok" && $message14 != "ok" && $message15 != "ok" && $message16 != "ok" && $message17 != "ok" && $message18 != "ok" &&
$message19 != "ok" && $message20 != "ok" && $message21 != "ok" && $message22 != "ok" && $message23 != "ok" && $message24 != "ok")
{// Si message d'erreur alors les affichés sinon faire la requete d'insertion dans la base de donnée
echo $message1, $message2, $message3, $message4, $message5, $message6, $message7, $message8, $message9, $message10,
$message11, $message12, $message13, $message14, $message15, $message16, $message17, $message18, $message19, $message20,
$message21, $message22, $message23, $message24;
} else {
//-------------------------------------------------------------------------------------------------------------------
//--------------------------REQUETE MySQL :INSERTION DES DONNEES DANS LA TABLE FICHE---------------------------------
//-------------------------------------------------------------------------------------------------------------------
$connexion=mysql_connect("$hostname_dbprotect","$username_dbprotect","$password_dbprotect") or die("<p>Echec de connexion!");
mysql_select_db("$database_dbprotect", $connexion) or die ("<p>Echec de connexion à la base de donnée!");
if ($connexion) {
if ($_SESSION['privilege'] == "com") {
//insertion fiche partie commercial
$sql = mysql_query("INSERT INTO `fiche` (`num_fiche`, `date_fiche`, `nom_projet`, `nbre_imp_clt`, `nbre_imp_com`, `marque`, `visuel`,
`origine`, `commercial`, `assis_com`, `client`, `tel_client`, `mail_client`, `adresse_client`, `contact`, `design_motif`, `type_motif`, `type_realisation`,
`zone_realisation`, `dim_largeur`, `dim_longueur`, `dim_prof`, `type_cordon`, `zone_type_cordon`, `color_cordon`, `zone_color_cordon`, `type_ampoule`,
`zone_type_ampoule`, `color_ampoule`, `zone_color_ampoule`, `type_luciole`, `gam_prod_luciole`, `zone_gam_prod_luciole`, `color_luciole`,
`zone_color_luciole`, `guir_sapin`, `zone_guir_sapin`, `tapis_sapin`, `texte_decor`, `typo`, `type_ecrit`, `logo`, `type_fixa`, `zone_type_fixa`, `qte`,
`budget`, `remarque`)
VALUES (NULL, '$date', '$nom_projet', '$nbre_imp_clt', '$nbre_imp_com', '$marque', '$visuel', '$origine', '$commercial',
'$assis_com', '$client', '$tel_client', '$mail_client', '$adresse_client', '$contact', '$design_motif', '$type_motif', '$type_realisation',
'$zone_realisation', '$dim_largeur', '$dim_longueur', '$dim_prof', '$type_cordon', '$zone_type_cordon', '$color_cordon', '$zone_color_cordon',
'$type_ampoule', '$zone_type_ampoule', '$color_ampoule', '$zone_color_ampoule', '$type_luciole', '$gam_prod_luciole', '$zone_gam_prod_luciole',
'$color_luciole', '$zone_color_luciole', '$guir_sapin', '$zone_guir_sapin', '.$tapis_sapin', '$texte_decor', '$typo', '$type_ecrit', '$logo', '$type_fixa',
'$zone_type_fixa', '$qte', '$budget', '$remarque')") or die (mysql_error());
//Récupération du n° de fiche qui vient d'être crée'
$num_fiche=mysql_insert_id();
$_SESSION['num_fiche']=$num_fiche;
} else if ($_SESSION['privilege'] == "prod") {
//insertion sur partie production (presque tout :-))
$sql = mysql_query("INSERT INTO `fiche` (`num_fiche`, `date_fiche`, `nom_projet`, `nbre_imp_clt`, `nbre_imp_com`, `marque`, `visuel`,
`origine`, `commercial`, `assis_com`, `client`, `tel_client`, `mail_client`, `adresse_client`, `contact`, `design_motif`, `type_motif`, `type_realisation`,
`zone_realisation`, `dim_largeur`, `dim_longueur`, `dim_prof`, `type_cordon`, `zone_type_cordon`, `color_cordon`, `zone_color_cordon`, `type_ampoule`,
`zone_type_ampoule`, `color_ampoule`, `zone_color_ampoule`, `type_luciole`, `gam_prod_luciole`, `zone_gam_prod_luciole`, `color_luciole`,
`zone_color_luciole`, `guir_sapin`, `zone_guir_sapin`, `tapis_sapin`, `texte_decor`, `typo`, `type_ecrit`, `logo`, `type_fixa`, `zone_type_fixa`, `qte`,
`budget`, `remarque`, `faisabilite`, `prix_revient`, `poids`, `puissance`)
VALUES ('NULL', '$date', '$nom_projet', '$nbre_imp_clt', '$nbre_imp_com', '$marque', '$visuel', '$origine', '$commercial',
'$assis_com', '$client', '$tel_client', '$mail_client', '$adresse_client', '$contact', '$design_motif', '$type_motif', '$type_realisation',
'$zone_realisation', '$dim_largeur', '$dim_longueur', '$dim_prof', '$type_cordon', '$zone_type_cordon', '$color_cordon', '$zone_color_cordon',
'$type_ampoule', '$zone_type_ampoule', '$color_ampoule', '$zone_color_ampoule', '$type_luciole', '$gam_prod_luciole', '$zone_gam_prod_luciole',
'$color_luciole', '$zone_color_luciole', '$guir_sapin', '$zone_guir_sapin', '$tapis_sapin', '$texte_decor', '$typo', '$type_ecrit', '$logo', '$type_fixa',
'$zone_type_fixa', '$qte', '$budget', '$remarque', '$faisabilite', '$prix_revient', '$poids', '$puissance')") or die (mysql_error());
//Récupération du n° de fiche qui vient d'être crée'
$num_fiche=mysql_insert_id();
$_SESSION['num_fiche']=$num_fiche; ?>
<SCRIPT language="javascript">
window.location="fiche_save.php";
</SCRIPT>
<?php
}
}
}
}
?>
Oui je sais un peu bourrin ma technique mais bon, j'fais comme je peux , merci