Pb sur formulaire d'envoi de mail

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Pb sur formulaire d'envoi de mail

par bootx » 25 avr. 2005, 17:29

houla oui effectivement ca raccourci considerablement... ;)

Merci bien yannag pour cette optimisation, je testerai ca.

une bonne soirée

par yannag » 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 ; }

par bootx » 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 ;)

par lamk » 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... :/

par bootx » 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 ??

Pb sur formulaire d'envoi de mail

par bootx » 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 :)