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 27/12/2010, 16h27   #1
Invité de passage
 
gil ghislain
Inscription : avril 2010
Messages : 16
Détails du profil
Informations personnelles :
Nom : gil ghislain

Informations forums :
Inscription : avril 2010
Messages : 16
Points : 3
Points : 3
Par défaut Formulaire de contact xhtml/php ne me renvoi rien

bonjour, je n'aie pas encore finis de fouiller le forum pour voir si la question a deja mais voila mon problème :

j'ai créé un formulaire de contact

Code html :
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
57
58
59
60
61
62
63
 
<form method="POST" action="formmail.php" >
 
<fieldset>
	<legend>Coordonnées</legend> <!-- Titre du fieldset -->
	<table>
		<!-- première ligne -->
		<tr>
			<td><label for="nom">Nom : *</label></td>
			<td><input type="text" name="nom" id="nom" tabindex="10" /></td>
			<td><label for="prenom">Prénom :</label></td>
			<td><input type="text" name="prenom" id="prenom" tabindex="20" /></td>
		</tr>
		<!-- deuxième ligne -->
		<tr>
			<td><label for="email">E-mail : *</label></td>
			<td><input type="text" name="email" id="email" tabindex="30" /></td>
		</tr>
		<!-- troisème ligne -->
		<tr>
			<td><label for="adresse">Adresse :</label></td>
			<td><input type="text" name="adresse" id="adresse" tabindex="50" /></td>
			<td><label for="adresse2">Adresse2 :</label></td>
			<td><input type="text" name="adresse2" id="adresse2" tabindex="50" /></td>
		</tr>
		<!-- Quatrième ligne -->
		<tr>
			<td><label for="cp">Code Postal :</label></td>
			<td><input type="text" name="cp" id="cp" size="10" /></td>
			<td><label for="localite">Localite :</label></td>
			<td><input type="text" name="localite" id="localite" tabindex="50" /></td>
		</tr>
 
		<!-- Cinquième ligne -->
		<tr>
			<td><label for="tel">Tel :</label></td>
			<td><input type="text" name="tel" id="tel" tabindex="20" /></td>
			<td><label for="Fax">Fax :</label></td>
			<td><input type="text" name="Fax" id="Fax" tabindex="20" /></td>
		</tr>
	</table>
</fieldset>
 
<!-- fieldset du message-->
<fieldset>	
	<legend>Message *</legend> <!-- Titre du fieldset -->
	<table>
		<!-- ligne du message -->
		<tr>
			<td><textarea name="message" id="message" rows="5" cols="59"></textarea></td>
			<td><input type="submit" value="Envoyer"><br />
			<input type="submit" value="Annuler"></td>
		</tr>
	</table>
</fieldset>
<table>
	<!-- Ligne du commentaire -->
	<tr>
		<td><span color="red">Les champs précédé d'une * doivent obligatoirement être remplis !</span>
	</tr>
</table>
 
</form>

et j'execute le code php suivant pour envoyer le mail 'il est inspiré du tuto trouver sur ce site même

Code php :
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
 
