[PHP] Mail de confirmation.

Statut
N'est pas ouverte pour d'autres réponses.

KAMI

spim spam spoum
Bonjour à tous,

Pour mon projet de fin d'année en Programmation multimédia, je dois réaliser une photothèque. Et l'une des conditions est que l'activation du compte de la photothèque DOIT se faire par mail. Exactement de la même façon pour ce forum.

Donc je dois envoyé un e-mail à l'utilisateur qui quand il se rend sur le lien qui se trouve dans l'e-mail. Le seul truc c'est que je ne sais pas comment intégrer l'adresse dans le mail (Mail en HTML ?). Et de 2 que dois je faire pour traiter l'url du mail.

Code:
<?php

function envoieemail($email_dest1, $email_dest2, $pseudo, $cleactivation) {
	mysql_select_db(confir);
	
	ini_set('SMTP','relay.skynet.be');
	ini_set("sendmail_from", "g_vincent1@hotmail.com");
	
	//$postto = $email_dest1.'@'.$email_dest2;
	//echo $postto;
	$to = $email_dest1.'@'.$email_dest2;
    $subject = 'Activation du compte';
    $message = 'Bienvenue dans la photothèque consacrée au manga. Pour que votre activation soit complète merci de cliquer sur ce lien. Merci de cliquer sur ce lien';
	
    mail($to, $subject, $message);
}

?>
La variable $cleactivation est en fait un md5 du pseudo et du mot de passe de l'utilisateur. Si vous avez un exemple concret à me donner je suis preneur.

Merci à tous à l'avance.
 

DaBeast

Elite
pour ce qui de traiter l'adresse, rien de plus simple qu'un GET en php. Suffit que tu lui mettres les variables que t'as besoin pour l'identifier dans le link que tu lui mets dans le mail.

Exemple.

L'url que tu lui mets dans le mail.

http://blablabla.com/register.php?md5=3123164894645498&nick=johnny

alors register.php ressemble a ca.
<?

$md5 = $_GET["md5"];
$nom_utilisateur= $_GET["nick"];

ici tu traites les infos

?>
 

SkYlEsS

Elite
Code:
$mail = $_POST['mail'];

				function GenPassword($length = 8)
				{ 
					$cara = "abcdefghijklmnopqrstuvwxyz";
					$cara .= "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
					$cara .= "0123456789";
				 
					for ($i = 0; $i < $length; $i++)
					{
						$j = rand(0, 62);
						$password .= $cara[$j];
					}
					return $password;
				}
				
				$code = GenPassword();
				$mail2 = str_replace("@", "[at]", $mail);
				$message = "Bonjour $pseudo<br />Blablabla ...";
				
				$headers = "MIME-Version: 1.0\r\n";
				$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
				$headers .= "From: email de ton domaine\r\n";
				 
				mail($mail, "Sujet de ton mail", $message, $headers);
Dans le mail, je demande qu'il clique sur un lien pour activer son compte avec une url :

Code:
<a href=\"http://www.tonsite.be/register.php?mail=$mail2&code=$code\">Activation</a><br />
Et sur cette page, on trouve le code suivant :
Code:
	if ((isset($_GET['mail'])) && (isset($_GET['code'])))
	{
		$mail = str_replace("[at]", "@", $_GET['mail']);
		$code = $_GET['code'];
		$req = (Je vais chercher le nom du compte qui correspond au code dans la BDD).
		
		if (mysql_num_rows($req) == '1')
		{
			Utilisateur trouvé. (Moi, je mets le champ code vide et j'ajoute le mail dans la BDD)
		}
		else
		{
			Utilisateur non trouvé.
		}
	}
Bref, tant que le champ code est rempli et le champ mail est vide, l'utilisateur n'a toujours pas activer son compte ;)
 
1er
OP
KAMI

KAMI

spim spam spoum
Merci à tout les 2 :=)

Je ne dois plus que créer l'url mais ça je dois voir à mon école car c'est un peu spécial :dead: .
 
Oublie pas de stocker ton code dans la BD avant l'envoi du mail hein! :-D
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut