Tatoubest
Messages postés28Date d'inscriptionvendredi 23 décembre 2005StatutMembreDernière intervention17 août 2007
-
17 août 2007 à 18:59
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 2012
-
17 août 2007 à 20:13
Bonsoir,
J’ai un petit soucis qui peux s’averer tres simple
mais qui m’embete depuis quelques temps.
Je souhaite effectuer un test sur les champs $civ,
$nom, $email, $type, $noment, $adressent, et
$_POST['choix']. Si c’est le cas alors le script s’execute.
Cependant, il ne rentre meme pas dans ma premiere
condition…
Voici mon code :
// recuperation des variables
$civ=$_POST['civ'];
$nom=$_POST['nom'];
$fonction=$_POST['fonction'];
$email=$_POST['email'];
$tel=$_POST['tel'];
$poste=$_POST['poste'];
$type=$_POST['type'];
$noment=$_POST['noment'];
$adressent=$_POST['adressent'];
$_POST['choix'];
$message=$_POST['message'];
$contenu
= "";
// On vérifie si les champs sont suivant sont pas
remplies
if(empty($civ)
OR empty($nom) OR empty($email) OR empty($type) OR empty($noment) OR
empty($adressent) OR empty($_POST['choix']))
{
$contenu.="<script
language='Javascript'>
alert('Field(s)
can be empty, thank you to try again');
history.go(-1)
window.location.replace('Contact.php');
</script>";
//Test
si email correct
}else
{
if(!verif_email($email))
{
$email="";
$contenu.="<script
language='Javascript'>
alert('You
email is not right, thank you to try again');
window.location.replace('contact.php');
</script>";
}
}
Voici les erreurs afficher lorsque je saisie aucun
champ:
Notice: Undefined index: civ in
/Applications/MAMP/htdocs/Contact/contact2.php on line 16
Notice: Undefined index: type
in /Applications/MAMP/htdocs /contact2.php on line 22
Notice: Undefined index: choix
in /Applications/MAMP/htdocs/ Contact/contact2.php on line 25
Warning: Invalid argument
supplied for foreach() in /Applications/MAMP/htdocs/Contact/contact2.php on
line 56
Warning: Invalid argument supplied for foreach() in
/Applications/MAMP/htdocs/ Contact/contact2.php on line 72
Les 3 premieres erreurs correspondent au debut du code, à la recupération des variables.
Si je saisie les valeurs, je n’ai aucune
erreurs qui s’affichent.
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 20124 17 août 2007 à 19:05
Bonjour,
c'est parce que $_POST['civ'] n'existe pas que Notice: Undefined index: civ in /Applications/MAMP/htdocs/Contact/contact2.php on line 16 s'affiche. Regarde si ton champ html de départ s'appelle bien comme ça, et qu'il est bien inclus dans le form.
Ah et si c'est une case à cochée non cochée, c'est normal que la valeur n'existe pas à l'arrivée.
Tatoubest
Messages postés28Date d'inscriptionvendredi 23 décembre 2005StatutMembreDernière intervention17 août 2007 17 août 2007 à 19:11
Bonsoir Evangun,
effectivement $civ est un bouton radio, dans mon formulaire,
ce la ressemble a ca :
<td>Mme</td>
<td>Melle</td>
<td>M</td>
<td></td>
que faire pour tester ce genre de chose dans de cas?
Sinon, je recupere bien la valeur de la variable...
Sinon les autres elements sont des textfields et check box...
Merci d'avance,
Tatoubest
Messages postés28Date d'inscriptionvendredi 23 décembre 2005StatutMembreDernière intervention17 août 2007 17 août 2007 à 19:23
Effectivement, si je selection une check box, un textfield ou un bouton radio, j'arrive sans probleme à recuperer les valeurs, mais mon objectifs est de tester si l utilisateur oublie de les cocher(radio), selectionner(checkbox), ou remplir(textfield), alors il sera automatiquement renvoyaer à la page precedente...
Est ce possible?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Tatoubest
Messages postés28Date d'inscriptionvendredi 23 décembre 2005StatutMembreDernière intervention17 août 2007 17 août 2007 à 19:44
Desoler Evangun, je n'y arrive pas...
Est possible de resonner comme ca ?
if(isset($civ) OR empty($nom) OR empty($email) OR isset($type) OR empty($noment) OR empty($adressent) OR isset($_POST['choix']))
{
$civ = $_POST['civ'];
$type = $_POST['type'];
$choix = $_POST['choix'];
$contenu.="<script language='Javascript'>
alert('Field(s) can be empty, thank you to try again');
history.go(-1)
window.location.replace('Contact.php');
</script>";
//Test si email correct
}else
{
if(!verif_email($email))
.....
mes variables $type et $choix sont des radio et checkboxs. Fautil faire un test separer entre eux et les textfields?
Je suis paumé....
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 20124 17 août 2007 à 19:55
Non tu ne peux pas raisonner comme ça.
Il faut écrire :
//ici tes variables obligatoire
if(empty($nom) OR empty($email) OR empty($noment) OR empty($adressent)) {
redirection
}
//là si tes variables obligatoires sont remplies
else {
//puis les vérifs sur les variables non-obligatoires
..... suite de ton script
}
C'est variable le sont aussi... C'est juste que ce ne sont pas des textfields, mais un rdio et 2 checkboxs. Je vais essayer et te tiens au courant.
merci de ton aide en tout cas !
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 20124 17 août 2007 à 20:13
Attends, tu me dis une fois que tu veux prévoir le cas où les gens ne cochent pas, et ensuite tu dis que ce sont des champs obligatoires ? ça n'a pas sens...