B onsoir, j'ai un problème avec les if et elseif...
voici mon problème:
J'ai crée un formulaire d'inscription simple en PDO tout ce passe bien...
le formulaire contient 4 champs (Pseudo, mot de passe, mot de passe(confirmation) et email).
donc quand je remplis le formulaire même si je met les deux champs corrects (mot de passe et mot de passe(confirmation)) il m'affiche
erreur : Le mot de passe ne correspond pas!.
voici le code php de la page :
<?php
require 'pdo.php';
$username = $_POST'username'];
$password = $_POST'password'];
$password_confirm = $_POST'pass_confirm'];
$email = $_POST'mail'];
$email_check = preg_match("/^[a-z0-9_\.-]+@([a-z0-9]+(\-]+[a-z0-9]+)*\.)+[a-z]{2,7}$/i", $email);
$query = $db->query("SELECT userid FROM members WHERE username = '".$username."'");
$tmp = $query->rowCount();
if(isset($_POST'register']) || !empty($username) || !empty($password) || !empty($password_confirm) || !empty($email)) {
if($tmp > 0) {
$error'username'] = "Cet pseudo existe déjà!";
}
elseif(strlen($username) < 2) {
$error'username'] = "Votre pseudo doit contenir plus de 2 caractères";
}
elseif(empty($username)) {
$error'username'] = "Merci d'entrer un pseudo.";
}
elseif(strlen($username) > 24) {
$error'username'] = "Votre pseudo doit contenir moins de 24 caractères.";
}
if($password != $password_confirm) {
$error'password'] = "Le mot de passe ne correspond pas!";
}
elseif(strlen($password) < 2) {
$error'password'] = "Ton mot de passe doit contenir plus de 2 caractères";
}
elseif(empty($password)) {
$error'password'] = "Merci de choisir un mot de passe";
}
elseif(strlen($email) < 6) {
$error'mail'] = "Ton email doit contenir plus de 6 caractères.";
}
elseif($email_check !== 1) {
$error'mail'] = "Merci d'entrer un email valide.";
}
else {
session_start();
$_SESSION'username'] = $username;
$_SESSION'password'] = $password;
//$query = $db->$query("INSERT INTO....");
header("location: moncompte.php");
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>TheRox: Inscription</title>
</head>
<body>
<?php if(isset($error'username'])) { echo $error'username']; } ?>
<?php if(isset($error'password'])) { echo $error'password']; } ?>
<?php if(isset($error'mail'])) { echo $error'mail']; } ?>
<form action="index.php" method="POST" />
<p>Pseudo: <input type="text" name="username" placeholder="Pseudo" /></p>
<p>Mot de passe: <input type="password" name="password" placeholder=" *****" /></p>
<p>Confirmer MDP: <input type="password" name="password_confirm" placeholder=" *****" /></p>
<p>Email: <input type="text" name="mail" placeholder="exemple@exemple.fr" /></p>
<p><input type="submit" name="register" value="Créer mon compte" /></p>
</form>
</body>
</html>