[PHP] Mettre des sécurités pour un formulaire php
J'aimerais rajouter des sécurités du genre : ne pas pouvoir s'inscrire si l'adresse mail est déjà utilisé ,ou du genre si les caractère ne sont pas valides...
J'ai essayé plusieurs code , mais à chaque fois ça cassé mon code :c
Le traitement en php :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
<?php
/* Afficher les erreurs à l'écran */
ini_set('display_errors', 1);
// connexion à la bdd
$bdd = new PDO('mysql:host=localhost;dbname=utilisateur','root','root');
if(isset($_POST['forminscription'])) {
if(isset($_POST['mail']) AND isset($_POST['pseudo']) AND isset($_POST['motdepasse'])){
if(!empty($_POST['mail']) AND !empty($_POST['pseudo']) AND !empty($_POST['motdepasse'])){
$mail = trim(htmlspecialchars($_POST['mail']));
$pseudo = trim(htmlspecialchars($_POST['pseudo']));
$mdp = trim(htmlspecialchars($_POST['motdepasse']));
$mdpcrypt = sha1($mdp);
$req =$bdd->prepare("INSERT INTO membres (pseudo, mail, motdepasse) VALUES (?,?,?)");
$req->execute(array($pseudo, $mail , $mdpcrypt));
if($req){
$message = ' Vous êtes désormais inscris !';
}
else{
$message = 'Echec de l inscription ';
}
}
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Home Sweet Home</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<br></br>
<p><?php echo $message; ?></p>
<a href="connexion.html">Se connecter</a><br />
<a href="index.html">Retour au formulaire d'inscription</a>
</body>
</html> |
Le formulaire html :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Inscription</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div id="conteneur">
<nav>
<ul id="menu">
<li><a href="index.html">Inscription</a></li>
<li><a href="connexion.html">Se connecter</a></li>
</ul>
</nav>
</div>
<center>
<form method="POST" action="traitement.php">
<h1>Inscription :</h1>
<br></br>
<b>
<fieldset id="formulaire">
<input type="text" name="pseudo" id="pseudo" placeholder="Pseudo" autofocus required /><br />
<input type="mail" name="mail" id="mail" placeholder="Adresse Mail" required /><br />
<input type="password" name="motdepasse" id="motdepasse" placeholder="Votre Mot de Passe" required /><br />
<input type="submit" name ="forminscription" value="S'inscrire" />
</fieldset>
</b>
</center>
<?php if(isset($error)) { echo $error;} ?>
</body>
</html> |