Page 1 sur 1

Comment metre un lien dans un email en php? svp

Posté : 30 déc. 2006, 11:39
par vinz7
Salut à tous!

Alors voila je fais apelle à vos connaissance pour savoir comment metre un lien dans un email en php

En fait j'ai un bout de code que j'ai transferer via mon ftp a la racine de mon hebergeur..

Code : Tout sélectionner

<?php echo ("Envoyer un email <a href='envoyer mail html.php'>Ici</a>") ?>
c'est en cliquant sur "ici" que mon mail arrive au destinataire...

C'est maintnant que le probleme arrive, dans ce code je ne sais pas comment faire pour metre un lien cliquable dans le texte de l'email...

Code : Tout sélectionner

<?php /** CONFIGURATION **/ $de_nom = "BIDULE"; // ici le pseudo de la pêrsonne qui envois le mail $de_mail = "[email protected]"; // ici mon adresse email pour que la personne qui recoi le mail puisse me repondre $vers_nom = "Machintruc"; //pseudo de ceului qui va recevoir $vers_mail = "[email protected]"; //email du receveur $sujet = "Un email de test !"; // titre du sujet //Message : titre du message ici $message = "<b>Mon premier email a machin en php !!</b><br>"; $message .= "Salut machin jarrive toujours pas a te metre un lien cliquable dans ce message grrrr</b><br>"; $message .= "c'est balo ca!!</b><br>"; $message .= "oui ca m'enerve</b><br>"; /** Envoi du mail **/ $entete = "MIME-Version: 1.0\r\n"; $entete .= "Content-type: text/html; charset=iso-8859-1\r\n"; $entete .= "To: $vers_nom <$vers_mail>\r\n"; $entete .= "From: $de_nom <$de_mail>\r\n"; if(!mail($vers_mail, $sujet, $message, $entete)){ echo "L'email n'a pu être envoyé !"; } else { echo "Email a bien été evoyé par<br> $de_nom ($de_mail) <br><b>à</b><br> $vers_nom ($vers_mail)"; } ?>

Donc voilà c'est ces deux code que je transfere sur mon hebergeur via mon ftp, en cliquant sur "ici" dans le premier code ca envois le contenu du 2 eme code par email au destinataire mais dans $message .= " je sais pas comment faire pour metre un lien cliquable...

Si une ame charitable pouvai eclairer ma lanterne un ptit peu ca serai coooooool :roll:

Merci d'avance pour votre aide

vinz

Posté : 30 déc. 2006, 11:45
par Cyrano
Pose-toi la question : comment mets-tu un lien dans une page HTML ? As-tu songé à faire pareil à l'intérieur de ton message ?

Posté : 30 déc. 2006, 11:59
par vinz7
Tu veux dire comme ca?

$message.="<ahref="http://www.domaine.com/">LIENS</a></b><br>";

parceque quand je fais comme ca apres en envoyant le mail ca me met:

" Parse error: syntax error, unexpected T_STRING in /mnt/145/sda/1/b/monsite/envoyer mail html.php on line 17


Code : Tout sélectionner

<?php /** CONFIGURATION **/ $de_nom = "BIDULE"; // ici le pseudo de la pêrsonne qui envois le mail $de_mail = "[email protected]"; // ici mon adresse email pour que la personne qui recoi le mail puisse me repondre $vers_nom = "Machintruc"; //pseudo de ceului qui va recevoir $vers_mail = "[email protected]"; //email du receveur $sujet = "Un email de test !"; // titre du sujet //Message : titre du message ici $message = "<b>Mon premier email a machin en php !!</b><br>"; $message .= "Salut machin jarrive toujours pas a te metre un lien cliquable dans ce message grrrr</b><br>"; $message .= "c'est balo ca!!</b><br>"; $message .= "ca m'enerve</b><br>"; $message .= "clik sur ce lien cliquable ci dessous</b><br>"; $message.="<ahref="http://www.domaine.com/">LIENS</a></b><br>"; /** Envoi du mail **/ $entete = "MIME-Version: 1.0\r\n"; $entete .= "Content-type: text/html; charset=iso-8859-1\r\n"; $entete .= "To: $vers_nom <$vers_mail>\r\n"; $entete .= "From: $de_nom <$de_mail>\r\n"; if(!mail($vers_mail, $sujet, $message, $entete)){ echo "L'email n'a pu être envoyé !"; } else { echo "Email a bien été evoyé par<br> $de_nom ($de_mail) <br><b>à</b><br> $vers_nom ($vers_mail)"; } ?>

Posté : 30 déc. 2006, 12:06
par Cyrano
Effectivement parce qu'il y a une erreur dans ton écriture : un conflit entre guillemets :
Mais si au lieu de mettre :
$message.="<a href="http://www.domaine.com/">LIENS</a></b><br>"; 
Tu faisais :
$message.="<a href=\"http://www.domaine.com/\">LIENS</a></b><br>"; 
Ça aurait une autre conséquence : vois-tu pourquoi ?

Posté : 30 déc. 2006, 12:12
par vinz7
et oui je crois savoir d'ou viens la boulette.. :D

mon erreur est que ya les guillemet pour ladresse du lien et pour le code et le fait de metre ca: /\ ca separe les deux trucs

c'est ca?

Posté : 30 déc. 2006, 12:18
par Cyrano
pas tout à fait :
Si tu encadres des chaînes de caractères entre guillemets, pour utiliser des guillemets sans qu'ils soient interprétés à l'intérieur de cette chaîne, il faut les échapper avec le \

Donc :
$variable = "Ma chaine avec des \"guillemets\" qui ne seront pas interprétés";
Est-ce que c'est plus clair ?

Si tu encadrais la chaîne avec des apostrophes, tu n'aurais plus besoin d'échapper les guillemets :
$variable = 'Ma chaine avec des "guillemets" qui ne seront pas interprétés';
Mais attention avec les apostrophes : si ta chaine doit comporter une autre variable, il faudra faire une concaténation :
$variable = 'Ma chaine avec des "guillemets" qui ne seront pas interprétés et une variable '. $autrevariable .' qui sera interprétée.';

Posté : 30 déc. 2006, 12:18
par vinz7
MERCI !!!!!!!!!!!! Cyrano !

franchement merci parceque je galère depuis 3 jours avec ce code 8)

Posté : 30 déc. 2006, 12:23
par Cyrano
Pour les couleurs, tu fais comme en HTML, mais pour l'image, il vaut mieux mettre la source avec un lien absolu et laisser l'image dans un répertoire de ton site :
$message .= "<p style=\"color: #00ffff;\">Mon texte et une image</p>\n";
$message .= "<img src=\"http://ton-site.com/images/monimage.jpg\" alt=\"texte alternatif de remplacement\">\n";

Posté : 30 déc. 2006, 13:10
par Truc
Modération :
vinz7, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.

Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet.

Résolu

Posté : 30 déc. 2006, 20:18
par vinz7
problème résolu encore merci!

Posté : 30 déc. 2006, 20:36
par Truc
Oui oui on l'entend bien :wink:
mais c'est à toi de le tagger [Résolu] en cliquant sur ce fameux bouton.

Je le fait pour toi cette fois :wink: