Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
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 02/05/2008, 11h02   #1
Membre du Club
 
Inscription : février 2005
Messages : 288
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 288
Points : 47
Points : 47
Par défaut [Mail] utilisation de la fonction mail en php

Bonjour bonjour !

J'ai un petit problème avec l'utilisation de la fonction mail en php...

Je vous explique rapidement :
- depuis index.php, je charge une page appelée contact.php, contenant un formulaire,
- le formulaire appelle un fichier /contact/envoi_mail.php
- dans ce fichier, je fais différents test sur mon formulaire, en utilisant les sessions pour pouvoir afficher d'éventuels messages d'erreur dans la page appelante (contact.php)

Voici le code :
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
 <?php
 
 session_start();
 
...................
 
if( $nom=="" || $email=="" || $sujet=="" || $contenu=="" || $temp=="")
{
	$_SESSION['erreur'] = "Tous les champs doivent être renseignés !";
}
else
{
	if($test_mail[0]=="" || $test_mail[1]=="" || $retest_mail[1]=="")
	{
		$_SESSION['erreur'] = "L'adresse email renseignée est erronée !";
	}
	else
	{
		if(chk_crypt($_POST['code']))
		{
			$envoi_mail = mail("prout@yahoo.fr", $sujet, $contenu, $headers);
 
			if (!$envoi_mail)
			{
				$_SESSION['erreur'] = "Votre message n'a pas &eacute;t&eacute; envoy&eacute; car un probl&egrave;me est survenu..." ;
			}
			else
			{
 
				$_SESSION['erreur'] = "Votre message a &eacute;t&eacute; envoy&eacute; avec succ&egrave;s&nbsp;!" ;
			}
		}
		else
		{
			$_SESSION['erreur'] = "Le cryptogramme n'est pas valide !" ;
		}
	}
}
 
header("Location: .../contact.php");
 
 
?>
A noter que j'utilise un cryptogramme, d'où le test
Code :
if(chk_crypt($_POST['code']))
Mon problème est que lorsque l'instruction
Code :
$envoi_mail = mail("prout@yahoo.fr", $sujet, $contenu, $headers);
est exécutée, une page blanche s'affiche (/contact/envoi_mail.php dans la barre d'adresse).

Si je fais précédent, je reviens sur la page contact.php, et il y a bien écrit si oui ou non le mail a été envoyé...

Je souhaiterais donc pouvoir éviter l'ouverture de cette page blanche.

Merci d'avance pour votre aide et bonne journée
__________________
Juan
chti_juanito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2008, 12h30   #2
Modérateur
 
Avatar de Er3van
 
Homme Clément
Architecte Logiciel
Inscription : avril 2008
Messages : 1 370
Détails du profil
Informations personnelles :
Nom : Homme Clément
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Architecte Logiciel
Secteur : Industrie

Informations forums :
Inscription : avril 2008
Messages : 1 370
Points : 2 093
Points : 2 093
Code :
header("Location: .../contact.php");
Et si c'était simplement ça qui n'était pas bon ?

Plutôt "../contact.php" non ?
__________________
One minute was enough, Tyler said, a person had to work hard for it, but a minute of perfection was worth the effort. A moment was the most you could ever expect from perfection.

-- Chuck Palahniuk, Fight Club, Chapter 3 --
Er3van est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2008, 19h52   #3
Membre du Club
 
Inscription : février 2005
Messages : 288
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 288
Points : 47
Points : 47
Salut Er3van !

Roh j'y ai cru... ça m'aurait pas étonné que ce soit une connerie dans le genre !!

Malheureusement après modification, aucun changement :S
__________________
Juan
chti_juanito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2008, 21h11   #4
Membre éprouvé
 
Homme
Inscription : août 2006
Messages : 313
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Secteur : High Tech - Électronique et micro-électronique

Informations forums :
Inscription : août 2006
Messages : 313
Points : 497
Points : 497
Essaie une redirection html au lieu d'une redirection php. Il est possible que l'envoie de mail soit considéré comme un envoi html avec deja un header, dans ce cas, la fonction header de php est inutilisable
Phelim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2008, 10h57   #5
Membre du Club
 
Inscription : février 2005
Messages : 288
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 288
Points : 47
Points : 47
Salut Phelim !

Et bien écoute je n'y avait pas pensé, mais c'est une solution...

J'ai finalement mis du html dans envoi_mail.php, de façon à afficher un message du genre "Traitement en cours...", et dans head, j'ai ajouter le code pour faire une redirection vers contact.php

Ca marche nikel !

Merci beaucoup !
__________________
Juan
chti_juanito est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h23.


 
 
 
 
Partenaires

Hébergement Web