Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
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 08/08/2011, 04h07   #1
Invité de passage
 
Homme
Étudiant
Inscription : mai 2011
Messages : 45
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Distribution

Informations forums :
Inscription : mai 2011
Messages : 45
Points : 2
Points : 2
Par défaut probleme mail() avec le format html

Bonjour,
J'ai une base de données dont une table email.
Je voudrai récupérer ces adresses pour envoyer des messages.
voici le code qui me permet d'écrire mon message:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
<form method="POST" action="envoi_mail.php">
<br>
<b>Titre du mail :</b>
<br>
<input text size="40" name="suje"><br>
<br>
<b>Texte du mail :</b>
<br>
<textarea rows="20" name="messag" cols="50"></textarea><br>
<br>
<input type="submit" value="Envoyer les emails">
</form>
et le code qui récupère les emails et les envois:
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
<?
require('../connexion.php'); 
    $db = mysql_connect($host, $login, $password) or die(showError('1', mysql_error()));
mysql_select_db($base,$db) or die(showError('2', mysql_error()));
	$sql = "SELECT DISTINCT(email) as mail FROM proposition_dossier_suite";
	$res = mysql_query($sql) or die(showError('3', mysql_error()));
 
 
		// Contenu du mail
		$sujet = "$suje";
 
		$header = "From: \"mon site \"<contact@monsite.fr>"."\r\n";
        $header.= "Reply-To: \"mon site\"<contact@monsite.fr>"."\r\n";
        $header.= 'Mime-Version: 1.0'."\r\n";
        $header.= 'Content-type: text/html; charset=utf-8'."\r\n";
        $header.= "\r\n";
 
        $message = "$messag"."\r\n";
 
 
		// Envoi des emails
		while($r = mysql_fetch_array($res)) {
			mail($r['mail'], $sujet, $message, $header);
	}	
?>
Le problème que j'ai c'est que les images n'apparaissent pas, les liens <a href="www.monsite.fr">salut</a> sont inexistant dans gmail (salut apparait sans le lien) alors que hotmail les affiche, sont cliquables mais ne s'ouvrent pas (le lien affiché est quelque chose du genre javscriptvoid=0) ou un truc du genre).
Pour le lien en direct http://www.monsite.fr gmail affiche l'adresse et le lien alors que hotmail affiche l'adresse mais pas le lien....
Bref, je m en sors pas...
moimeme340 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/08/2011, 04h13   #2
Invité de passage
 
Homme
Étudiant
Inscription : mai 2011
Messages : 45
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Distribution

Informations forums :
Inscription : mai 2011
Messages : 45
Points : 2
Points : 2
J'ai oublié...
un \ s'installe devant chaque ' (ex: j\'accepte)
Et je ne sais pas du tout pourquoi
moimeme340 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/08/2011, 15h41   #3
Membre actif
 
Homme
Inscription : avril 2011
Messages : 426
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : avril 2011
Messages : 426
Points : 171
Points : 171
Salut,

Essaye de passer la fonction stripslashes() devant tes variables

Code :
1
2
3
4
5
// Envoi des emails
		while($r = mysql_fetch_array($res))
		{
			mail(stripslashes($r['mail']), stripslashes($sujet), stripslashes($message), $header);
		}
heretik25 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 14h41   #4
Invité de passage
 
Homme
Étudiant
Inscription : mai 2011
Messages : 45
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Distribution

Informations forums :
Inscription : mai 2011
Messages : 45
Points : 2
Points : 2
salut heretik25
C'est exactement ce qu'il manquait... merci beaucoup.....
moimeme340 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 15h00   #5
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 011
Points : 5 011
Hello

Si ça te branche, tu peux utiliser la classe Mail d'Axiom (voir ma signature).

Voici un exemple d'utilisation:
Code :
1
2
3
4
5
6
$mail = new Mail('from@from.from', 'to@to.to', 'Sujet');
$mail->addDestination('another_to@to.to'); // destinataire supplémentaire
$mail->addMessagePart('Hello'); // partie text
$mail->addMessagePart('<p>Hello</p>', 'text/html'); // partie HTML
$mail->addAttachment('fichier.ext', 'application/pdf'); // pièce-jointe
$mail->send();
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 15h05   #6
Invité de passage
 
Homme
Étudiant
Inscription : mai 2011
Messages : 45
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Distribution

Informations forums :
Inscription : mai 2011
Messages : 45
Points : 2
Points : 2
salut Benjamin Delespierre,
Quelle est la différence entre ces 2 codes?
moimeme340 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 16h24   #7
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 011
Points : 5 011
La classe Mail fournit une abstraction appréciable des headers et de la mécanique interne de la création d'un mail afin de rendre la création et l'envoi d'email plus simple pour le programmeur.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 17h08   #8
Invité de passage
 
Homme
Étudiant
Inscription : mai 2011
Messages : 45
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Distribution

Informations forums :
Inscription : mai 2011
Messages : 45
Points : 2
Points : 2
merci pour cette précision...
Mais comme mon code fonctionne je vais le garder....
Merci a tous....
moimeme340 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 12h57.


 
 
 
 
Partenaires

Hébergement Web