Envoi de mail dans PHP ?

@ybee

Membre expert
Club iGen
18 Mai 2001
1 039
14
42
Embourg, Belgique
antoine.olbrechts.eu
Hello tout le monde !

J'ai ceci dans un script php :

Bloc de code:
// Envoi de l'email de confirmation

$id = $_GET['id'];
$sql = 'SELECT email FROM simple WHERE id = '. $id;
$req = mysql_query($sql) OR die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

while ($data = mysql_fetch_object($req))
{
	$email = $data['email'];
	$header = "From: [email protected]";
	$To = $email;
	$Subject = "Confirmation de votre inscription au tournoi criterium du TC Embourg";
	$Msg ="Vous avez bien été inscrit au tournoi...";
	if( !mail($To, $Subject, $Msg, $From) )
	{
		echo "Erreur lors de l'envoi<br />";
	}
	else
	{
		echo '<br />Le joueur a bien été validé et un email de confirmation lui a été envoyé...<br /><br /><a href="avalider.php">Retour</a>';
	}
}


J'ai deux (sans doute petits) problèmes :

1. il récupère pas l'adresse email du joueur, donc erreur
2. Si je teste avec $email="[email protected]"; ca prouve que ca fonctionne, je reçois l'email, mais le champ FROM est pas bon et je sais pas ce que je dois mettre pour arranger ça ... Des idées ?

Merci !!




Pour info : c'est pour www.tcembourg.be
 
Tu utilises la fonction mysql_fetch_object pour récupérer un tuple. Alors, ça te retourne un objet et non un tableau. Donc pour accéder à l'e-mail : $email = $data->email;

Ensuite pour le champ From, lorsque tu envoie le mail tu passes en paramètre une variable $From.. mais je ne la vois définie nulle part !?
 
Effectivement j'avais mélangé du fetch_array et du fetch_object ...

Voici le code qui fonctionne, pour ceux que ça intéresse :

Bloc de code:
// Envoi de l'email de confirmation

$id = $_GET['id'];
$sql = 'SELECT email FROM simple WHERE id = '. $id;
$req = mysql_query($sql) OR die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

while ($data = mysql_fetch_object($req))
{
	$email = $data->email;
	$header = "From: [email protected]";
	$To = $email;
	$Subject = "Confirmation de votre inscription au tournoi criterium du TC Embourg";
	$Msg ="Vous avez bien été inscrit au tournoi...";
	if( !mail($To, $Subject, $Msg, $header) )
	{
		echo "Erreur lors de l'envoi<br />";
	}
	else
	{
		echo '<br />Le joueur a bien été validé et un email de confirmation lui a été envoyé...<br /><br /><a href="avalider.php">Retour</a>';
	}
}