Page 1 sur 1

probleme fonction mail php

Posté : 12 juin 2010, 13:32
par civodul
bonjour a tous,
je bloque sur mon système mail
en fait je voudrais que l'utilisateur qui s'enregistre reçoive en plus sont mdp et son pseudo
simplement en les récupérant lors de sont enregistrement
j'ai tenté pas mal de chose mais rien y fait j'ai vraiment besoin d'un coup de main pour m'expliquer ce que je dois faire. en toute logique ,je dois récupérer ce qu'il envoie dans la bdd mysql .
je débute et je ne sais comment faire pour appeler ces info et les placer dans le mail.
merci de me venir en aide si possible m'expliquer tout ça que je comprenne correctement le principe ^^.
j'ai commencé un petit bout mais je sais pas si c'est juste

le code de la page d'enregistrement et mail :
<?php
//Cette fonction doit être appelée avant tout code html
session_start();

//On donne ensuite un titre à la page, puis on appelle notre fichier debut.php
$titre = "Index du forum";
include("includes/debut.php");
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; Charset=UTF-8" http-equiv="Content-Type" />

<title>registerok.php</title>
<link href="design.css" rel="stylesheet" type="text/css" />
<style type="text/css">
body {
	background-image: url(images/planetes-espace-univers-art-digital.jpg);
}
</style>
</head>
<body>
<div id="banniere"></div>
<?php
//Maintenant, on se connecte à la base de données
include("includes/identifiants.php");
mysql_connect($adresse, $nom, $motdepasse);
mysql_select_db($database);


$pseudo_erreur1 = NULL;
$pseudo_erreur2 = NULL;
$mdp_erreur = NULL;
$email_erreur1 = NULL;
$email_erreur2 = NULL;
$msn_erreur = NULL;
$signature_erreur = NULL;
$avatar_erreur = NULL;
$avatar_erreur1 = NULL;
$avatar_erreur2 = NULL;
$avatar_erreur3 = NULL;
?>
<?php

//On récupère les variables
$i = 0;
$temps = time(); 
$signature = mysql_real_escape_string($_POST['signature']);
$pseudo = mysql_real_escape_string($_POST['pseudo']);
$email = mysql_real_escape_string($_POST['email']);
$msn = mysql_real_escape_string($_POST['msn']);
$website = mysql_real_escape_string($_POST['website']);
$localisation = mysql_real_escape_string($_POST['localisation']);
$pass = ($_POST['password']);
$confirm = ($_POST['confirm']);


//Vérification du pseudo
$nombrepseudo = mysql_result(mysql_query('SELECT COUNT(*) FROM forum_membres WHERE membre_pseudo = "'.$pseudo.'"'), 0);
if($nombrepseudo != 0)
{
        $pseudo_erreur1 = "Votre pseudo est déjà utilisé par un membre";
        $i++;
}
if (strlen($pseudo) < 3 || strlen($pseudo) > 15)
{
        $pseudo_erreur2 = "Votre pseudo est soit trop grand, soit trop petit";
        $i++;
}
//Vérification du mdp
if ($pass != $confirm || empty($confirm) || empty($pass))
{
        $mdp_erreur = "Votre mot de passe et votre confirmation diffèrent, ou sont vides";
        $i++;
}
?>
<?php
//Vérification de l'adresse email

//Il faut que l'adresse email n'ait jamais été utilisée

$nombremail = mysql_result(mysql_query('SELECT COUNT(*) FROM forum_membres WHERE membre_email = "'.$email.'"'), 0);

