Bonsoir je suis en train de m’entraîner sur PHP, j'ai créé une function pour vérifier les champs d'un formulaire d'inscription, et j'aimerais avoir d'abord votre avis sur mon code ainsi que des suggestions pour améliorer le code.
Page inscription :
<?php
include "function/inscription.class.php";
var_dump($_POST);
if(isset($_POST'username']) && isset($_POST'password']) && isset($_POST'passwordconfirm']) && isset($_POST'email'])){
$inscription = new inscription($_POST'username'],$_POST'password'],$_POST'passwordconfirm'], $_POST'email'], $_POST'emailconfirm']);
$verif = $inscription->verif();
if($verif == "ok"){
echo 'ok';
}else{
$errors = $verif;
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="css/style.css">
<style type="text/css">
body{margin: 0px;padding: 0px;background:;}
label{float: left;display: block;width: 200px;}
</style>
</head>
<body>
<div class="wrap">
<h2>Inscription</h2>
<div class="form-groupe">
<div class="error">
<?php
if(isset($errors)){
echo "$errors <br />";
}
?>
</div><br />
<form method="post" action="index.php">
<div class="input">
<label for="username">Votre nom d'utilisateur :</label>
<input type="text" name="username" id="username" placeholder="Votre nom d'utilisateur">
</div>
<div class="input">
<label for="password">Votre mot de passe :</label>
<input type="password" name="password" id="password" placeholder="Votre mot de passe">
</div>
<div class="input">
<label for="passwordconfirm">Confirmer le mot de passe :</label>
<input type="password" name="passwordconfirm" id="passwordconfirm" placeholder="Confirmer le mot de passe">
</div>
<div class="input">
<label for="email">Votre adresse email :</label>
<input type="text" name="email" id="email" placeholder="Votre adresse email">
</div>
<div class="input">
<label for="emailconfirm">Confirmer l'email :</label>
<input type="text" name="emailconfirm" id="emailconfirm" placeholder="Confirmer votre email">
</div>
<div class="input">
<input type="submit" value="s'inscrire">
</div>
</form>
</div>
</div>
</body>
</html>
inscription.class.php :
<?php
class inscription{
private $username;
private $password;
private $passwordconfirm;
private $email;
private $emailconfirm;
public function __construct($username, $password, $passwordconfirm, $email, $emailconfirm){
$this->username = $username;
$this->password = $password;
$this->passwordconfirm = $passwordconfirm;
$this->email = $email;
$this->emailconfirm = $emailconfirm;
}
public function verif(){
if(!empty($this->username)){
if(strlen($this->username)> 5 AND strlen($this->username)<20){
if(!empty($this->password)){
if(strlen($this->password)> 8 AND strlen($this->password)< 20){
if($this->password == $this->passwordconfirm){
if(!empty($this->email)){
$regex = '/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/';
if(preg_match($regex, $this->email)){
if($this->email == $this->emailconfirm){
return 'ok';
}else{
$errors = "Les deux adresses email ne corresponde pas";
return $errors;
}
}else{
$errors = "La syntaxe de l'adresse email est incorrect";
return $errors;
}
}else{
$errors = "Veuillez choisir une adresse email";
return $errors;
}
}else{
$errors = "Les deux mots de passe ne corresponde pas";
return $errors;
}
}else{
$errors = "Le mot de passe dois contenir entre 8 et 20 caractéres";
return $errors;
}
}else{
$errors = "Veuillez choisir un mot de passe";
return $errors;
}
}else{
$errors = "Le nom d'utiliasateur dois contenir entre 5 et 20 caractéres";
return $errors;
}
}else{
$errors = "Veuillez choisir un nom d'utiliasateur";
return $errors;
}
}
}
Voilà merci de vos futures réponses.