Champ obligatoire dans un formulaire

LA JEN -  
 P.P.L. -
Bonjour,

Voici mon problème: j'ai créé l'année dernière un formulaire d' inscription pour une manifestation sportive dans un site,

Mais voilà que je n'avais pas pu y mettre des champs obligatoires (prise par le temps, j'avais du parer au plus pressant), malgré mes anotations dans le formulaire:"veullez remplir svp les champs obligatoire", beaucoup ne remplissait pas tout les champs, ce qui nous a couser nombreux problèmes et coup de tel, temps, etc.

Je travail avec Namo WebEditor4 pour le site internet, et il n'y a pas d'autre solutions concernant la mise en plaçe des champs obligatoire qu'en language HTML. Je suis super nul! en HTML et donc je sollicite toute aide avec un vocabulaire le + simple possible pour m'aider à mettre mes champs en obligatoire, merci à tous et toutes

15 réponses

lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
 
re,
tu emploie la method post
<form method="post" action="processinscription.php">

donc c'est dans ton fichier processinscription.php qu'il faut mettre les vérifications si les champs sont remplis.

ex
if (empty($_POST['prenom']))
{
//si le prenom est vide
echo 'vous n'avez pas mis votre prenom';
exit();
}
//si c'est pas vide on continue le traitement
1
lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
 
bsr ,tu fait tout en html ?
pas de php
je debute aussi

en php tu attribue a ton champ une variable ($mon_champ)

et tu fait un if

if ($mon_champ="")
{
echo 'vous n'avez saisi aucune valeur';
exit();
}
il y a la fonction if(issett) aussi

bon courage
@+
0
LA JEN
 
Bonjour, voici ce que donne mon formulaire en html

Pourriez vous m'aider en m'indiquant les modifs à effectuer pour rendre mes champ obligatoire.


Grand merci pour vos procahines réponses.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Inscription au triathlon 2006</title>

<style type="text/css">
.style1 {
font-weight: bold;
text-decoration: underline;
}
.style2 {
font-size: medium;
color: #FF0000;
font-style: italic;
font-weight: bold;
}
.style3 {
text-decoration: underline;
color: #FF0000;
font-size: medium;
}
.style4 {
text-align: left;
}
</style>

</head>

<body>

<h1>Formulaire d'inscription</h1>

<p><span style="text-decoration: underline; font-weight: bold;">Date
limite de l'inscription 16 septembre 2007</span></p>
<p class="style1"><span style="text-decoration: underline; font-weight: bold;"><u><font color="red"> !
il est important de remplir toute les cases demandées, pour que votre
inscription soit validée!</font></u></span></p>

<form method="post" action="processinscription.php">
<div class="style4">
Nom: <br>

<input name="nom" size="40" type="text"><br>

Prénom: <br>

<input name="prenom" size="40" type="text"><br>

Rue :<br>

<input maxlength="80" size="40" name="rue"><br>

Numéro + boîte:<br>

<input maxlength="12" size="8" name="numero"><br>

Code postal:    
Ville:<br>

<input maxlength="5" size="4" name="codepostal"> 
         
<input maxlength="80" size="24" name="ville"><br>

Courriel: <br>

<input name="email" size="40" type="text"><br>

Date de naissance :<br>

<input maxlength="10" size="10" name="datenais"><br>

GSM ou téléphone:<br>

<input maxlength="13" size="13" name="tel"><br>

Commentaire(s) libre(s):<br>

<textarea name="feedback" rows="5" cols="30"></textarea><br>

<br>

Epreuves: <span class="style3"><strong><em><br>
!!! VEUILLEZ SELECTIONNER L'EPREUVE CHOISIE AVANT DE VALIDER !!!<br>
</em></strong></span><br>

