Page 1 sur 1

Pb sur formulaire d'envoi de mail

Posté : 25 avr. 2005, 14:10
par bootx
bonjour a tous

j'essaie de suivre l'exemple, d'un formulaire d'envoi de mail, sur un bouquin pour apprendre le php but quand je tape le code ca ne m'affiche rien ??? je travail en local avec easyphp 1.8 et donc lorsque je veux passer de mon formulaire.html a ma page test.php, voir si toute les variables arrivent, ca merdouille :

formulaire.html :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Formulaire Email</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form action="test.php" method="post">
<table>
<tr>
<td>Nom</td>
<td><input type="text" name="nom">
</td>
</tr>
<tr>
<td>Prénom</td>
<td><input type="text" name="prenom"></td>
</tr>
<tr>
<td>Adresse</td>
<td><textarea name="adresse"></textarea></td>
</tr>
<tr>
<td>Ville</td>
<td><input type="text" name="ville"></td>
</tr>
<tr>
<td>Code postal</td>
<td><input type="text" name="codepostal"></td>
</tr>
<tr>
<td>Pays</td>
<td><input type="text" name="pays"></td>
</tr>
<tr>
<td>Sexe</td>
<td>M <input type=radio name=sexe value="M">-
F <input type=radio name=sexe value="F"></td>
</tr>
<tr>
<td>Date de naissance</td>
<td><input type="text" name="naissance"></td>
</tr>
<tr>
<td>Taille</td>
<td><input type="text" name="taille"></td>
</tr>
<tr>
<td>Email</td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td>Téléphone</td>
<td><input type="text" name="telephone"></td>
</tr>
<tr>
<td>Langue vivante</td>
<td>
<select name="lv">
<option value="anglais">anglais</option>
<option value="espagnol">espagnol</option>
<option value="allemand">allemand</option>
</select>
</td>
</tr>
</table>
<br>
<input type="submit" value="envoyer">
</form>
</body>
</html>


--------------------------

test.php :


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>

<?php

$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$adresse=$POST['adresse'];
$ville=$_POST['ville'];
$codepostal=$_POST['codepostal'];
$pays=$_POST['pays'];
$sexe=$_POST['sexe'];
$naissance=$_POST['naissance'];
$taille=$_POST['taille'];
$email=$_POST['email'];
$telephone=$_POST['telephone'];
$lv=$_POST['lv'];

if (empty($nom) || empty($prenom) || empty($adresse) || empty($ville) || empty($codepostal) || empty($pays) || empty($sexe)
|| empty($naissance) || empty($taille) || empty($email) || empty($telephone) || empty($lv))
print("erreur : tout les champs doivent etre rempplis.");

if (!isset($sexe)) die("ERREUR : choisissez votre sexe.");

if (ereg("^[[:alnum:]]+@[[:alpha:]]+\.[[:alpha:]]{2,3}$",$email) == 0)
die("ERREUR : adresse email non valide");

if ((ereg("^[[:digit:]]+$",$taille) == 0) || !(($taille >= 100) && ($taille <= 200)))
die("ERREUR : la taille n est pas valide");

?>

</body>
</html>


quand je clic sur "envoyer" de ma page formulaire.html j'ai ceci qui apparait sur ma page test.php :

= 100) && ($taille <= 200))) die("ERREUR : la taille n est pas valide"); ?>

Pourquoi donc ???

si j'enleve les test de la taille et/ou de l'email ca m'affiche une page blanche meme si aucune données n'a ete rentrées dans les champs du formulaire alors que normalement avec DIE ca devrai m"afficher quelque chose non ?? idem si je remplace DIE par print ou echo

D'ou cela vient il ??

merci d'avance :)

Posté : 25 avr. 2005, 14:28
par bootx
ah en fait maintenant ca m'affiche :

Parse error: parse error in c:\program files\easyphp1-8\www\nouveau dossier\formulaire\test.php on line 28

c est au niveau du DIE dirait on ... mais alors pourquoi ??

Posté : 25 avr. 2005, 14:40
par lamk
c'est pas ça ?
if (!isset($sexe))or die("ERREUR : choisissez votre sexe."); 
perso j'ai toujours mis le or... après si c'est obligatoire ou non... :/

Posté : 25 avr. 2005, 14:45
par bootx
bouarfff j ai oublié de mettre un "_" pour la ligne
$adresse=$POST['adresse'];

forcement ca genere une erreur...

m'enfin ca m apprendra...

merci quand meme pour ta reponse lamk ;)

Posté : 25 avr. 2005, 16:48
par yannag
petite optimisation de code pour pas se taper des truc comme ça
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$adresse=$POST['adresse'];
$ville=$_POST['ville'];
$codepostal=$_POST['codepostal'];
$pays=$_POST['pays'];
$sexe=$_POST['sexe'];
$naissance=$_POST['naissance'];
$taille=$_POST['taille'];
$email=$_POST['email'];
$telephone=$_POST['telephone'];
$lv=$_POST['lv']; 
foreach ($_POST as $key => $val)  {
$$key = $val ; }

Posté : 25 avr. 2005, 17:29
par bootx
houla oui effectivement ca raccourci considerablement... ;)

Merci bien yannag pour cette optimisation, je testerai ca.

une bonne soirée