Page 1 sur 1

lien dans mail

Posté : 11 sept. 2005, 22:56
par x-ben
salut à vous 8)

je souhaiterai mettre un lien dans un mail afin de confirmer la reception de ce mail.

j'ai donc une page php qui envoit les mails:

mail("[email protected]","sujet","blaabla... et là je voudrais mettre un lien vers la 2eme page en faisant passer l'id du type");

je voudrais qu'il suffise de cliquer sur le lien pour que ça envoie l'id dans la page qui se chargera de le recuperer et l'inserer dans ma base.

je ne sais pas comment rédiger ce mail, comment mettre les balises href etc...

Posté : 11 sept. 2005, 23:02
par HD
le lien sera du genre <a href = "http://www.tonsite.com/tonscript.php?id ... =123456789">
lis d'abord ce post :
http://www.phpfrance.com/forums/voir_su ... texte-.php
puis si t as besoin d'aide pour le code on est là

Posté : 11 sept. 2005, 23:15
par x-ben
merci bien HD

en fait, mes tables sont déja construites, les log et mdp sont déja attribués.

ce qui m'embète c'est comment intégrer ce ptit morceau (le lien) a l'interieur du mail. c'est la syntaxe, comment integrer ça dans la chaine du corps du mail.

si je comprend bien, il sera de la forme http://site/valid.php?$id

ça devrait ressembler à ça:

mail("[email protected]","sujet","blabla...???http://site/valid.php?$id???");

reste à savoir ce que je met a la place des ??? balise html, quote, double quote...
apres le 2eme page ne fait que recuperer l'id est mentionne dans la base que le lien a été cliqué

Posté : 11 sept. 2005, 23:26
par HD
exemple de mail :
blabla activez votre compte en cliquant sur le lien http://www.tonsite.com/tonscript.php?id ... =123456789
ou si ton mail est au format html ajoute ceci dans ton code :
<a href = "http://www.tonsite.com/tonscript.php?id=12&code=123456789">Activez votre compte</a>
mais comme c'est dit dans l'autre poste : utilise 2 variables sinon avec un minimum d'intelligence les visiteurs pourront activer leurs comptes sans passer par l'email qu'ils devraient recevoir

et pour le corps dumail et son envoi fais une petite recherche sur le forum il y a une centaine de topics et exemples sur ce sujet

Posté : 11 sept. 2005, 23:32
par x-ben
je ne sais pas trop ce que tu veux savoir quand tu demande si le mail est au format html

le code est dans la fonction mail() comme j'ai mis avant. je ne sais pas quoi te dire de plus.

il ne s'agit pas d'activer le compte, les comptes sont actifs déja. je veux juste m'assurer qu'un mail a été lu.

donc je voudrais plutot savoir comment rédiger le code a l'interieur de la fonction mail. comment faire pour que l'interieur des " " soit vu comme un lien ...

:wink:

Posté : 11 sept. 2005, 23:34
par HD
alors fais un simple texte
activez votre compte en cliquant sur le lien http://www.tonsite.com/tonscript.php?id ... =123456789
et ca devrait marcher

Posté : 11 sept. 2005, 23:39
par x-ben
alors fais un simple texte
activez votre compte en cliquant sur le lien http://www.tonsite.com/tonscript.php?id ... =123456789
et ca devrait marcher
bah mince c'est pourtant vrai :shock: j'aurai jamais cru

merci HD :wink:

Posté : 12 sept. 2005, 00:24
par x-ben
re :oops:

en fait je sais récupérer les infos d'un formulaire, mais là je sais pas comment récupérer la variable id passée en parametre dans la page qui doit la recueillir

plus précisément le lien créé est de la forme:
http://monsite/truc.php?69

et je voudrais récupérer ce 69 dans la page truc.php en la mettant dans une variable

Posté : 12 sept. 2005, 00:52
par HD
pour tonsite.com/page.php?id=12
$id = $_GET['id'] ;

Posté : 12 sept. 2005, 00:56
par x-ben
c'est bon :wink:

en fait on peut utiliser directement $id sans la fonction $_get

Posté : 12 sept. 2005, 09:37
par pjl
tu n'aurais pas une version un peu périmée de PHP par hasard ?

Posté : 12 sept. 2005, 22:37
par x-ben
serveur de free, je peux pas te dire :wink:

Posté : 13 sept. 2005, 08:22
par Cyrano
en fait on peut utiliser directement $id sans la fonction $_get
Attention, $_GET n'est pas une fonction mais une variable super-globale. Si tu es chez free, le register_globals est à ON sur PHP5 ce qui explique que récupérer $id directement fonctionne, mais par prudence, je te recommande quand même d'utiliser la méthode préconisée par HD:
$id = $_GET['id'];
Pour ce qui est d'être à jour, free.fr n'est pas vraiment en retard, voyez les phpinfo() :
- PHP4
- PHP5

Posté : 13 sept. 2005, 10:22
par pjl
effectivement, free n'est pas en retard et ils sont obligé de procéder ainsi sinon au moins la moitié des sites hébergés chez eux ne marcheraient plus.

d'ou l'interet de coder sur un serveur de dev très restructif.
Ainsi, on est sur que le code passera partout.