l'espace membre problème inscription
- Accueil
- Forum
- Programmation
- PHP
- l'espace membre problème inscription
niluca Le 20 avril 2016 à 15:42 (Édité le 25 janvier 2019 à 17:50)
et quand je fait valider il dit bien " Votre compte a bien été enregistré ! " alors que j'ai rien dans ma base de donné .
Florian Le 20 avril 2016 à 18:06 (Édité le 1 janvier 1970 à 01:00)
niluca Le 21 avril 2016 à 08:58 (Édité le 1 janvier 1970 à 01:00)
et voici le code que j'ai marquer :
<?php
$bdd = new PDO('mysql:host=localhost;dbname=my_monuniver','monuniver', '');
if(isset($_POST['forminscription'])) {
$pseudo = htmlspecialchars($_POST['pseudo']);
$mail = htmlspecialchars($_POST['mail']);
$mail2 = htmlspecialchars($_POST['mail2']);
$mdp = sha1($_POST['mdp']);
$mdp2 = sha1($_POST['mdp2']);
if(!empty($_POST['pseudo']) AND !empty($_POST['mail']) AND !empty($_POST['mail2']) AND !empty($_POST['mdp']) AND !empty($_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) {
$insertmbr = $bdd->prepare("INSERT INTO membres(pseudo, mail, motdepasse) VALUES(?, ?, ?)");
$insertmbr->execute(array($pseudo, $mail, $mdp));
$erreur = "Votre compte a bien été créé ! <a href=\"connexion.php\">Me connecter</a>";
} else {
$erreur = "Vos mots de passes 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>
<title>inscription</title>
<meta charset="utf-8">
</head>
<body>
<div align="center">
<h2>Inscription</h2>
<br /><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 $pseudo; } ?>" />
</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 align="right">
<label for="mdp2">Confirmation du 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">
<br />
<input type="submit" name="forminscription" value="Je m'inscris" />
</td>
</tr>
</table>
</form>
<?php
if(isset($erreur)) {
echo '<font color="red">'.$erreur."</font>";
}
?>
</div>
</body>
</html>
Clouder Le 21 avril 2016 à 11:35 (Édité le 1 janvier 1970 à 01:00)
Corrige ça et dit moi si c'est ok. 😀
niluca Le 21 avril 2016 à 12:12 (Édité le 1 janvier 1970 à 01:00)
merci pour votre aide
Clouder Le 21 avril 2016 à 12:15 (Édité le 21 avril 2016 à 12:17)
Essaie de faire un "print_r" après ta requête pour voir ce qu'il devrait enregistrer.
tu fais un "print_r($insertmbr); exit;"
niluca Le 21 avril 2016 à 12:21 (Édité le 1 janvier 1970 à 01:00)
Clouder Le 21 avril 2016 à 12:23 (Édité le 1 janvier 1970 à 01:00)
niluca Le 21 avril 2016 à 12:25 (Édité le 1 janvier 1970 à 01:00)
Clouder Le 21 avril 2016 à 12:29 (Édité le 1 janvier 1970 à 01:00)
niluca Le 21 avril 2016 à 12:31 (Édité le 1 janvier 1970 à 01:00)
Dwardower Le 21 avril 2016 à 12:37 (Édité le 21 avril 2016 à 12:38)
if($pseudolength <= 255)
par ça :
if($pseudolength <= 255 AND $pseudolengh > 12)
12 est le nombre de caractères minimum à avoir Dwardower Le 21 avril 2016 à 13:25 (Édité le 1 janvier 1970 à 01:00)