confirmation de compte
- Accueil
- Forum
- Programmation
- PHP
- confirmation de compte
evengelis Le 6 janvier 2018 à 12:42 (Édité le 25 janvier 2019 à 17:54)
Je suis nouvelle, mais avant de faire ce topic j'ai consulté toutes les pages du forum, et je n'ai pas trouvé la solution.
J'ai suivi la vidéo de Primfx pour l'envoi de mail, tout fonctionne sauf que le lien dans ma confirmation d'inscription par mail ne s'ouvre pas.
Pouvez-vous m'aider ?
Profil introuvable Le 6 janvier 2018 à 15:37 (Édité le 1 janvier 1970 à 01:00)
"Poste ton code pour la communauté et la communauté t'aidera !" 😉 Ton état d'avancement permettra à la communauté de savoir ou tu en est exactement et ou sont les erreurs.
Balatharas Le 6 janvier 2018 à 18:55 (Édité le 1 janvier 1970 à 01:00)
Mon lien s'ouvre pas vous pouvez m'aider ?
Comment ?
evengelis Le 6 janvier 2018 à 18:56 (Édité le 1 janvier 1970 à 01:00)
alors voilà je post mon fichier inscription.php.
Et merci d'avance de m'aider.
<?php$bdd = new PDO('mysql:host=localhost;dbname=espace_membre', 'root', 'root');if(isset($_POST['forminscription'])){ if(!empty($_POST['pseudo']) AND !empty($_POST['mail']) AND !empty($_POST['mail2']) AND !empty($_POST['mdp']) AND !empty($_POST['mdp2'])) { $pseudo = htmlspecialchars($_POST['pseudo']); $mail = htmlspecialchars($_POST['mail']); $mail2 = htmlspecialchars($_POST['mail2']); $mdp = sha1($_POST['mdp']); $mdp2 = sha1($_POST['mdp2']); $pseudolength = strlen($pseudo); if($pseudolength <= 255) { if($mail == $mail2) { if(filter_var($mail, FILTER_VALIDATE_EMAIL)) { $reqmail =$bdd->prepare("SELECT * FROM membres WHERE mail = ?"); $reqmail->execute(array($mail)); $mailexist = $reqmail->rowCount(); if($mailexist == 0) { if($mdp == $mdp2) { $longueurKey = 15; $key =""; for($i=1;$i<$longueurKey;$i++){ $key .= mt_rand(0,9); } $insertmbr = $bdd->prepare("INSERT INTO membres(pseudo, mail, motdepasse, avatar, confirmkey) VALUES(?, ?, ?, ?, ?)"); $insertmbr ->execute(array($pseudo, $mail, $mdp, "default.jpg", $key)); $header="MIME-Version: 1.0\r\n"; $header.='From:"TaxiServices.com"<decrocqchantal@gmail.com>'."\n"; $header.='Content-Type:text/html; charset="uft-8"'."\n"; $header.='Content-Transfer-Encoding: 8bit'; $message=' <html> <body> <div align="center"> <a href="localhost:8888/TaxiServices/confirmation.php?pseudo='.urlencode($pseudo).'&key='.$key.'"> Confirmez votre compte !</a> </div> </body> </html> '; mail($mail, "Confirmation de compte", $message, $header); $erreur = "Votre compte a bien été créer ! <a href=\"connexion.php\">Me connecter</a>"; } else { $erreur = "Vos mots de passe ne correspondent pas !"; } } else { $erreur = "Adresse mail déjà utilisée !"; } } else { $erreur = "Votre adresse mail n'est pas valide"; } } else { $erreur = "Vos adresses mail ne correspondent pas !"; } } else { $erreur = "Votre pseudo ne doit pas dépasser 255 caractères !"; } } else { $erreur = "Tous les champs doivent être complétés !"; } } ?><html><head> <link rel="stylesheet" type="text/css" href="css/style.css"> <link rel="shortcut icon" href="images/favicon.png" type="image/x-icon" /> <title> TaxiServices</title> <meta charset ="utf-8"></head><body> <section id="titre"> <p><img src="images/favicon.png"><h3>Bienvenue chez TaxiServices</h3></p> </section> <section id="inscription"> <p><h3>Veuillez complèter les informations ci-dessous !</h3></p> <div align="center"> <h2>Inscription</h2> <br/> <form method="POST" action=" "> <table> <tr> <td align="right"> <label for="pseudo">Pseudo :</label> </td> <td> <input type="text" placeholder="Votre pseudo" id ="pseudo" name="pseudo" value="<?php if(isset($pseudo)) { echo $pseuso; } ?>" /></td></tr> <tr> <td align="right"> <label for="mail">Mail :</label> </td> <td> <input type="email" placeholder="Votre mail" id ="mail" name="mail" value="<?php if(isset($mail)) { echo $mail; } ?>"/> </td></tr> <tr> <td align="right"> <label for="mail2">Confirmation du mail:</label></td> <td> <input type="email" placeholder="Confirmez votre mail" id ="mail2" name="mail2" value="<?php if(isset($mail2)) { echo $mail2; } ?>"/></td></tr> <tr> <td align="right"> <label for="mdp">Mot de passe:</label></td> <td> <input type="password" placeholder="Votre mot de passe" id ="mdp" name="mdp" /></td></tr><tr><td> <label for="mdp2">Confirmation de votre mot de passe :</label></td><td> <input type="password" placeholder="Confirmez votre mdp" id ="mdp2" name="mdp2" /></td></tr><tr> <td></td> <td align="center"> <input type="submit" name="forminscription" value="Je m'inscris" /> </td> </tr></table></form> <?php if(isset($erreur)) { echo '<font color="red">' .$erreur."</font>"; } ?> </div></section></body></html>
evengelis Le 6 janvier 2018 à 18:58 (Édité le 1 janvier 1970 à 01:00)
evengelis Le 6 janvier 2018 à 18:59 (Édité le 1 janvier 1970 à 01:00)
evengelis Le 6 janvier 2018 à 19:13 (Édité le 1 janvier 1970 à 01:00)
Profil introuvable Le 6 janvier 2018 à 19:21 (Édité le 6 janvier 2018 à 19:21)
@evengelis, clique sur la balise [CODE] et à l'intérieur colle-le code. Un éditeur de texte comme Notepad++ te permet de bien copier le code.
evengelis Le 6 janvier 2018 à 19:43 (Édité le 1 janvier 1970 à 01:00)
Profil introuvable Le 6 janvier 2018 à 20:44 (Édité le 1 janvier 1970 à 01:00)
Arthel Le 6 janvier 2018 à 22:41 (Édité le 1 janvier 1970 à 01:00)
Je me suis permit, de prendre ton code et de le remettre en ordre (visuellement pour voir s'il y avait une erreur).
J'ai trouver au moment ou tu enregistre le compte dans la base de donné il y a une ligne ou je pense qu'il manque quelque chose.
La voici:
mail($mail, "Confirmation de compte", $message, $header);
Je met le code ici:
<?php
$bdd = new PDO('mysql:host=localhost;dbname=espace_membre', 'root', 'root');
if(isset($_POST['forminscription'])){
if(!empty($_POST['pseudo']) AND !empty($_POST['mail']) AND !empty($_POST['mail2']) AND !empty($_POST['mdp']) AND !empty($_POST['mdp2'])) {
$pseudo = htmlspecialchars($_POST['pseudo']);
$mail = htmlspecialchars($_POST['mail']);
$mail2 = htmlspecialchars($_POST['mail2']);
$mdp = sha1($_POST['mdp']);
$mdp2 = sha1($_POST['mdp2']);
$pseudolength = strlen($pseudo);
if($pseudolength <= 255){
if($mail == $mail2){
if(filter_var($mail, FILTER_VALIDATE_EMAIL)){
$reqmail =$bdd->prepare("SELECT * FROM membres WHERE mail = ?");
$reqmail->execute(array($mail));
$mailexist = $reqmail->rowCount();
if($mailexist == 0){
if($mdp == $mdp2){
$longueurKey = 15;
$key ="";
for($i=1;$i<$longueurKey;$i++){
$key .= mt_rand(0,9);
}
$insertmbr = $bdd->prepare("INSERT INTO membres(pseudo, mail, motdepasse, avatar, confirmkey) VALUES(?, ?, ?, ?, ?)");
$insertmbr ->execute(array($pseudo, $mail, $mdp, "default.jpg", $key));
$header="MIME-Version: 1.0\r\n";
$header.='From:"TaxiServices.com"<decrocqchantal@gmail.com>'."\n";
$header.='Content-Type:text/html; charset="uft-8"'."\n";
$header.='Content-Transfer-Encoding: 8bit';
$message='<html><body><div align="center"><a href="localhost:8888/TaxiServices/confirmation.php?pseudo='.urlencode($pseudo).'&key='.$key.'">Confirmez votre compte !</a></div></body></html>';
mail($mail, "Confirmation de compte", $message, $header);
$erreur = "Votre compte a bien été créer ! <a href=\"connexion.php\">Me connecter</a>";
}else{
$erreur = "Vos mots de passe ne correspondent pas !";
}
}else{
$erreur = "Adresse mail déjà utilisée !";
}
}else{
$erreur = "Votre adresse mail n'est pas valide";
}
}else{
$erreur = "Vos adresses mail ne correspondent pas !";
}
}else{
$erreur = "Votre pseudo ne doit pas dépasser 255 caractères !";
}
}else{
$erreur = "Tous les champs doivent être complétés !";
}
}
?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="css/style.css">
<link rel="shortcut icon" href="images/favicon.png" type="image/x-icon" />
<title> TaxiServices</title>
<meta charset ="utf-8">
</head>
<body>
<section id="titre">
<p><img src="images/favicon.png"><h3>Bienvenue chez TaxiServices</h3></p>
</section>
<section id="inscription">
<p><h3>Veuillez complèter les informations ci-dessous !</h3></p>
<div align="center">
<h2>Inscription</h2><br/>
<form method="POST" action=" ">
<table>
<tr>
<td align="right">
<label for="pseudo">Pseudo :</label>
</td>
<td>
<input type="text" placeholder="Votre pseudo" id ="pseudo" name="pseudo" value="<?php if(isset($pseudo)) { echo $pseuso; } ?>" />
</td>
</tr>
<tr>
<td align="right">
<label for="mail">Mail :</label>
</td>
<td>
<input type="email" placeholder="Votre mail" id ="mail" name="mail" value="<?php if(isset($mail)) { echo $mail; } ?>"/>
</td>
</tr>
<tr>
<td align="right">
<label for="mail2">Confirmation du mail:</label>
</td>
<td>
<input type="email" placeholder="Confirmez votre mail" id ="mail2" name="mail2" value="<?php if(isset($mail2)) { echo $mail2; } ?>"/>
</td>
</tr>
<tr>
<td align="right">
<label for="mdp">Mot de passe:</label>
</td>
<td>
<input type="password" placeholder="Votre mot de passe" id ="mdp" name="mdp" />
</td>
</tr>
<tr>
<td>
<label for="mdp2">Confirmation de votre mot de passe :</label>
</td>
<td>
<input type="password" placeholder="Confirmez votre mdp" id ="mdp2" name="mdp2" />
</td>
</tr>
<tr>
<td></td>
<td align="center">
<input type="submit" name="forminscription" value="Je m'inscris" />
</td>
</tr>
</table>
</form>
<?php
if(isset($erreur)){
echo '<font color="red">' .$erreur."</font>";
}
?>
</div>
</section>
</body>
</html>
Ou sur CodePen:
https://codepen.io/F1redev/pen/ZvaxmY
Bonne soirée a tous.
Cordialement F1redev
evengelis Le 7 janvier 2018 à 16:27 (Édité le 1 janvier 1970 à 01:00)
Je ne comprends pas !
Si quelqu'un peut m'aider merci d'avance.
Arthel Le 7 janvier 2018 à 16:31 (Édité le 1 janvier 1970 à 01:00)
evengelis Le 8 janvier 2018 à 16:30 (Édité le 1 janvier 1970 à 01:00)
personne n'a une réponse pour moi ^-^