<?php
/* Si le formulaire est envoyé alors on fait les traitements */
if (isset($_POST['envoye']))
{
    /* Récupération des valeurs des champs du formulaire */
    if (get_magic_quotes_gpc())
    {
		$nom = stripslashes(trim($_POST['nom'])); 
		$prenom = stripslashes(trim($_POST['prenom']));
		$expediteur = stripslashes(trim($_POST['email'])); 
		$adresse = stripslashes(trim($_POST['adresse'])); 
		$adresse2 = stripslashes(trim($_POST['adresse2']));
		$cp = stripslashes(trim($_POST['cp']));
		$localite = stripslashes(trim($_POST['localite']));
		$tel = stripslashes(trim($_POST['tel']));
		$fax = stripslashes(trim($_POST['fax']));
		$message = stripslashes(trim($_POST['message']));
    }
    else
    {
		$nom = trim($_POST['nom']); 
		$prenom = trim($_POST['prenom']);
		$expediteur = trim($_POST['email']); 
		$adresse = trim($_POST['adresse']); 
		$adresse2 = trim($_POST['adresse2']);
		$cp = trim($_POST['cp']);
		$localite = trim($_POST['localite']);
		$tel = trim($_POST['tel']);
		$fax = trim($_POST['fax']);
		$message = trim($_POST['message']);
    }
 
    /* Expression régulière permettant de vérifier si le 
    * format d'une adresse e-mail est correct */
    $regex_mail = '/^[-+.\w]{1,64}@[-.\w]{1,64}\.[-.\w]{2,6}$/i';
 
    /* Expression régulière permettant de vérifier qu'aucun 
    * en-tête n'est inséré dans nos champs */
    $regex_head = '/[\n\r]/';
 
    /* Si le formulaire n'est pas posté de notre site on renvoie 
    * vers la page d'accueil */
    if($_SERVER['HTTP_REFERER'] != 'http://www.monsite.be/formmail.php')
    {
      header('Location: http://www.monsite.be/');
	}
    /* On vérifie que le format de l'e-mail est correct */
    elseif (!preg_match($regex_mail, $expediteur))
    {
        $alert = 'L\'adresse '.$expediteur.' n\'est pas valide';
    }
    /* Si aucun problème et aucun cookie créé, on construit le message et on envoie l'e-mail */
    elseif (!isset($_COOKIE['sent']))
    {
        /* Destinataire */
        $to = 'MON ADRESSE MAIL';
 
        /* Construction du message */
        $msg  = 'Bonjour,'."\r\n\r\n";
        $msg .= 'Ce mail a été envoyé depuis monsite.com par '.$nom.' '.$prenom."\r\n\r\n";
		$msg .= $adresse.' '.$adresse2.' '.$cp.' '.$localite. "\r\n";
		$msg .= $tel.' '.$Fax. "\r\n";
		$msg .= 'Voici le message qui vous est adressé :'."\r\n";
        $msg .= '***************************'."\r\n";
        $msg .= $message."\r\n";
        $msg .= '***************************'."\r\n";
 
        /* En-têtes de l'e-mail */
        $headers = 'From: '.$nom.' '.$prenom.' <'.$expediteur.'>'."\r\n";
 
        /* Envoi de l'e-mail */
        if (mail($to, $sujet, $msg, $headers))
        {
            $alert = 'E-mail envoyé avec succès';
 
            /* On créé un cookie de courte durée (ici 60 secondes) pour éviter de 
            * renvoyer un mail en rafraichissant la page */
            setcookie("sent", "1", time() + 60);
 
            /* On détruit la variable $_POST */
            unset($_POST);
        }
        else
        {
            $alert = 'Erreur d\'envoi de l\'e-mail';
        }
 
    }
    /* Cas où le cookie est créé et que la page est rafraichie, on détruit la variable $_POST */
    else
    {
        unset($_POST);
    }
}
?>

voila alors lorsque on appuie sur envoyer il ne se passe rien ... je ne reçois aucun mail, et tous les navigateur utiliser affiche une page blanche seulement je ne comprend pas ou se trouve mon erreur..

merci d'avance pour votre aide

ps: dans le code php j'ai enlever mon adresse mail que j'avais mis en test et j'ai envlever l'adresse mail du site
0n31l est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2010, 16h37   #2
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 802
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 802
Points : 35 807
Points : 35 807
Code php :
if (isset($_POST['envoye']))
Il est où le champ "envoye" ?

Et aussi :
Code :
<input type="submit" value="Annuler">
ce serait pas un type "reset" plutôt ?
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2010, 03h22   #3
Invité de passage
 
gil ghislain
Inscription : avril 2010
Messages : 16
Détails du profil
Informations personnelles :
Nom : gil ghislain

Informations forums :
Inscription : avril 2010
Messages : 16
Points : 3
Points : 3
alors pour le

Code :
1
2
 
if (isset($_POST['envoye']))
c'ela fait partie du code que j'ai récupéré du tuto que j'ai trouvé sur se site il est plus que probable que certaine partie m'échappe...

je suis programmeur VB6 et c'est pour le site de mon patron que je dois faire sa donc j'ai découvert le php cette semaine ...

et pour le

Code :
1
2
 
<input type="submit" value="Annuler">
c'est le code du site du zéro et pour le moment (ou j'en suis dans le tuto) il ne donne que se code pour les boutons

merci, alors après modification du code selon tes suggestions , maintenant je suis bien rediriger vers la page d'accueil se qui est parfait mais je ne recois toujours pas l'email dois-je aller dans le forum php et poster ma question ?
0n31l est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2010, 08h38   #4
Modérateur
 
Avatar de Bisûnûrs
 
Josselin
Développeur Web
Inscription : janvier 2004
Messages : 9 050
Détails du profil
Informations personnelles :
Nom : Josselin
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : janvier 2004
Messages : 9 050
Points : 12 181
Points : 12 181
Citation:
Envoyé par 0n31l Voir le message
alors pour le

Code :
1
2
 
if (isset($_POST['envoye']))
c'ela fait partie du code que j'ai récupéré du tuto que j'ai trouvé sur se site il est plus que probable que certaine partie m'échappe...
Je connais ce tuto puisque c'est moi qui ai écrit cette partie.
Donc il te manque en effet le name de ton bouton (cf le tuto toujours) pour pouvoir entrer dans le if.

Et si tu es redirigé vers l'accueil c'est que tu entres dans cette condition :
Code php :
if($_SERVER['HTTP_REFERER'] != 'http://www.monsite.be/formmail.php')
Donc ta vérification ne doit pas être bonne.
Bisûnûrs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2010, 19h45   #5
Invité de passage
 
gil ghislain
Inscription : avril 2010
Messages : 16
Détails du profil
Informations personnelles :
Nom : gil ghislain

Informations forums :
Inscription : avril 2010
Messages : 16
Points : 3
Points : 3
ok et comment je fait pour eviter sa ?

