Script renvoie mot de passe perdu

Résolu/Fermé
labourette Messages postés 657 Date d'inscription dimanche 24 août 2008 Statut Membre Dernière intervention 24 juillet 2016 - 26 juin 2010 à 18:15
labourette Messages postés 657 Date d'inscription dimanche 24 août 2008 Statut Membre Dernière intervention 24 juillet 2016 - 1 juil. 2010 à 23:21
Bonjour,

J'ai toujours un problème avec mon formulaire d'envoie de mot de passe perdu.
Si vous pouvez m'aider il y a quelque chose qui m'échappe je ne sais pas quoi je suis désespéré.
Pouvez-vous m'aider, je pense que cela viens des variables mais en fait je suis pas sur, je débute en PHP.
Merci beaucoup

voici mes messages d'erreurs
Notice: Undefined index: email in.................

Warning: mail() [function.mail]: SMTP server response: 501 5.1.3 Bad recipient address syntax in....................

je vous envoi ma page complète

[code]
<?php

$email = (isset($_POST['email'])) ? $_POST['email'] : '';
$nom_form = (isset($_POST['nom'])) ? $_POST['nom'] : '';
$prenom_form = (isset($_POST['prenom'])) ? $_POST['prenom'] : '';

if($email!="" && $nom_form!="" && $prenom_form!="")
{
$resultat = $connexion->query("SELECT nom, prenom, login, password
FROM utilisateur
WHERE email='$email'
AND nom='$nom_form'
AND prenom='$prenom_form'");
while ($row = $resultat->fetch())
{
$nom = (stripslashes(htmlentities(trim($row['nom'], ENT_QUOTES))));
$prenom = (stripslashes(htmlentities(trim($row['prenom'], ENT_QUOTES))));
$email = (stripslashes(htmlentities(trim($row['email'], ENT_QUOTES))));
$password = (stripslashes(htmlentities(trim($row['password'], ENT_QUOTES))));
$login = (stripslashes(htmlentities(trim($row['login'], ENT_QUOTES))));

$mail=mail( "$nom $prenom <$email>", //on affiche la mail
"Rappel de tes identifiants",
"Bonjour," .$prenom. "\n
Tu as perdu ton mot de passe et ton Login...les voici...\n
Ton mot de passe est :\n
" .$password. "\n
Ton login est :\n
" .$login. "\n
A bientot !\n
Le webmaster\n

http://www.mon-adresse.fr/",
"From: monadresse.fr <monadresse@orange.fr>");
if($mail) //si le mail est bon.....sinon......sinon
echo"<span class='erreur'>Ton mot de passe et ton Login viens de t-être envoyé à l'adresse : $email <br/>Tu va les recevoir dans quelques minutes.</span>";
else
echo"<span class='erreur'>Le mot de passe ne peux t-être envoyé!<br>Renouvelle ta demande dans un instant.<br/></span>";
}
}
else
echo"<span class='erreur'>Ton adresse ne correspond pas avec ton nom et ton prénom!</span>";
?>

<script language="javascript">
function rollover(){
document.getElementById('valider');
}
</script>

<div id="container">
<span class="recevoir">Tu as perdu ton login et / ou ton mot de passe ?<br/></span>
<span class="recevoir">Entre ton Nom, Prénom et Adresse E-mail...<br/></span>
<span class="recevoir">Tes identifiants te seront alors envoyé à cette adresse ! <br/></span>
<span class="recevoir">Merci</span><br/><br/>
<div id="connexion "> <!-- bloc contenant le formulaire -->
<form name="connexionForm" id="connexionForm" action="index.php?body=perdu_identifiant" method="post" enctype="multipart/form-data">
<fieldset>
<legend>Se connecter</legend>

<p>
<label for="nom">Ton Nom : </label><br/>
<input type="text" name="nom" id="nom" value="" style="width:250px;"/><!-- champ pour le nom -->
</p>

<p>
<label for="prenom">Ton Prénom : </label><br/>
<input type="text" name="prenom" id="prenom" value="" style="width:250px;"/><!-- champ pour le prenom -->
</p>

<p>
<label for="email">Ton adresse Mail : </label><br/>
<input type="text" name="email" id="email" value="" style="width:250px;"/>
</p>

<a href="javascript:void(0)">
<input type="submit" id="valider" name="submit" class="submit" value="Envoyer" onmouseover="rollover();"/>
</a>
</fieldset>
</form>
</div>
</div>




16 réponses

avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
26 juin 2010 à 18:51
Salut.

L'erreur dit que l'adresse du récépteur a une syntaxe invalide.
Fais un var_dump (ou un simple echo) de la variable $email.
0
labourette Messages postés 657 Date d'inscription dimanche 24 août 2008 Statut Membre Dernière intervention 24 juillet 2016 6
26 juin 2010 à 20:56
Bonjour
J'ai fait un var_dump sur ma variable email et aucune valeur n'est retourrnée.
Peux tu m'en dire plus s'il te plait
Merci beaucoup
0
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
26 juin 2010 à 21:06
$resultat = $connexion->query("SELECT nom, prenom, login, password 
FROM utilisateur 
WHERE email='$email' 
AND nom='$nom_form' 
AND prenom='$prenom_form'");
Si tu ne sélectionnes pas le champ qui contient l'email, tu risques d'avoir du mal à la récupérer.
0
labourette Messages postés 657 Date d'inscription dimanche 24 août 2008 Statut Membre Dernière intervention 24 juillet 2016 6
26 juin 2010 à 22:25
Bonjour et merci le problème du mail est réglé mais il reste uniquement cette erreur maintenant, je pensais quelles étaient liées ...

Warning: mail() [function.mail]: SMTP server response: 501 5.1.3 Bad recipient address syntax in

Merci de ton aide tu es vraiment super car je vois que tu aide beaucoup d'internaute c'est génial.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
27 juin 2010 à 00:28
Que donne la var_dump de $email ?
0
labourette Messages postés 657 Date d'inscription dimanche 24 août 2008 Statut Membre Dernière intervention 24 juillet 2016 6
27 juin 2010 à 16:21
Bonjour

je sais pas si j'ai fait juste mais le var_dump de $email ne me retourne rien.
Merci de ton aide
0
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
27 juin 2010 à 16:37
Il devrait que même te dire quelque-chose, même si la variable n'existait pas.
<div style="border:solid 1px red; color:red;"><?php var_dump($email); ?></div>
Que contient le cadre rouge ?
0
labourette Messages postés 657 Date d'inscription dimanche 24 août 2008 Statut Membre Dernière intervention 24 juillet 2016 6
27 juin 2010 à 18:17
Bonjour voilà ce que contiens la variable
string(0) ""

Merci
0
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
27 juin 2010 à 19:51
Ça explique l'erreur qui s'affiche (bad recipient address syntax).
Es-tu sûr que le champ "email" existe sur ta table, et qu'il ne soit pas vide ?
0
labourette Messages postés 657 Date d'inscription dimanche 24 août 2008 Statut Membre Dernière intervention 24 juillet 2016 6
27 juin 2010 à 21:49
Bonjour

regarde de nouveau mon erreur il y en a un peu plus.........

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in......

Ca ne viendrai pas de mon fichier php.ini comme j'essai en local ?

oui le champ email existe bien........dans ma table
Merci
0
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
27 juin 2010 à 22:23
Si tu essayes en local il te faut un serveur SMTP.
Mais ta variable $email reste quand même vide, donc l'autre erreur réapparaîtra.
0
labourette Messages postés 657 Date d'inscription dimanche 24 août 2008 Statut Membre Dernière intervention 24 juillet 2016 6
27 juin 2010 à 22:31
pour un serveur j'ai sur mon PC class.phpmailer et class.smtp ça serai bon ceux là ?
Mais le problème si c'est oui je ne sais pas trop configurer tout ça ?

t'en connais tu des autres peut-être ?
Merci
0
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
27 juin 2010 à 22:38
Si c'est des classes en PHP, ce ne sont pas des serveurs.
0
labourette Messages postés 657 Date d'inscription dimanche 24 août 2008 Statut Membre Dernière intervention 24 juillet 2016 6
29 juin 2010 à 19:13
Bonjour,

je reviens vers toi pour te demander si tu penses vraiment un serveur local pourrais arranger mon problème ?

Si oui tu peux pas me donner un lien il y en a tellement je ne connais pas trop et j'ai peur de mettre en place un qui n'ai pas très bien.

Merci beaucoup de ton aide
0
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
29 juin 2010 à 20:08
Celui-ci devrait suffire :
http://www.softstack.com/freesmtp.html
0
labourette Messages postés 657 Date d'inscription dimanche 24 août 2008 Statut Membre Dernière intervention 24 juillet 2016 6
1 juil. 2010 à 23:21
Bonjour

En fait après des recherches j'ai finalement trouvé cela à éviter d'installer un serveur smtp.

j'ai enlevé les variables nom et prenom et aussi <> à la variable email.

$mail=mail($email ,

Merci beaucoup de votre aide.
0