<select size="8" name="epreuve">
<option value="Triathlon « iron kid »">Triathlon « iron kid » 5 €</option>
<option value="Challenge francophones des jeunes : 10 €">Challenge francophones des jeunes : 10 €
</option>
<option value="Triathlon relais">Triathlon relais : 40 € ! Veuillez compléter la composition de l'équipe !</option>
<option value="Triathlon premier défi ">Triathlon « premier défi » : 15 €</option>
<option value="Triathlon Olympique">NEW Triathlon "Distance olympique" : 25 € ! N° de licence obligatoire ! ci-dessous !</option>
<option value="Triathlon promotion : senior(es) et veterans licencies : 20 €">Triathlon "promotion" : sénior(es) et véterans licenciées : 20 €
</option>
<option value="Triathlon promotion : non licencies : 25 €">Triathlon "promotion" : non licenciées : 25 €
</option>
</select>

<br>
<span class="style2">N.B l'inscription le jour même pour tous : 30 €</span><br>

<br>

<span style="font-weight: bold; text-decoration: underline;">Pour
les triathlètes "licenciés":<br>

</span><br>

Numéro de licence<span style="font-weight: bold; text-decoration: underline;"><br>

</span><input name="licence"><br>

Club d'affiliation<br>

<input maxlength="60" size="40" name="club"><br>

<br style="text-decoration: underline;">

<span style="text-decoration: underline; font-weight: bold;">Pour
les équipes relais : <br>

<br>

</span><span style="text-decoration: underline;">Nom de l'équipe<br>

<input maxlength="60" size="40" name="equipe"></span><span style="text-decoration: underline; font-weight: bold;"><span style="font-weight: bold;"><br>

<br>

<span style="text-decoration: underline;">Composition de
l'équipe<br>

<br>

</span><span style="font-style: italic;">Nageur<br>

<br>

</span>Nom:<br>

<input maxlength="60" size="40" name="nomnag"><br>

Prénom:<br>

<input maxlength="60" size="40" name="prenomnag"><br>

Date de naissance:<br>

<input maxlength="10" size="10" name="datenag"><br>

<br>

<span style="font-style: italic;">Cycliste<br>

<br>

</span>Nom:<br>

<input maxlength="60" size="40" name="nomcyc"> <br>

Prénom: <br>

<input maxlength="60" size="40" name="prenomcyc"><br>

Date de naissance :<br>

<input maxlength="10" size="10" name="datecyc"><br>

<br>

<span style="font-style: italic;">Coureur<br>

<br>

</span>Nom: <br>

<input maxlength="60" size="40" name="nomcour"><br>

Prénom: <br>

<input maxlength="60" size="40" name="prenomcou"><br>

Date de naissance :<br>

<input maxlength="10" size="10" name="datecour"><br>

<span style=""><br>

P.S.: le capitaine d'équipe sera
considéré comme la personne
« contact » de
l'équipe. <br>

Ce capitaine aura complété la rubrique de
données individuelles reprise ci-dessus. <br>

