Formulaire de connexion

Résolu
labourette Messages postés 657 Date d'inscription   Statut Membre Dernière intervention   -  
labourette Messages postés 657 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un formulaire de connexion pour les membres, login et mot de passe qui fonctionne.
En cliquant sur mot de passe perdu je souhaite que les membres inscrivent dans un formulaire leur nom et prénom et adresse mail.

Ils doivent recevoir automatiquement leurs login et mot de passe si ils existent dans la base de donnée.

je vous montre mon formulaire et le code PHP, pour l'instant même pas le formulaire qui s'affiche.
Pouvez vous me donner un coup de main s'il vous plait, je m'arrache les cheveux.
Merci beaucoup de votre gentillesse

[code]
<?php
if(!empty($_POST['email'])) {
$email = $_POST['email'];
}else{
exit("mail vide.");
}
$sql = "SELECT nom, prenom, email FROM utilisateur WHERE email = '".$email."' ";
$req = mysql_query($sql) or die ('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

if(mysql_num_rows($req) != 1) {//si le nombre de lignes retourne par la requete != 1
exit("mail inconnu.");
}else
{
$row1 = mysql_fetch_assoc($req);
$retour = mysql_query("SELECT login, password FROM utilisateur WHERE email = '".$email."' ");
$row2 = mysql_fetch_assoc($retour);

$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$objet = 'Récupération de votre mot de passe et de votre login';

if(!mail($row1['login'], $objet, $row2['password'], $headers))
echo 'probleme lors de l\'envoi du mail';
else
echo 'mail envoye';
}
?>
/code

[code]
<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 ton 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="#" method="post" enctype="multipart/form-data"><!-- début du formulaire de connexion -->
<fieldset>
<legend>Recevoir tes identifiants</legend><!-- titre du formulaire -->

<p>
<span id="erreur"></span><!-- span qui contiendra les éventuels messages d'erreur -->
</p>

<p>
<label for="nom">Ton Nom : </label>
<input type="text" name="nom" id="nom"/><!-- champ pour le nom -->
</p>

<p>
<label for="prenom">Ton Prénom : </label>
<input type="text" name="prenom" id="prenom"/><!-- champ pour le prenom -->
</p>

<p>
<label for="mail">Ton adresse Mail : </label>
<input type="text" name="mail" id="mail"/><!-- champ pour le mail -->
</p>

<p class="center">
<input type="submit" name="submit" value="Je me connecte" class="bouton"/><!-- bouton de connexion -->
</p>

</fieldset>
</form><!-- fin du formulaire -->
</div><!-- fin du bloc contenant le formulaire -->

6 réponses

arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
if(!mail($row1['login'], $objet, $row2['password'], $headers)) 

C'est l'adresse mail qu'il faut mettre ici pas son login.
Sinon explique nous plus précisement le problème.
Tu n'expliques pas grand chose là en fait.
Que t'arrive t-il ? Un message d'erreur ?
1
labourette Messages postés 657 Date d'inscription   Statut Membre Dernière intervention   6
 
Bonjour,

Merci de votre réponse, en fait c'est pour renvoyer les identifiants d'un membre de notre association qui pourrai avoir perdu son login et son mot de passe.

Plus haut il y a toute la page que j'ai déjà fait et ça ne fonctionne pas et ça ne me met pas de message d'erreur.

Merci vraiment de votre aide
0
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
As tu vérifié l'extrait de code que j'avais mis dans mon précédent message ?

if(!mail($row1['login'], $objet, $row2['password'], $headers)) 

Que contient la colonne login de ta base de donnée ?
L'adresse mail ? ou simplement son pseudo ?
Si c'est le pseudo, ça ne peux pas marcher. Dans ce cas, change la variable en mettant à la place celle correspondant à son adresse mail.
0
labourette Messages postés 657 Date d'inscription   Statut Membre Dernière intervention   6
 
Bonjour et encore merci d'essayer de m'aider.

En fait cela ne fonctionne toujours pas.
Pour essayer d'être encore plus précis sur mon soucis.

Les membres de notre association se logue avec un login et un mot de passe

je souhaite pouvoir leurs renvoyer leurs login et leur mot de passe si bien sur ils l'on perdu.

il rentre dans un formulaire leur NON et PRENOM et ADRESSE MAIL
Hé hop ils recoivent leurs LOGIN et MOT DE PASSE

Merci beaucoup de votre aide
0
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
Peut-être que tu n'as pas bien compris l'utilisation de la fonction mail ou que je n'ai pas été bien clair dans mes précédente réponses.
La fonction mail s'utilise ainsi:
<?php
     mail('email_destinataire', 'sujet', 'message');
?>

https://www.vulgarisation-informatique.com/mail.php

Autrement dit, ce que tu mets ne peux pas fonctionner car tu met le login au lieu de l'adresse mail de la personne a qui tu souhaites envoyer le mail.
Pour pouvoir leurs envoyer un mail, il faut que le script utilise une adresse mail pour le leurs envoyer. Cette adresse mail est donc très certainement (j'espère) enregistré dans ta base de donnée...
0
labourette Messages postés 657 Date d'inscription   Statut Membre Dernière intervention   6
 
Bonjour et merci de votre aide

Malheureusement ça ne fonctionne toujours pas et me met maintenant des messages d'erreurs mais je connait très peu le PHP.
J'ai remodifié mon code.
C'est pour envoyer le login et le password aux membres qui l'auront perdu.
J'essaie quand même de m'en sortir j'ai déjà fait pour mon site pas mal de petite chose, mais là je planche sur ce formulaire d'envoie de mail.
Bien sur j'ai une BDD.
Je vous envoie de nouveau ma page
Merci encore de votre disponibilité et surtout de votre aide.

[code]

<div align="center">

<?php
if(empty($_POST['email'])) //On verifie que l'utilisateur à bien rentré une e-mail
{
$reponse = 'Vous n\'avez pas saisi d\'e-mail.';
}
else
{

$email = htmlentities($_POST['email']); //On recupère la variable et on déactive les balises html s'il y en avait encore


$sql = mysql_query("SELECT COUNT(*) FROM utilisateur WHERE email='$email'") or die (mysql_error());
$donnees = mysql_fetch_array($sql)or die (mysql_error());

if($donnees['COUNT(*)'] != 1) //On cherche si l'e-mail existe
{
$reponse = 'Cette adresse e-mail n\'est pas présente sur notre site, veuillez vous inscrire svp.';
}
else
{

$sql = mysql_query("SELECT nom, prenom, FROM utilisateur WHERE email='$email'"); //On recupère les infos du membre si son e-mail est bonne
$donnees = mysql_fetch_array($sql);
$login = $donnees['login'];
$password = $donnees['password'];


$message = '<html><body>Bonjour,<br><br>'; //On fait le mail
$message .= 'Comme vous l\'avez demandé,<br>';
$message .= 'voici un rappel de vos identifiants, notez les précieusement :<br>';
$message .= 'Votre Pseudo : ' . $login .'<br>';
$message .= 'Votre Code Secret : ' . $pass .'<br><br>';
$message .= 'A très bientôt sur le site! <br>';
$subject .= 'Rappel de vos identifiants';

$entete .= "From: <mon_adresse_mail>\r\n";
$entete .= "Reply-To: mon_adresse_mail\r\n";

email($email,$subject,$message,$entete); //On envoye le message

$reponse = 'Votre adresse a bien été reconnue.<br>';
$reponse .= 'Votre Pseudo et votre Code vous ont été envoyés par e-mail.<br>';
$reponse .= 'Vous devriez les recevoir dans votre boîte email dans quelques minutes.';
}

mysql_close(); //Deconnection...

}
?>

</div>

<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 ton 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="" method="post" enctype="multipart/form-data"><!-- début du formulaire de connexion -->
<fieldset>
<legend>Recevoir tes identifiants</legend><!-- titre du formulaire -->

<p>
<span id="erreur"></span><!-- span qui contiendra les éventuels messages d'erreur -->
</p>

<p>
<label for="nom">Ton Nom : </label>
<input type="text" name="nom" id="nom"/><!-- champ pour le nom -->
</p>

<p>
<label for="prenom">Ton Prénom : </label>
<input type="text" name="prenom" id="prenom"/><!-- champ pour le prenom -->
</p>

<p>
<label for="email">Ton adresse Mail : </label>
<input type="text" name="email" id="email"/><!-- champ pour le mail -->
</p>

<p class="center">
<input type="submit" name="submit" value="Je me connecte" class="bouton"/><!-- bouton de connexion -->
</p>

</fieldset>
</form><!-- fin du formulaire -->
</div><!-- fin du bloc contenant le formulaire -->


</div>
/code
0

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

Posez votre question
labourette Messages postés 657 Date d'inscription   Statut Membre Dernière intervention   6
 
Bonjour

Je peux vous renvoyer mon code un peu modifier pour envoyer un login et mot de passe perdu.
Avec ce code là le mail est reçu par le destinataire mais il ne reçois pas ses codes juste le mail.
Pouvez-vous me dire ce que vous en pensez.
En vous remerciant beaucoup.

[code]
<?php
if(empty($_POST['email'])) //On verifie que l'utilisateur à bien rentré une e-mail
{
$reponse = 'Vous n\'avez pas saisi d\'e-mail.';
}
else
{
$email = htmlentities($_POST['email']); //On recupère la variable et on déactive les balises html s'il y en avait encore

$sql = mysql_query("SELECT COUNT(*) FROM utilisateur WHERE email='$email'") or die (mysql_error());
$donnees = mysql_fetch_array($sql)or die (mysql_error());

if($donnees['COUNT(*)'] != 1) //On cherche si l'e-mail existe
{
$reponse = 'Cette adresse e-mail n\'est pas présente sur notre site, veuillez vous inscrire svp.';
}
else
{
$sql = "SELECT nom, prenom FROM utilisateur WHERE email='".$email."'"; //On recupère les infos du membre si son e-mail est bonne
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_array($req);

$login = htmlentities($_POST['login'], ENT_QUOTES);
$password = htmlentities($_POST['password'], ENT_QUOTES);

//On fait le mail
$message = "Bonjour,\r\n\r\n";
$message .= "Comme tu l\'a demandé,\r\n\r\n";
$message .= "Voici un rappel de tes identifiants, note les précieusement :\r\n\r\n";
$message .= "Ton Login : " . $login . "\r\n\r\n";
$message .= "Ton mot de passe : ". $password ."\r\n\r\n";
$message .= "A très bientôt! \r\n\r\n";
$message .= "Gilbert ";

$subject .= "Rappel de vos identifiants";

$entete .= "From: <cliquedecruet@orange.fr>\r\n";
$entete .= "Reply-To: cliquedecruet@orange.fr\r\n";

mail($email,$subject,$message,$entete); //On envoye le message

$reponse = "Ton adresse a bien été reconnue.\r\n\r\n";
$reponse .= "Ton Login et ton Mot de passe te sera envoyé par e-mail.\r\n\r\n";
$reponse .= "Tu devrais les recevoir dans ta boîte email dans quelques minutes.";
}

mysql_close(); //Deconnection...

}
?>

/code
0
labourette Messages postés 657 Date d'inscription   Statut Membre Dernière intervention   6
 
Bonjour,

N'y a t-il personne pour m'aider à propos de mon envoi de formulaire à un membre qui à perdu ses identifiants.
Merci beaucoup
0