Champs obligatoire

Résolu/Fermé
LA JEN - 8 juil. 2008 à 20:20
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 - 8 juil. 2008 à 21:02
Bonjour,

Bonsoir à tous!

Excusez 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>

4 réponses

jackred Messages postés 224 Date d'inscription mardi 17 juillet 2007 Statut Membre Dernière intervention 20 juin 2013 13
8 juil. 2008 à 20:26
tout dabord , ton message doit etre posé dans la section Webmastering et non Internet
en ce qui concerne ton script , c'est normal que tu n'aie pas pu faire de champs obligatoires parce qu'il n ya aucunes lignes que t'a ecrite à ce propot
essaye de chercher par internet des scripts de champ obligatoire prets a etre utilisés
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
8 juil. 2008 à 20:29
2 solutions: javascript ou php

php: dans ton formulaire de traitement, tu verifies que tout est bien rempli, sinon tu lui met un message en haut en faisait par exempe
if($_POST['nom']=="" || $_POST['prenom']="")
echo "faut me remplir tout ca!!!";


sinon en javascript, au lieu de ta page web sur le bouton on submlit, tu met une fonction javascript qui va acceder a tous les champs qui sont obligatoires, et qui n'enverra le formulaire que si il est correctement rempli. Cette solution permet un traitement coté client

a savoir: certaines personnes desactivent le javascript, il vaut donc mieu faire en php
0
Merci Jackred

Merci nabla's, je vais essayer ta solution, j'espère que je vais réussir. Je ne suis pas très douée, et novice dans ce truc...

Merciiiiiiiiiiiiiiiii beaucoup à tout les 2
0
antho33 Messages postés 42 Date d'inscription mercredi 25 janvier 2006 Statut Membre Dernière intervention 20 août 2008 2
8 juil. 2008 à 20:36
Bonjour, alors t'as plusieurs solutions,
la meilleur selon moi est de vérifier dans un seul if si tes variables existent dans ce style la :

if (isset($_POST['Nom']) && isset($_POST['prenom']) && isset($_POST['rue']) && isset($_POST['numero']) && isset($_POST['codepostal']) && isset($_POST['ville']) && isset($_POST['email']) && isset($_POST['datenais']) && isset($_POST['tel']) )
{
    //creation de variable
}
else
{
   //affichage d'une erreur comme quoi il manque une var...
}


Ce code te permettra juste de vérifier SI les champs de ton formulaire sont remplis... Après il serait bien d'appliquer la fonction htmlentities() pour éviter que certain malin joue avec ton formulaire et éventuellement utiliser les Regex pour valider que le numéro de téléphone et bien composé de 10 chiffres ect...
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
8 juil. 2008 à 20:38
le mieu est de faire le traitement sur la meme page que l afichage me semble t il pour le traitement des champs obligatoire, non ?

lle coup de la verification du num de tel, je trouve ca pas top: voyageant beaucoup a l'étranger, ca m'est arrivé des dizaines de fois de pais pouvoir remplir un formulaire car ne pouvant mettre mon numero au format internationnal !!! avoues que c'est domage...
0
antho33 Messages postés 42 Date d'inscription mercredi 25 janvier 2006 Statut Membre Dernière intervention 20 août 2008 2 > Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014
8 juil. 2008 à 20:44
pour le numero de tel, j'suis d'accord avec toi, pour les mails s'est bien utile par contre !!

Par contre, j'ai dit un ptite bétise :
la fonction isset vérifiera si une variable existe ou pas (si tu fais tout ton traitement sur une seule page, ça évite de faire des $_POST['truc'] = $truc si $_POST[truc] existe pas...)
Mais faut aussi utiliser vérifié que ta variable soit pas vide (soit avec la fonction empty(), soit avec ta méthode :) )

Pour les traitement, moi je privilégie les fonctions et la "découpe" d'en plusieurs classes ;)
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192 > antho33 Messages postés 42 Date d'inscription mercredi 25 janvier 2006 Statut Membre Dernière intervention 20 août 2008
8 juil. 2008 à 21:02
yep, le isset ne sert pas a grand chose: vu que la personne utilisera TON fornulaire, les champs y seront toujours.
si il utilise un formulaire que qqcn d autre a fait qui pointe sur ton site: c est pas ton pb ;)

isset($_POST['Nom']) && $_POST['Nom']!="" && isset($_POST['prenom']) && $_POST['Prenom']!="" && isset($_POST['rue']) && isset($_POST['numero']) && isset($_POST['codepostal']) && isset($_POST['ville']) && isset($_POST['email']) && isset($_POST['datenais']) && isset($_POST['tel'])

sur cet exemple, on a une verification de nom ET prenom uniquement

oui, lqa verificqtion du mqil est utile ...enregistrer l IP de lq personne peut etre utile en cas de spam !!!
0