[PHP] Mail de confirmation.

Discussion dans 'Web, design' créé par KAMI, 20 Avril 2007.

Statut de la discussion:
Fermée.
  1. Offline
    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.
    KAMI, 20 Avril 2007
    #1
  2. Offline
    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

    ?>
    DaBeast, 20 Avril 2007
    #2
  3. Offline
    SkYlEsS Kawai
    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 ;)
    SkYlEsS, 21 Avril 2007
    #3
  4. Offline
    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: .
    KAMI, 21 Avril 2007
    #4
  5. Offline
    Bidibule2000 Elite
    Oublie pas de stocker ton code dans la BD avant l'envoi du mail hein! :-D
    Bidibule2000, 25 Avril 2007
    #5
Statut de la discussion:
Fermée.