Page 1 sur 1

Comment utiliser des variables venant de la base?

Posté : 08 mars 2010, 21:24
par ericbibi
Bonjour,

Je suis débutant en php, mais j'aime apprendre !

Je ne trouve pas comment sortir le email et le password de la base de donné!

Je réussit bien à sortir l'info de la bas et l'afficher avec echo ($date ['email'])(.$date ['password'])
mais je ne réussis pas à l'utiliser pour envoyé un courriel.

J'ai mis en grosse lettre ou devrais être les deux infos!

Ce script est pour renvoyé à un usager son mot de passe oublié, je me suis rendu jusque là mais je bloque!

Merci pour votre aide!

A+


$sql = mysql_query('SELECT * FROM users WHERE email = "'. mysql_real_escape_string($_POST['adressecourriel']).'"');
if ($data = mysql_fetch_array($sql)) {

// Envoyer un courriel de confirmation
$to = 'ICI L'ADRESSE DU DEMANDEUR';
$cc = '';
$bcc = '[email protected]';
$subject = 'Rapelle de votre mot de passe!';
$message = "Bonjour,<br><br>Vous avez demandé un rapelle de votre mot de passe!<br><br> Votre mot de passe est ICI SON MOT DE PASS <br><br>Bonne journée,<br><br>Le système ACIND.ca";
$headers = "From: Systeme monsiteweb.ca <[email protected]>" . "\r\n";
$headers .= "Reply-To: $to" . "\r\n";
$headers .= 'X-Mailer: PHP/' . phpversion() . "\r\n";
$headers .= "Cc: $cc" . "\r\n";
$headers .= "Bcc: $bcc" . "\r\n";
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
mail($to, $subject, $message, $headers);

echo 'Un courriel vous a été envoyé!';
}
else {
echo 'Désolé, aucune adresse de courriel ne corespond à l\'adresse que vous avez inscrit!';

Re: Comment utiliser des variables venant de la base?

Posté : 08 mars 2010, 22:50
par SinBert
Bonjour,

Tu devrais essayer avec ces deux variables ci :
Pour l'adresse e-mail : $data['email']
Pour le mot de passe : $data['password']

Bien entendu, ces deux variables sont à modifier en fonction du nom de la colonne dans ta base de donnée. ;)

Voila,
j'espère t'avoir aidé. Bonne soirée.

PS : j'ai survolé ton code, peut-être y a t il d'autres erreurs, je ne sais pas. ;)

Re: Comment utiliser des variables venant de la base?

Posté : 08 mars 2010, 22:51
par Aureusms
Si j'ai bien compris $_POST['adressecourriel'] est un courriel... Tu veux l'envoyer à cette adresse ou pas si oui, j'ai modifié le code. J'en ai profité pour ajouter un test de requête MYSQL.
$sql = mysql_query('SELECT * FROM users WHERE email = "'. mysql_real_escape_string($_POST['adressecourriel']).'" LIMIT 1');
if (mysql_num_rows($sql) > 0) { //on a des résultats (au moins 1)
$data = mysql_fetch_assoc($sql);

// Envoyer un courriel de confirmation
$to = $data['email']; //ou un truc du genre mais $_POST['adressecourriel'] devrait aussi fonctionner
$cc = '';
$bcc = '[email protected]';
$subject = 'Rapelle de votre mot de passe!';
$message = "Bonjour,<br><br>Vous avez demandé un rapelle de votre mot de passe!<br><br> Votre mot de passe est ICI SON MOT DE PASS <br><br>Bonne journée,<br><br>Le système ACIND.ca";
$headers = "From: Systeme monsiteweb.ca <[email protected]>" . "\r\n";
$headers .= "Reply-To: $to" . "\r\n";
$headers .= 'X-Mailer: PHP/' . phpversion() . "\r\n";
$headers .= "Cc: $cc" . "\r\n";
$headers .= "Bcc: $bcc" . "\r\n";
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
mail($to, $subject, $message, $headers);

echo 'Un courriel vous a été envoyé!';
}
else {
echo 'Désolé, aucune adresse de courriel ne corespond à l\'adresse que vous avez inscrit!';

Re: Comment utiliser des variables venant de la base?

Posté : 08 mars 2010, 23:15
par ericbibi
Merci pour votre aide!

J'ai compris mon erreur de mes test pour l'adresse de courriel, mais je ne comprend pas pourquoi ca marche pas sur la ligne suivante?

$message = "Bonjour,<br><br>Vous avez demandé un rappelle de votre mot de passe!<br><br> Votre mot de passe est $data['password']<br><br>Bonne journée,<br><br>Le système ACIND.ca";

l'erreur du navigateur est le suivant:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/acindca/public_html/test/motpassoublie.php on line 13

La ligne 13 est la ligne du $message.

Merci de m'aider,

Re: Comment utiliser des variables venant de la base?

Posté : 08 mars 2010, 23:17
par Aureusms
Il faut que tu ressortes la variable de ta phrase :
$message = "Bonjour,<br><br>Vous avez demandé un rappelle de votre mot de passe!<br><br> Votre mot de passe est ".$data['password']."<br><br>Bonne journée,<br><br>Le système ACIND.ca";

Re: Comment utiliser des variables venant de la base?

Posté : 09 mars 2010, 00:03
par ericbibi
MERCI !

J'ai appris deux nouvelles choses!!!

Je ne savais pas comment faire une sortie d'une phrase.

Merci !!! :0)

Re: Comment utiliser des variables venant de la base?

Posté : 09 mars 2010, 00:07
par Aureusms
On appelle cela la concaténation. Elle se fait grâce au point "."
Tu pourrais aussi créer une phrase sur de multiples lignes ainsi, en mettant un . avant le = ce qui donnerait :
$message = "Bonjour,<br><br>Vous avez demandé un rappelle de votre mot de passe!<br><br> Votre mot de passe est ";
$message .=$data['password'];
$message .="<br><br>Bonne journée,<br><br>Le système ACIND.ca";
Cela revient à la même chose mais c'est plus simple à lire et à débugger.

Re: Comment utiliser des variables venant de la base?

Posté : 09 mars 2010, 00:12
par ericbibi
Je te remercie beaucoup c'est enregistré!
Je vais rendre mon code plus simple!