mais je voudrai quand même être rediriger vers la pages d'acceuil après avoir envoyer l'email

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
57
58
59
60
61
62
63
64
65
66
67
68
69
 
<?php
/* Récupération des valeurs des champs du formulaire */
if (get_magic_quotes_gpc())
{
	$nom = stripslashes(trim($_POST['nom'])); 
	$prenom = stripslashes(trim($_POST['prenom']));
	$expediteur = stripslashes(trim($_POST['email'])); 
	$adresse = stripslashes(trim($_POST['adresse'])); 
	$adresse2 = stripslashes(trim($_POST['adresse2']));
	$cp = stripslashes(trim($_POST['cp']));
	$localite = stripslashes(trim($_POST['localite']));
	$tel = stripslashes(trim($_POST['tel']));
	$message = stripslashes(trim($_POST['message']));
}
else
{
	$nom = trim($_POST['nom']); 
	$prenom = trim($_POST['prenom']);
	$expediteur = trim($_POST['email']); 
	$adresse = trim($_POST['adresse']); 
	$adresse2 = trim($_POST['adresse2']);
	$cp = trim($_POST['cp']);
	$localite = trim($_POST['localite']);
	$tel = trim($_POST['tel']);
	$message = trim($_POST['message']);
}
 
/* Expression régulière permettant de vérifier si le 
* format d'une adresse e-mail est correct */
$regex_mail = '/^[-+.\w]{1,64}@[-.\w]{1,64}\.[-.\w]{2,6}$/i';
 
/* Expression régulière permettant de vérifier qu'aucun 
* en-tête n'est inséré dans nos champs */
$regex_head = '/[\n\r]/';
 
	/* Destinataire (votre adresse e-mail) */
	$to = 'MAIL@mail.com';
 
	/* Construction du message */
	$msg  = 'Bonjour,'."\r\n\r\n";
	$msg .= 'Ce mail a été envoyé depuis http://www.mon-site.com/ par '.$nom.' '.$prenom."\r\n";
	$msg .= $adresse.' '.$adresse2.' '.$cp.' '.$localite. "\r\n";
	$msg .= $tel. "\r\n";
	$msg .= 'Voici le message qui vous est adressé :'."\r\n";
	$msg .= '***************************'."\r\n";
	$msg .= $message."\r\n";
	$msg .= '***************************'."\r\n";
 
	/* En-têtes de l'e-mail */
	$headers = 'From: '.$nom.' '.$prenom.' <'.$expediteur.'>'."\r\n";
 
	/* Envoi de l'e-mail */
	if (mail($to, $sujet, $msg, $headers))
	{
		$alert = 'E-mail envoyé avec succès';
 
		/* On créé un cookie de courte durée (ici 60 secondes) pour éviter de 
		* renvoyer un mail en rafraichissant la page */
		setcookie("sent", "1", time() + 60);
 
		/* On détruit la variable $_POST */
		unset($_POST);
	}
	else
	{
		$alert = 'Erreur d\'envoi de l\'e-mail';
	}
?>
ok j"ai supprimer les lignes de code qui possait problème maintenant j'ai un autres problème il me donner un message d'erreur avec le serveur smtp, peut-on configurer les infos pour le serveur smtp directement dans le fichier php ?
0n31l est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2011, 12h14   #6
Invité de passage
 
gil ghislain
Inscription : avril 2010
Messages : 16
Détails du profil
Informations personnelles :
Nom : gil ghislain

Informations forums :
Inscription : avril 2010
Messages : 16
Points : 3
Points : 3
Personne n'a d'idée ? pourtant c'est simple peut-on mettre les paramètres du serveur smtp dans le fichier de script de l'envoye du mail ou si on ne peut pas, comment fait-on pour aller rechercher les infos dans le fichier config.php ...


merci d'avance pour vos réponse ...
0n31l est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2011, 01h09   #7
Invité de passage
 
gil ghislain
Inscription : avril 2010
Messages : 16
Détails du profil
Informations personnelles :
Nom : gil ghislain

Informations forums :
Inscription : avril 2010
Messages : 16
Points : 3
Points : 3
je vien relancer le sujet en désespoire de cause ...
0n31l est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 20h31   #8
Invité de passage
 
gil ghislain
Inscription : avril 2010
Messages : 16
Détails du profil
Informations personnelles :
Nom : gil ghislain

Informations forums :
Inscription : avril 2010
Messages : 16
Points : 3
Points : 3
dernière relance ... personne ?
0n31l est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2011, 00h51   #9
Invité de passage
 
Inscription : janvier 2011
Messages : 22
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 22
Points : 3
Points : 3
Salut!
Tu peut aller voir la : http://www.developpez.net/forums/d10...laire-contact/

Il y a le code du formulaire qui marche parfaitement de mon coté. Il faut juste remplacé l'e-mail
Voila
matt059 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 10h07.


 
 
 
 
Partenaires

Hébergement Web