Register page / Problème If.Else echo
Posté : 30 juin 2014, 12:59
Bonjour.
Alors voilà, je viens chercher un peu d'aide par ici car j'ai un problème des plus embêtant...
Ci-dessous, ma condition $email me renvoi toujours l'echo Invalid Email.
Si je provoque une erreur à la condition du $submit, celà renvoi bien "Information missing", de même que pour $pseudo renvoi bien "Invalid ID", mais quand je provoque un erreur avec $password, ça ne le compte pas et affiche l'erreur de $mail, soit "Invalid Email" (et biensûr idem pour l'email). Ce problème est également valable quand je rempli le formulaire sans erreurs... (echo "Invalid Email" et aucun traitement de données ni de redirection)
Donc là je suis un peu pomé, je ne saurait même pas dire si cela vient de $password ou $email, ou les 2 ! o.o
htmlspecialchars et sha1 sont-ils incompatibles ?
Question au hasard : Lorsque <!DOCTYPE html> est présent dans le code, cela modifie un peu la taille et les définitions CSS de mes <input>. Est-ce normal, doit-je le laisser ?
Merci pour votre aide.
Alors voilà, je viens chercher un peu d'aide par ici car j'ai un problème des plus embêtant...
Si je provoque une erreur à la condition du $submit, celà renvoi bien "Information missing", de même que pour $pseudo renvoi bien "Invalid ID", mais quand je provoque un erreur avec $password, ça ne le compte pas et affiche l'erreur de $mail, soit "Invalid Email" (et biensûr idem pour l'email). Ce problème est également valable quand je rempli le formulaire sans erreurs... (echo "Invalid Email" et aucun traitement de données ni de redirection)
Donc là je suis un peu pomé, je ne saurait même pas dire si cela vient de $password ou $email, ou les 2 ! o.o
htmlspecialchars et sha1 sont-ils incompatibles ?
Question au hasard : Lorsque <!DOCTYPE html> est présent dans le code, cela modifie un peu la taille et les définitions CSS de mes <input>. Est-ce normal, doit-je le laisser ?
Merci pour votre aide.
<?php
if(isset($_POST['submit'])){
if(!empty($_POST['pseudo']) && !empty($_POST['password']) && !empty($_POST['email'])){
$pseudo = htmlspecialchars(stripslashes($_POST['pseudo']));
if(strlen($pseudo) >= 4 && strlen($pseudo) <= 15){
$password = htmlspecialchars(sha1($_POST['password']));
if(strlen($password) >= 6){
$email = htmlspecialchars(stripslashes($_POST['email']));
if(preg_match('#^[\w._-]{2,}+@[\w._-]{2,}+\.[a-z]{2,6}$#i', $email)){
try{
$bdd = new PDO('mysql:host=localhost;dbname=member', 'root', '');
}
catch(Exception $e){
die('Error: '.$e->getMessage());
}
$req = $bdd->prepare('INSERT INTO members(pseudo, password, email) VALUES(:pseudo, :password, :email)');
$req->execute(array(
'pseudo' => $pseudo,
'password' => $password,
'email' => $email
));
header('Location: register.html');
}else{
echo '<p class="error"><b>Error:</b> Invalid Email</p>';
}
}else{
echo '<p class="error"><b>Error:</b> Invalid password (Min: 4)</p>';
}
}else{
echo '<p class="error"><b>Error:</b> Invalid ID (Min: 4, Max: 15)</p>';
}
}else{
echo '<p class="error"><b>Error:</b> Informations missing</p>';
}
}
?>
Suivi à la ligne du script HTML.<html>
<head>
<title>Test</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0">
<link rel="stylesheet" href="register.css">
</head>
<body>
<div id="main">
<div id="regdiv">
<form id="register" action="register.php" method="post">
<input class="input" type="text" name="pseudo" placeholder="Character name" style="position: absolute; top: 25px"/>
<input class="input" type="password" name="password" placeholder="Password" style="position: absolute; top: 62px"/>
<input class="input" type="email" name="email" placeholder="E-mail" style="position: absolute; top: 99px"/>
<input id="reg" type="submit" name="submit" value="Register"/>
<a href="register.html">Skip now...</a>
</form>
</div>
</div>
<script src="jquery-2.1.0.js"></script>
<script src="jquery-ui-1.10.4.custom.js"></script>
<script src="index.js"></script>
</body>
</html>