Pb sur formulaire d'envoi de mail

Eléphanteau du PHP | 11 Messages

25 avr. 2005, 14:10

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 :)
La vie est belle !

Eléphanteau du PHP | 11 Messages

25 avr. 2005, 14:28

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 ??
La vie est belle !

Eléphant du PHP | 98 Messages

25 avr. 2005, 14:40

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... :/

Eléphanteau du PHP | 11 Messages

25 avr. 2005, 14:45

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 ;)
La vie est belle !

Eléphanteau du PHP | 25 Messages

25 avr. 2005, 16:48

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 ; }

Eléphanteau du PHP | 11 Messages

25 avr. 2005, 17:29

houla oui effectivement ca raccourci considerablement... ;)

Merci bien yannag pour cette optimisation, je testerai ca.

une bonne soirée
La vie est belle !