Il présentera à l' inscription la preuve
des dates de naissance de ses équipiers (cartes
d'identité).
<br>

<br>

        
       
        <input value="Validation de l'inscription" type="submit">
</span></span></span></div>
</form>

</body>
</html>
0
LA JEN
 
c'est un petit peu le "bazard" non?

que pensez vous?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
LA JEN
 
Merci lewis 34
0
lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
 
de rien j'espere que je t'aurais éclairée un peu
0
LA JEN
 
Oui bien sur parfois, il ne faut pas chercher loin, la solution est souvent simple et toute proche, mais étant tout à fait autodidacte dans le domaine de l'informatique, on fait souvent des erreurs, et parfois, on cherche, on cherche, et....

Une bonne aide arrive, alors toi, ma lumière de ce soir, merci Lewis 34

je rigole car la réponse se trouvait dans les premières ligne que j'ai posté.

Merci
0
lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
 
merci la jen
entre autodidacte il faut bien s'aider
bonne journée
@+
0
LA JEN
 
Bonsoir à tous!

Excusé moi de vous embêter, mais je ne parvient pas à rendre obligatoire le champ "Nom" - "Prénom" "Rue" "Numéro+boîte" "code postal" "ville" "courriel" "date de naissance" "gsm ou téléphone"
Pourriez vous m'aider ci dessous? Pourriez vous me dire où je doit mettre les if, etc... je suis perdue.
:-( A l'aide! Grand merci d'avançe pour vos explications.

<?php
//creation des variables
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$rue=$_POST['rue'];
$numero=$_POST['numero'];
$postal=$_POST['codepostal'];
$ville=$_POST['ville'];
$email=$_POST['email'];
$datenai=$_POST['datenais'];
$tel=$_POST['tel'];
$feedback=$_POST['feedback'];
$epreuve=$_POST['epreuve'];
$numath=$_POST['licence'];
$club=$_POST['club'];
$nomequip=$_POST['equipe'];

$nomnag=$_POST['nomnag'];
$prenomnag=$_POST['prenomnag'];
$datenag=$_POST['datenag'];
$nomcyc=$_POST['nomcyc'];
$prenomcyc=$_POST['prenomcyc'];
$datecyc=$_POST['datecyc'];
$nomcou=$_POST['nomcour'];
$prenomcou=$_POST['prenomcou'];
$datecou=$_POST['datecour'];
$toaddress = '@';
$subject = 'Inscription triathlon 2007';
$mailcontent = 'Nom: '.$nom."\n"
.'Prenom: '.$prenom."\n"
.'Rue: '.$rue." "
.'N°'.$numero."\n"
.'Code postal et ville: '.$postal." "
.''.$ville."\n"
.'Courriel: '.$email."\n"
.'Date de naissance: '.$datenai."\n"
.'GSM ou téléphone: '.$tel."\n"
.'Epreuve choisie: '.$epreuve."\n"
.'Numéro de licence d athlète :'.$numath."\n"
.'Club d affiliation:'.$club."\n"
.'Nom de l équipe relais: '.$nomequip."\n"
.'Nom et prénom du nageur: '.$nomnag." "
.''.$prenomnag."\n"
.'Date de naissance du nageur: '.$datenag."\n"
.'Nom et prénom du cycliste: '.$nomcyc." "
.''.$prenomcyc."\n"
.'Date de naissance du cycliste: '.$datecyc."\n"
.'Nom et prénom du coureur: '.$nomcou." "
.''.$prenomcou."\n"
.'Date de naissance du coureur: '.$datecou."\n"
."Commentaires libres: \n".$feedback."\n";
$fromaddress = 'From: swimmingteam.be';

mail($toaddress, $subject, $mailcontent, $fromaddress);
?>
<html>
<head>
<title>Triathlon 2007 - Inscription envoyée</title>
</head>
<body>
<h1>Votre inscription a bien été envoyée.</h1>
<p>Mode de paiement uniquement par virement sur le compte du « STH » avec mention des nom et prénom ainsi que de la course.<br>
Votre inscription ne sera validée qu'à l'encaissement de
votre virement bancaire !
</p>

</body>
</html>
0
lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
 
bonsoir la jen ,
pour les rendre obligatoire il y a plusieurs solutions :
tu peut employer au debut de ta page la fonction isset qui permet de savoir si une variable est déclarée
ex :

if (! isset($nom))
{
echo ' vous n'avez pas indiquer votre nom ' ;
}

le ! signifie que la condition est fausse

ensuite tu a empty ==> si la valeur post est vide

f (empty ($nom))
{
echo ' vous n'avez pas indiquer votre nom ' ;
}

donc tu met ca au debut de ta page avant de continuer ton traitement ,si toutes les conditions sont remplis alors tu continue sinon tu met un ou plsuieurs msg d'errurs , style il manque le prenom ou il manque la ville etc ...

en esperant t'avoir t'aider

@+
0
LA JEN
 
Hoooo Oui tu m'aides bien en expliquant simplement, je prend note et essayerais dès que je revient du boulot, je pense que tu as pu m'expliquer avec des mots simple, grand merci à toi pour le temps que tu as pris à me répondre.

Merciiiiiiiiiiiiiiiiiiiiiiiiii Lewis 34
0
lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
 
de rien ,
je suis pas mal occupé avec mon boulot donc je passe rapidement ,mais n'hésite pas à appeler à l'aide..

juste une "petite" remarque .. lol !!
pense à t'inscrire sur ccm ;-) apres c'est plus simple pour s'entraider
@+
0
P.P.L.
 
if (! isset($nom))
{
echo ' vous n'avez pas indiquer votre nom ' ;
}

Je n'ai pas compris comment utiliser le isset !! Dans la page html ou php ?
En Fait je voudrais que si les champs obligatoires ne sont pas remplis ça renvois sur le formulaire et que la phrase "vous n'avez pas indiquer votre nom" apparaisse en haut du formulaire ou mieux à côté de la case à remplir.

Quelqu'un pourrait m'aider ????

Au passage pour que la fonction passe bien il faut écrire :

if (! isset($nom))
{
echo ' vous n\'avez pas indiquer votre nom ' ;
}
0
lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
 
bonjour , isset est a utiliser dans ton code php.
Isset permet de savoir si une variable existe, qu'elle soit bien declarée,peu imoprte qu'elle soit remplie ou non, à la difference de empty qui lui ne teste que si la variable contient quelquechose.

Ce qui fait que tu peut avoir des warning dans ta page php si tu fait if(empty($var)) et que $var n'existe pas,
tandisque que si tu fait if(isset($var)) , la tu n'aura aucune erreur.
Dans ton cas ton code pourrais ressembler à ça:
je detaille le code expres pour mieux voir, car en realité on peut faire plus simple.. 1 seule ligne sufft pour tester si une valeur post existe

<?PHP
$err=''; // variable indiquant si il y a des erreurs,par defaut a vide
if(isset($nom))  // on teste si $nom existe
{
  if(empty($nom))  //$nom existe ,alors on test si elle est pas vide
  {
   $err='Vous n\'avez pas saisi votre nom';
   }
}
else   // $nom n'existe pas
{
$err='la variable nom n\'existe pas';
}
 // on regarde si $err est vide si oui c'est ok si non j'affiche le contenu de $err
//pas la peine ici de faire isset($err), car je l'ai declaré au début du code
if(empty($err))
{
echo 'Vous avez bien saisi votre nom';
}
else
{
echo $err;
}
?>


et sinon dans la version plus propre du code
<?PHP
$nom= isset($_POST['nom']) ? $_POST['nom'] : null;
// ce qui signifie que si $_post['nom'] existe la variable $nom prends sa valeur, sinon $nom=nul
?>


tu peut aussi utiliser le javascript pour tester le remplissage de tes champs

en esperant t'avoir aidé
@+
0
P.P.L.
 
Merci bien.

Entre temps j'ai utilisé ça comme code :
<?php
if (empty($_POST['nom'])) //si le nom est vide
{
echo '<br /><br /><h3>Veuillez indiquer votre nom</h3>
<a href=demande_d_information.html>Cliquez ici pour retourner au formulaire</a>';
exit();
} //si c'est pas vide on continue le traitement
?>


Ca fonctionne, mais ça m'affiche une autre page, donc ça rajoute à l'utilisateur un rechargement de la page et de re-rentrer ses informations (à moins qu'il ne soit pas bête et clique sur précédent sur le navigateur), or moi je voudrais que si les champs obligatoires sont vide ça le marque sur la page du formulaire... Enfin si c'est pas trop compliqué, sinon je laisserai comme ça, ce n'est pas très grave...

Au passage je me permet de demander :

J'ai mis une option :

<input type="radio" name="contact" value="yes" id="yes" /> <label for="yes">Oui</label><br />
<input type="radio" name="contact" value="no" id="no" /> <label for="no">Non</label>


Est-il possible de mettre un if qui fasse que si l'utilisateur coche "Oui" ça écrive une phrase, et que si il coche "Non" ça ne marque rien, j'ai essayer :

<?php
if (isset($_POST['contact'])) //si la case contact est cochée
{
echo 'Vous avez demandé à ce qu\'un expert prenne contact avec vous<br />';
}
?>


je pense qu'il faut rajouter un truc du style value="yes" dans le if, mais je ne vois pas comment ni où...
0