if ($nombremail != 0)
{
        $email_erreur1 = "Votre adresse email est déjà utilisée par un membre";
        $i++;
}
//On vérifie la forme maintenant
if (!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}$#", $email) || empty($email))
{
        $email_erreur2 = "Votre adresse E-Mail n'a pas un format valide";
        $i++;
}
//Vérification de l'adresse MSN
if (!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}$#", $msn) && !empty($msn))
{
        $msn_erreur = "Votre adresse MSN n'a pas un format valide";
        $i++;
}
//Vérification de la signature
if (strlen($signature) > 200)
{
        $signature_erreur = "Votre signature est trop longue";
        $i++;
}
?>
<?php
//Vérification de l'avatar :
if (!empty($_FILES['avatar']['size']))
{
        //On définit les variables :
        $maxsize = 10024; //Poid de l'image
        $maxwidth = 100; //Largeur de l'image
        $maxheight = 100; //Longueur de l'image
        $extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); //Liste des extensions valides
        
        if ($_FILES['avatar']['error'] > 0)
        {
                $avatar_erreur = "Erreur lors du tranfsert de l'avatar : ";
        }
        if ($_FILES['avatar']['size'] > $maxsize)
        {
                $i++;
                $avatar_erreur1 = "Le fichier est trop gros : (<strong>".$_FILES['avatar']['size']." Octets</strong>    contre <strong>".$maxsize." Octets</strong>)";
        }

        $image_sizes = getimagesize($_FILES['avatar']['tmp_name']);
        if ($image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight)
        {
                $i++;
                $avatar_erreur2 = "Image trop large ou trop longue : (<strong>".$image_sizes[0]."x".$image_sizes[1]."</strong> contre <strong>".$maxwidth."x".$maxheight."</strong>)";
        }
        
        $extension_upload = strtolower(substr(  strrchr($_FILES['avatar']['name'], '.')  ,1));
        if (!in_array($extension_upload,$extensions_valides) )
        {
                $i++;
                $avatar_erreur3 = "Extension de l'avatar incorrecte";
        }
}
?>
<div id="corps_forum">
<a href ="./index.php">Index du forum</a> / <a href="./register.php">Inscription</a>
<?php
if ($i == 0) // Si i est vide, il n'y a pas d'erreur
{

        echo'<h1>Inscription prise en compte</h1>';
        echo'<p>Bienvenue '.stripslashes(htmlspecialchars($_POST['pseudo'])).' vous pouvez maintenant acceder au forum</p>';
        echo'<p>Cliquez <a href="./index.php">ici</a> pour revenir à la page d accueil</p>';

        if (isset($_FILES['avatar']['size']))
        {
                //On déplace l'avatar
                $avatar = time();
                $nomavatar = str_replace(' ','',$avatar).".".$extension_upload;
                $avatar = "./images/avatars/".str_replace(' ','',$avatar).".".$extension_upload;
                move_uploaded_file($_FILES['avatars']['tmp_name'],$avatar);
        }
              
       
        //On balance le tout dans notre table
        mysql_query('
        INSERT INTO forum_membres (membre_pseudo, membre_mdp, membre_email,             
        membre_msn, membre_siteweb, membre_avatar,
        membre_signature, membre_localisation, membre_inscrit,   
        membre_derniere_visite)
        VALUES ("'.$pseudo.'" , "'.$pass.'" , "'.$email.'" ,
        "'.$msn.'" , "'.$website.'" , "'.$nomavatar.'" ,
        "'.$signature.'" , "'.$localisation.'" ,  "'.$temps.'" ,
        "'.$temps.'" ) ') or die(mysql_error());
       
       
        //Et on définit les variables de sessions
        $_SESSION['pseudo'] = $pseudo;
        $_SESSION['id'] = mysql_insert_id();
        $_SESSION['level'] = 2;

}
else
{
        echo'<h1>Inscription interrompue</h1>';
        echo'<p>Une ou plusieurs erreurs se sont produites pendant l incription</p>';
        echo'<p>'.$i.' erreur(s)</p>';
        echo'<p>'.$pseudo_erreur1.'</p>';
        echo'<p>'.$pseudo_erreur2.'</p>';
        echo'<p>'.$mdp_erreur.'</p>';
        echo'<p>'.$email_erreur1.'</p>';
        echo'<p>'.$email_erreur2.'</p>';
        echo'<p>'.$msn_erreur.'</p>';
        echo'<p>'.$signature_erreur.'</p>';
        echo'<p>'.$avatar_erreur.'</p>';
        echo'<p>'.$avatar_erreur1.'</p>';
        echo'<p>'.$avatar_erreur2.'</p>';
        echo'<p>'.$avatar_erreur3.'</p>';
       
        echo'<p>Cliquez <a href="./register.php">ici</a> pour recommencer</p>';
}
mysql_close();
?>
<?php
//On déplace l'avatar 
$avatar = time();
$nomavatar = str_replace(' ','',$avatar).".".$extension_upload;
$avatar = "./images/avatars/".str_replace(' ','',$avatar).".".$extension_upload;
move_uploaded_file($_FILES['avatar']['tmp_name'],$avatar);
?>
<?php

//Récupération du mdp et du pseudo du membre qui viens de s'inscrir ???????? je ne sait pas quoi mettre du tout^^
 
//Message
$message = "Bienvenue sur le forum ,
n'oubliez pas de conserver ce courrier pour pouvoir revenir sur le forum en cas d'oubli de vos identifiants de connection";
//Titre
$titre = "Inscription sur le forum du monde de civodul88 !";
$id = mysql_insert_id();
$id = "vous etes le : ".$id."éme membre insrcit sur le forum"; 
//la je ne suis absolument pas sur !!!
$pseudo = "votre login est :".$pseudo."";
$pass = "votre mot de passe est :".$pass."";
mail($_POST['email'],$titre,$message,$id);

?>

<?
mysql_query('UPDATE forum_membres SET membre_verif = 1 WHERE membre_code = '.(int) $_GET['code']);
?>
d'avance merci :wink:
petit r'appel le code actuel fonctione sauf que dans le mail il n'y as ni psse ni pseudo #-o

Re: probleme fonction mail php

Posté : 12 juin 2010, 14:06
par civodul88
je precise que je debute ^^

Re: probleme fonction mail php

Posté : 12 juin 2010, 22:08
par Ryle
Il faut juste inclure ces informations dans le messages que tu envois :)
//Message
$message = "Bienvenue sur le forum ,
n'oubliez pas de conserver ce courrier pour pouvoir revenir sur le forum en cas d'oubli de vos identifiants de connection";
//Titre
$titre = "Inscription sur le forum du monde de civodul88 !";
$id = mysql_insert_id();

