form: contrôle se repete???

Eléphant du PHP | 250 Messages

30 déc. 2006, 12:55

Bonjour,
Il m'arrive une drôle de chose avec un formulaire; je contrôle qu'un champs soit bien rempli, jusque là c'est ok, ça fonctionne, mais...même quand le champs est renseigné...l'alarme 'le champs doit être rempli' s'affiche toujours et interdit donc la suite (c'est le premier champs contrôlé)...Vous avez déjà vu ça vous?
Voici mon form:

Code : Tout sélectionner

<form method="post" action="contform.php"> <table> <tr><td>Votre Nom : *<input type="text" name="nom" size="20" /></td> <td>Votre entreprise :<input type="text" name="soc" size="20" /></td></tr> <tr><td>Secteur activit&eacute;: * <select name="act"> <option value="0" selected="selected">--------------</option> <option value="art">Artisans b&acirc;timent</option> <option value="mode">Mode</option> <option value="cult">Culture</option> <option value="service">Service</option> <option value="rest">Restauration</option> <option value="artistik">Artistique</option> <option value="assoc">Association</option> <option value="fest">Festival</option> <option value="part">Particulier</option> <option value="otr">Autre</option> </select></td> <td>Si besoin, pr&eacute;cisez:<textarea name="precise"></textarea></td></tr> <tr><td>Ville: *<input type="text" name="ville" size="20" /></td> <td>D&eacute;partement :* <select name="dpt"> <option value="0" selected="true">--</option> <option value="64">64</option> <option value="40">40</option> </select></td></tr> <tr><td>Site existant: *<input type="radio" name="choix" value="oui" />Oui <input type="radio" name="choix" value="non" />Non</td> <td>Votre email: *<input type="text" name="email" size="25" /></td></tr> <tr><td>Votre message :<textarea name="mess"></textarea></td> <td><center><input type="submit" value="envoyer" />&nbsp;&nbsp;&nbsp;&nbsp; <input type="reset" value="Annuler" /></center></td></tr> </table> </form>
et voici mon script php:
$from = $_POST['email'];
	$nom = $_POST['nom'];
	$soc = $_POST['soc'];
	$act = $_POST['act'];
	$preciz = $_POST['precise'];
	$ville = $_POST['ville'];
	$dpt = $_POST['dpt'];
	$email = $_POST['email'];
	$point = strpos($email,".");
	$aroba = strpos($email,"@");
	$adresse_destinataire = '[email protected]';
	$objet = 'Contact commercial heprod';
	$message = stripslashes(
	"Nom:".$_POST['nom'] .
	"\n Société:" .$_POST['soc'] .
	"\n Activité:" .$_POST['act'] .
	"\n Precision:" .$_POST['precise'] .
	"\n Ville: " .$_POST['ville'] .
	"\n Departement :"  .$_POST['dpt'] .
	"\n Site existant :" .$_POST['choix'] .
	"\n Email de reponse :" .$_POST['email'] .
	"\n Message :" .$_POST['mess']);
	
	if(empty($name))
	{
	print ("<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
	<center><b>Le nom doit &ecirc;tre renseign&eacute;</b></center>");
	die();
	}
	
	if(empty($act))
	{
	print ("<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
	<center><b>Le secteur d'activit&eacute; doit &ecirc;tre renseign&eacute;</b>
	</center>");
	die();
	}
	
	if(empty($ville))
	{
	print ("<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
	<center><b>La ville doit &ecirc;tre renseign&eacute;e</b></center>");
	die();
	}
	
	if(empty($dpt))
	{
	print ("<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
	<center><b>Le d&eacute;partement doit &ecirc;tre renseign&eacute;</b></center");
	}
	
	if(empty($email))
	{
	print ("<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
	<center><b>Votre email doit &ecirc;tre renseign&eacute;</b></center>");
	die();
	}

	if($point=='')
	{
	print ("<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
	<center><b>Votre email doit comporter un <b>point</b></b></center>");
	die();
	}
	
	elseif($aroba=='')
	{
	print ("<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
	<center><b>Votre email doit comporter un <b>'@'</b></b></center>");
	die();
	}
	
	else
	{
	mail(
	$adresse_destinataire, $objet, $message);
	print('<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
	<center><b>Votre demande a été envoyée avec succès !</b>
	<br />
	<br />
	Cliquez <input type="button" name="Retour" value="ret"/><a href="index.html?page=index"><b>ici</b></a> pour retourner à la page d\'accueil, ou 
				<a href="contact.php?page=contact"><b>ici</b></a> pour retourner à la page 
				de contact.</center>');
	exit();
	}
?>
je bute depuis 24h, je ne vois pas où j'ai fait une bêtise... :cry:
Merci de me donner un avis, une piste...
"L'histoire, à l'image de toutes choses dans l'univers, semble avoir comme unique règle le côté ondulatoire."

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

30 déc. 2006, 13:01

Salut,
Quel champ pose porblème ?

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Mammouth du PHP | 991 Messages

30 déc. 2006, 13:02

qui sait ... essaye a la place de empty par $truc = "" car chez moi non plus empty ne marchait et ca ca marche donc ....
DevOps, Symfony4, Hoa

Eléphant du PHP | 250 Messages

30 déc. 2006, 13:24

Il s'agit du champs 'nom'. Heu pour le remplacement de empty, je vois pô trop... :(
"L'histoire, à l'image de toutes choses dans l'univers, semble avoir comme unique règle le côté ondulatoire."

Eléphant du PHP | 250 Messages

30 déc. 2006, 13:25

Désolé:
d'autant que mes scripts (tous sur le même modèle ou presque fonctionnent très bien jusqu'à aujourd'hui.
"L'histoire, à l'image de toutes choses dans l'univers, semble avoir comme unique règle le côté ondulatoire."

ViPHP
ViPHP | 3607 Messages

30 déc. 2006, 13:33

regarde bien tes variables, les noms différent...
ce n'est pas $name qu'il faut tester, mais $nom

Eléphant du PHP | 250 Messages

30 déc. 2006, 13:37

:oops:
Merci Jojolapine...c'est fou qu'une bêtise pareil ne saute pas aux yeux...Merci beaucoup
Et bonne fête à toutes et tous Meilleurs voeux et bonnes prog
( n'empèche...j'ai honte :roll: )
"L'histoire, à l'image de toutes choses dans l'univers, semble avoir comme unique règle le côté ondulatoire."

ViPHP
ViPHP | 3607 Messages

30 déc. 2006, 13:38

meilleurs voeux à toi aussi ;-)
pense au Image

edit: j'avions pas vu que vous l'aviez mis =P~