Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/02/2007, 18h33   #1
Futur Membre du Club
 
Inscription : janvier 2007
Messages : 103
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 103
Points : 16
Points : 16
Par défaut traitement en php d'un formulaire de contact

Bonjour,

je cherche désespéremment à faire fonctionner mon formulaire. Voilà j'ai créé mon formulaire en html, j'ai fait une vérification des champs enjavascript qui marche. J'ai fait un fichier traitement.php qui permet d'envoyer un mail à l'administrateu du site avec les données saisies dans le formulaire. le soucis c que j'ai des messages d'erreur "undefined variable"

Code :
1
2
3
4
5
6
Notice: Undefined variable: message in d:\easyphp1-8\www\sernhac\traitement.php on line 99
 
Notice: Undefined variable: titre_message in d:\easyphp1-8\www\sernhac\traitement.php on line 103
 
Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in d:\easyphp1-8\www\sernhac\traitement.php on line 106
Une erreur est survenue
pourriez vous me dire d'où viennent les erreurs ....??? merci de votre aide

voici mon formulaire.html

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<form action="traitement.php" method="POST" enctype="text/plain" onsubmit="javascript: return verification(this);">
 
 
<p class="cssform">
<label for="nom">Nom:</label>
<input name="nom" type="text" id="nom" value="" /> 
<span class="champ_obli">(*)</span></p>
 
<p class="cssform">
<label for="prenom">Prénom:</label>
<input name="prenom" type="text" id="prenom" value="" />
<span class="champ_obli">(*)</span></p>
 
<p class="cssform">
<label for="adresse">Adresse:</label>
<input name="adresse" type="text" id="adresse" value="" />
<span class="champ_obli">(*)</span></p>
 
<p class="cssform">
<label for="adresse">Code postal:</label>
<input name="code" type="text" id="code" value="" />
<span class="champ_obli">(*)</span></p>
 
<p class="cssform">
<label for="ville">Ville:</label>
<input name="ville" type="text" id="ville" value="" />
<span class="champ_obli">(*)</span></p>
 
<p class="cssform">
<label for="telephone">Téléphone:</label>
<input name="telephone" type="text" id="telephone" value="" />
</p>
 
<p class="cssform">
<label for="adresse_mail">Adresse email:</label>
<input name="email" type="text" id="email" value="" />
<span class="champ_obli">(*)</span></p>
 
<p class="cssform">
<label for="titre_message">Titre de votre message:</label>
<input name="titre_message" type="text" id="titre" value="" />
<span class="champ_obli">(*)</span></p>
 
<p class="cssform">
<label for="message">Votre message:</label>
<textarea name="message" cols="25" rows="5" id="message"></textarea>
<span class="champ_obli">(*)</span></p>
 
<p></p>
<p class="cssform">
<label for="message"></label>
  <input name="Envoyer" type="submit" id="Envoyer" value="Envoyer"  />
</p>
 
</form>
voici mon fichier traitement.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
 
<?
			//définition de l'adresse du destinataire
 
			$email_destinataire='dedel53@hotmail.com';
 
	// Réception et contrôle des données du formulaire
 
			if (isset($_REQUEST["nom"],$_REQUEST["prenom"],$_REQUEST["adresse"],$_REQUEST["code"],$_REQUEST["ville"],$_REQUEST["telephone"],$_REQUEST["email"],$_REQUEST["titre_message"],$_REQUEST["message"]))
{
	$nom=$_REQUEST["nom"];
	$prenom=$_REQUEST["prenom"];
	$adresse=$_REQUEST["adresse"];
	$code=$_REQUEST["code"];
	$ville=$_REQUEST["ville"];
	$telephone=$_REQUEST["telephone"];
	$email=$_REQUEST["email"];
	$titre_message=$_REQUEST["titre_message"];
	$message=$_REQUEST["message"];
}
 
//Préparation de l'en-tête du mail
 
$ls_entete  ='MIME-Version: 1.0\r\n';
$ls_entete .='From: '.$nom." ".$prenom; 
$ls_entete .='Reply-To: '.$email."\r\n";
$ls_entete .='Content-Type: text/plain; charset="iso-8859-1"';
$ls_entete .='\r\nContent-Transfert-Encoding: 8bit\r\n';
 
//Préparation du corps du mail
 
$message_email="Bonjour,\n"
."Un visiteur vient de remplir leformulaire de contact,\n"
."------------------Contenu--------------------"
."Nom: ".$nom."\n"
."Prenom: ".$prenom."\n"
."Adresse: ".$adresse." ".$code." ".$ville."\n"
."Email: ".$email."\n"
."Sujet: ".$titre_message."\n"
."-------------------Message--------------------"
."Message: ".$message."\n";
 
//Préparation du titre
 
$objet=$titre_message;
 
//envoi mail
if(mail($email_destinataire,$objet,$message_email,$ls_entete))
{
echo'Votre message a bien été envoyé à la mairie de Sernhac';
}
else
{
echo'Une erreur est survenue';
}
?>
dedel53 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2007, 19h25   #2
Membre émérite
 
Avatar de julien.63
 
Inscription : décembre 2005
Messages : 1 322
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 1 322
Points : 981
Points : 981
Envoyer un message via MSN à julien.63
salut,
comme le dit le message d'erreur, le problème vient du fichier traitement.php et plus précisemment de la ligne 99 et 103.
Est ce que tu pourrais nous donner ces lignes en particulier pour qu'on voit ce qui cloche.
Sinon, tu travailles en local sous easyPhp et je ne pense pas que cette configuration te permette d'envoyer le mail. Le code ne provoquera pas d'erreur mais le mail ne partira pas (sauf erreur de ma part).
julien.63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2007, 10h52   #3
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 251
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 251
Points : 1 514
Points : 1 514
salut,
pour tes "notices" d'erreur lignes 99 et 103 ca doit etre des variables qui ne sont pas/ ou mal définie...

faudrait un bout de code avec ces lignes pour voir....

sinon;
Citation:
Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in d:\easyphp1-8\www\sernhac\traitement.php on line 106
ca veux dire que tu n'as pas paramétré ton SMTP dans le fichier "php.ini" de easy php.
pour remédier a ce probleme, je rajoutes 2,3 lignes avant l'envoie du mail
Code :
1
2
ini_set("SMTP","ton_smtp");
ini_set("sendmail_from","toi@toi.fr");
avec ces deux ligne, ca évite de modifier manuellement "php.ini" a chaque fois...
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h58.


 
 
 
 
Partenaires

Hébergement Web