$message.= "vous etes le : ".$id."éme membre insrcit sur le forum"; 

$message.= "\n votre login est : ". $pseudo;
$message.= "\n votre mot de passe est : " . $pass;

mail($_POST['email'],$titre,$message);

Re: probleme fonction mail php

Posté : 12 juin 2010, 23:04
par civodul88
problème résolu merci beaucoup Ryle =D> ,
pourquoi je suis allé chercher beaucoup plus en amont du prob ça je ne saurais le dire mais en tout cas la réponse etait tellement effective que je n'ai pas été capable de la trouver moi même .
encore une fois merci beaucoup a toi ryle j'espere te revoir pour mes futurs soucis , je t'adore deja lol :mrgreen: :P

Par contre, petite question : pourquoi ce /n avant mon texte ?
et pourquoi un seul . dans les redirections ?

Re: probleme fonction mail php

Posté : 12 juin 2010, 23:08
par civodul88
euh...désolé encore moi ! comment je mets en résolu ? merci encore(^_*)

Re: probleme fonction mail php

Posté : 13 juin 2010, 11:32
par Ryle
Pour indiquer que ta question est résolue, il faut cliquer sur le bouton Image en haut à droite de la réponse qui te semble la plus pertinente, mais il faut pour cela que tu ais posté le 1er message en tant que membre (inscrit et identifié). Je l'ai donc fait pour toi :)

Pour répondre à tes questions, le "\n" permet simplement d'insérer un retour à la ligne dans une chaine de caractères (histoire de pas tout avoir à la suite dans ton message :))

Je n'ai pas compris par contre l'histoire du point dans les redirections ? (en fait je vois ce que tu appelles redirection dans ce code). S'il s'agit du " .= ", celui-ci permet de concaténer une chaine à celle déjà contenue par la variable :
$var = "Hello";
$var.= "World"; // équivaut à : $var = $var . "World"
echo $var; // affiche : "Hello World"

Re: probleme fonction mail php

Posté : 13 juin 2010, 12:04
par civodul88
bonjour ryle :wink:
ok compris merci pour ces reponses :priere: