Merci.
Vous avez raison, j'étais parti dans des constructions assez compliquées qui méritaient d'être allégées. C'est chose faite.
De plus avec ce RAZ, cela m'a redonné la pêche et voici ce que pourrait donner un doc de vérification séparé du formulaire :
<body>
<!-- DATE DE CREATION: 04.07.05 --><?php /* On commence par vérifier si le bouton soumettant le formulaire a été cliqué, "envoi" étant l'attribut "name" du bouton "submit": si la condition n'est pas vérifiée, on saute drectement à la ligne 255 de ce script.*/
if(isset($_POST['envoi']))
$tempshabitants = $_POST['tempshabitants'];
$delaisdemenage = $_POST['delaisdemenage'];
$$raisonsdemenage = $_POST['raisonsdemenage'];
$email = $_POST['email'];
$endroitcom1 = $_POST['endroitcom1'];
$endroitcom2 = $_POST['endroitcom2'];
$assodifficulte1 = $_POST['assodifficulte1'];
$assodifficulte1 = $_POST['assodifficulte1'];
$noninvesti = $_POST['noninvesti'];
$investi = $_POST['investi'];
$investi2 = $_POST['investi2'];
$investi3 = $_POST['investi3'];
$comanto = $_POST['comanto'];
$autreinvesti = $_POST['autreinvesti'];
$animinter = $_POST['animinter'];
$animinter2 = $_POST['animinter2'];
$animinter3 = $_POST['animinter3'];
$animinter4 = $_POST['animinter4'];
$animinter5 = $_POST['animinter5'];
$deplamensuel = $_POST['deplamensuel'];
$deplahebdo = $_POST['deplahebdo'];
$deplaquoti = $_POST['deplaquoti'];
$categories = $_POST['categories'];
// Fonction "test()" qui servira au traitement des cases à cocher:
// question 5:
function test($choix) {global $desireinfo;for ($i = 0; $i < count($desireinfo); $i++)if($choix==$desireinfo[$i])return true;}
// question 7:
function test($choix) {global $inforecu;for ($i = 0; $i < count($inforecu); $i++)if($choix==$inforecu[$i])return true;}
//question 11 :
function test($choix) {global $fonctionasso;for ($i = 0; $i < count($fonctionasso); $i++)if($choix==$fonctionasso[$i])return true;}
// question 12 :
function test($choix) {global $dons;for ($i = 0; $i < count($dons); $i++)if($choix==$dons[$i])return true;}
// question 15 :
function test($choix) {global $deplace;for ($i = 0; $i < count($deplace); $i++)if($choix==$deplace[$i])return true;}
// question 16 :
function test($choix) {global $appartenance;for ($i = 0; $i < count($appartenance); $i++)if($choix==$appartenance[$i])return true;}
/* Définition des variables servant au traitement de l'adresse électronique : on utilise ici des expressions régulières. */
/* Définition de validation de l'adresse de courriel (e-mail) */
$valid = "^[a-z0-9]+([_.-][a-z0-9]+)*@([a-z0-9]+([.-][a-z0-9]+)*)+\.[a-z]{2,4}$";
// Traitement de vérification des champs vides ou invalides (téléphone et/ou email et/ou url)
// Conditions de mauvaises réponses (champ vide par exemple)
if ($tempshabitants == '' || $deplamensuel == '' || $categories == '' || (eregi($valid, $email)) || )))
{
// Action à adopter>
<h3>Informations
incomplètes</h3>
<p>Un (ou plusieurs) champ(s)
n'a(ont) pas été correctement rempli(s).</p>
<ol>
<?php if ($deplamensuel == '') // Si le champ "deplamensuel" est vide,
{ print "<li>Vous n'avez pas précisé vos type de déplacements</li>\n"; }
if ($categories == '') // Si le champ "categories" est vide,
{ print "<li>Vous n'avez pas précisé votre catégorie professionnelle</li>\n";}
if(($email) && !(eregi($valid, $email))) /* Si il y a une adresse inscrite mais invalide */
/* On vérifie LES DEUX conditions réunies (avec le signe "&&"): si on ne vérifie que la validité, en ne mettant pas d'adresse dans le formulaire, on obtient l'affichage des deux messages, or l'adresse à ce moment là n'est pas invalide, elle est absente: le message d'invalidité ne s'applique donc pas. */
{ print "<li>L'adresse électronique saisie est invalide.</li>\n"; }
/* Si les vérifications ont généré des erreurs, affichage du formulaire
contenant les données déjà saisies par l'utilisateur.
Si aucune erreur n'est relevée, alors le script saute à la ligne 212 */
?>
<form action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
<br>
</form>
</body>
Sauf que je ne sais pas comment traiter les boutons radios ??
Faut-il les faire comme les checkbox ?
De plus,
mere-teresa écrit dans un message précédent :
Il suffit de mettre dans l'attribut action de ton formulaire l'url de ton script PHP :
<form action="monscript.php" method="post">
et d'avoir un bouton de type submit...
En cliquant dessus, le formulaire sera validé (=les données envoyées en POST au script PHP spécifié dans l'action).
Je le met où ce code , au début de la totalité du doc formulaire comme ça :
Code : Tout sélectionner
<div id="contentContainer">
<div id="content">
<form style="margin-left: 0px; width: 540px;" action="monscript.php"" method="post">
<div align="center">
<h1>1 - Vous… en questions.</h1>
Et si je comprend bien (je n'en suis pas sûr ), il faudrait que je renomme le formulaire en .php ????
Merci de votre aide, doucement, doucement…ça avance !