email de pass perdu

Eléphant du PHP | 259 Messages

31 oct. 2005, 16:12

bonjour

pour les visiteurs qui ont perdu leur pass, j'ai fait un système automatique ou il entrent leur e-mail, et le mot de pass correspondant à l'e-mail est envoyé ...

mais j'ai un problème avec la fonction mail
<?php

// YOU CAN SET THESE ALL UP YOURSELF

DEFINE("Le webmaster de banniere-echange.fr.tc","banniere-echange.fr.tc");
DEFINE("RETURN_ADDRESS","[email protected]");

$contactemail="$mail";
$contactname="$pseudo";

$subject="Mot de passe perdu";
$messageNotHTML="Bonjour $pseudo,
vous aviez perdu votre mot de passe pour accéder à votre espace membre sur [email protected],
le voici:
votre mot de passe est :$pass
cordialement
le webmaster de banniere-echange.fr.tc";

// THE MAIN FUNCTIONALITY

$boundary = md5(time().rand(1,100));

$headers = "MIME-Version: 1.0 Content-Type: multipart/alternative; boundary=\\"{'$boundary'}"\\ X-Mailer: "PHPmailer"
From: \\"".NAME."\\" <".RETURN_ADDRESS.">
";

$message = "
--{$boundary}
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

$messageNotHTML

--{$boundary}--

";

$didmail = mail("\\"".$contactname."\\" <".$contactemail.">", $subject, $message, $headers);
?>
mais sa me met

Parse error: parse error, unexpected '{' in /var/www/sdc/0/8/yuu.sw/echange/membres/pass_perdu2.php on line 127

la ligne 127 est la suivante
$headers = "MIME-Version: 1.0 Content-Type: multipart/alternative; boundary=\\"{'$boundary'}"\\ X-Mailer: "PHPmailer"


je ne comprend pas du tout

j'ouvre un { et je le ferme, pourquoi il me met sa ???
l'hébergeur gratuit que j'utilisais: http://www.freeheberg.com (pas de limitte de débit, BP, 1à10Go, bdd mysql illimitées )
mainteant je suis chez OVH, payant mais plus adapté à de gros sites

Eléphant du PHP | 493 Messages

31 oct. 2005, 16:16

Probleme de quotes ' et ".

Eléphant du PHP | 259 Messages

31 oct. 2005, 16:29

problème entre ' et "

mais je vois pas comment je dois mettre le code
faut-il remplasser
$headers = "MIME-Version: 1.0 Content-Type: multipart/alternative; boundary=\\"{'$boundary'}"\\ X-Mailer: "PHPmailer"
par
$headers = "MIME-Version: 1.0 Content-Type: multipart/alternative; boundary=\\'{$boundary}'\\ X-Mailer: "PHPmailer"
l'hébergeur gratuit que j'utilisais: http://www.freeheberg.com (pas de limitte de débit, BP, 1à10Go, bdd mysql illimitées )
mainteant je suis chez OVH, payant mais plus adapté à de gros sites

Eléphant du PHP | 493 Messages

31 oct. 2005, 16:40

test et tu sauras...

Eléphant du PHP | 259 Messages

31 oct. 2005, 17:13

jy arrive toujours pas

quand tu dis probleme quote ' et "

sa veut dire quoi ???
l'hébergeur gratuit que j'utilisais: http://www.freeheberg.com (pas de limitte de débit, BP, 1à10Go, bdd mysql illimitées )
mainteant je suis chez OVH, payant mais plus adapté à de gros sites

Eléphant du PHP | 493 Messages

31 oct. 2005, 18:07

ça veut dire que tes ' et tes " posent problemes...

apparemment, le probleme vient de ton header. le meilleur moyen est de ne pas en mettre car ici il est inutile ...
mail( $email, $contenu );
suffit largement dans ton cas !

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

31 oct. 2005, 18:16

la correction:
$headers = "MIME-Version: 1.0 Content-Type: multipart/alternative; boundary=\"{$boundary}\"   X-Mailer: PHPmailer 
From: ".NAME." <".RETURN_ADDRESS."> ";
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphant du PHP | 493 Messages

31 oct. 2005, 18:23

Je me demande toujours pourquoi tu utilises un boundary et une version MIME ... Ici tu n'en a pas besoin.

Eléphant du PHP | 259 Messages

31 oct. 2005, 18:46

bon j'ai changé

voila le nouveau code
<?php
// On commence par récupérer les champs
if(isset($_POST['mail'])) $mail=$_POST['mail'];
else $mail="";

// On vérifie si les champs sont vides
if(empty($mail))
{
echo '<font color="red">remplissez le champ mail</font>';
include('http://yuu.sw.free.fr/echange/membres/pass_perdu.php');
exit;
}

// Aucun champ n'est vide, on peut enregistrer dans la table
else
{
// connexion à la base
$db = mysql_connect('sql.free.fr', 'xxx', 'xxx') or die('Erreur de connexion '.mysql_error());
// sélection de la base

mysql_select_db('yuu_sw',$db) or die('Erreur de selection '.mysql_error());

// on écrit la requête sql
$sql = 'select user_pseudo, user_pass from a_users where user_mail="$mail"';

// on insère les informations du formulaire dans la table
$req = mysql_query($sql);

// on affiche le résultat pour le visiteur
$data = mysql_fetch_assoc($req);

$pseud = $data['user_pseudo'];
$pas = $data['user_pass'];

mail( "$mail", "Mot de passe perdu", "Bonjour $pseud vous aviez perdu votre mot de passe pour l'accès de votre espace membre sur www.banniere-echange.fr.tc ce mot de passe est $pas");

mysql_close(); // on ferme la connexion
}
?>
aucune erreur sauf que dans l'email envoyé, on a juste
bonjour vous aviez perdu votre mot de passe pour l'acces de votre espace membre sur site ...

sauf que sa n'envoie pas les valeurs

pourquoi ???
l'hébergeur gratuit que j'utilisais: http://www.freeheberg.com (pas de limitte de débit, BP, 1à10Go, bdd mysql illimitées )
mainteant je suis chez OVH, payant mais plus adapté à de gros sites

Mammouth du PHP | 1311 Messages

31 oct. 2005, 18:48

le resultat renvoyer par te requete est nul :wink: