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 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230
| <?php require_once("include/connect_bdd.inc.php");//connect_bdd.inc.php
if ($_POST)// si le formulaire a été validé alors il faudrait qu'on teste tout les champs
{
if (isset ($_POST['pseudo']) && isset ($_POST['mdp']) && isset ($_POST['nom']) && isset ($_POST['prenom'])
&& isset ($_POST['email']) && isset ($_POST['sexe']) && isset ($_POST['ville']) && isset ($_POST['cp']) && isset ($_POST['adresse']))
{
//pour éviter le risque d'injection de code étranger avec htmlentities qui écrase les valeurs de $_POST
$pseudo=$_POST['pseudo'];
$password=$_POST['mdp'];
//controle sur :la taille du pseudo et du password, bloquer les caractères du pseudo
$verif_caracteres= preg_match('#^[a-zA-Z0-9._-]+$#', $pseudo);
// variable de vérification avec expression régulière preg_match on autorise les lettres de a à Z minuscule et majuscule et les chiffres de 0 à 9 ainsi que les caractères spéciaux ._- en premier argument. En deuxième argument au niveau de l'indice $pseudo on vérifiera avec retourne 0 pour false si un caractère interdit (défini dans le premier argument) est présent dans le pseudo sinon retourne 1 pour true. Pour tester on utilisera echo $verif_caracteres;
/*expression régulière:
-les signes # ou / délimitent l'expression régulière permettant de préciser les options
-l'accent ^ indique que le début de la chaîne commence par tel caractère
-$ indique que la fin de la chaîne la chaîne finit par tel caractère
-le signe + indique que le caractère est autorisé à apparaître plusieurs fois/ sinon ne pas le mettre
*/
if (!$verif_caracteres && !empty($pseudo))// si $verif_caracteres == false cad si il y a un caractères interdit dans pseudo mais à condition que l'espace pseudo ne soit pas vide alors on affiche un message à l'utilisateur
{
$msg.='<div class="erreur"><p><b>Erreur sur le pseudo, caractères acceptés : </b>de A à Z et de 0 à 9</p></div>';
}
// Réglage de la taille du pseudo
if (strlen($pseudo) < 4 || strlen($pseudo)> 14) // alors pb de taille
{
$msg.='<div class="erreur"><p><b>Erreur : </b>le pseudo doit avoir entre 4 et 14 caractères inclus</p></div>';
}
//Réglage de la taille du mot de passe
if (mb_strlen($password,'utf-8') <4 || mb_strlen ($password,'utf-8')> 14)
{
$msg.='<div class="erreur"><p><b>Erreur : </b>le password doit avoir entre 4 et 14 caractères inclus</p></div>';
}
//mb_strlen() en précisant l'encodage => si un caractère en utf-8 vaut plus qu'un octet, mb_strlen le comptera comme valant 1 ce qui nous permet de contrôler la taille du password en autorisant les caractères spéciaux.
//Contrôle de validité du format du mail
if (filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)===false)
//si filter_var() avec le filtre FILTER_VALIDATE_EMAIL renvoie false alors l'email n'est pas de format correct
{
$msg.='<div class="erreur"><p><b>Erreur : </b>le format du mail n\'est pas valide</p></div>';
}
foreach ($_POST as $ind=>$val)
{
$_POST[$ind]=htmlentities($val,ENT_QUOTES);// on traite dans la boucle toutes les valeurs l'une après l'autre avec html entities pour protéger des injections de code.
}
extract ($_POST);// extract est une fonction prédéfinie qui ne marche que sur des tableaux array avec des indices chaînes de caractère uniquement. Cette fonction crée pour chaque indice du tanleau, une variable du même nom que l'indice contenant sa valeur. on retrouvera donc les variables pseudo, password,nom, ...
//si la variable message utilisateur $msg.= est vide/ ne s'affiche pas, alors il n'y a pas d'erreur lors de l'inscription. Faire une requête sur BDD sql donc on peut faire des insertions de BDD
/*if(empty($msg))
ATTENTION AUX ENTREE EN CHAMPS UNIQUE PAR EX. POUR Pseudo pas de doublon possible. Ne pas utiliser cette fonction sous cette forme directement
{
$req="INSERT INTO membre(pseudo,password,nom, prenom) VALUES ('$pseudo','$password','$nom','$prenom')";
executeRequete($req);
}
*/
// on vérifie d'abord si le pseudo existe déjà dans la BDD
if(empty($msg))
{
$req="SELECT * FROM membre WHERE pseudo='$pseudo'";// Afficher les pseudo du tableau membre
$resultat=executeRequete($req);//affichage des résultat
if($resultat->num_rows>0)
// a condition qu'il n'y ait pas de ligne de résultat dans notre résultat si le nombre de ligne est supérieur à 0(cad 1) cela signifie que le pseudo existe on affichera donc erreur sinon si =0 on le rajoutera à la BDD car il n'existe pas.
{
$msg.='<div class="erreur"><p><b>Erreur : </b>le pseudo n\'est pas disponible</p></div>';
//afficher le message pseudo non dispo
}
//sinon afficher les champs à remplir pour l'insertion
else{
executeRequete(" INSERT INTO membre(pseudo,mdp,nom, prenom, email, sexe,ville, cp,adresse) VALUES ('$pseudo','$password','$nom','$prenom','email','sexe','ville','cp','adresse')");
$msg.='<div class="valide"><p><b>Félicitation : </b>Vous êtes bien inscrit</p></div>';
}
}
}
}
//require_once ("inc/header.inc.php");
//require_once ("inc/nav.inc.php");
echo $msg;//pour afficher les messages à l'utilisateur crée ds init.inc.php
debug($_POST);// balise pour contrôler les champs s'affiche dans un tableau array ne pas laisser les contrôles à la remise
//echo mb_strlen('é','utf-8');vérifiction du mb_strlen
?>
<!DOCTYPE html>
<html>
<head>
<meta name="description" content="LOKISALLE est une société spécialisée dans la location de salle pour l'organisation de réunion pour les entreprises ou les particuliers.
La société dispose de salles dans toute la France et plus précisemment à Paris, Lyon, Marseille."/>
<meta name="keywords" content="Lokisalle, location, réunion,bureau,Paris, France">
<meta name"Subject" content="location">
<meta name="Author" content="ht">
<meta name="Publisher" content="ht">
<meta name="Identifier-Url" content="www.">
<meta name="Reply-To" content="hafythiam2.pro@gmail.com">
<meta name="Revisit-After" content="15 days">
<meta name="Robots" content="all">
<meta name="Rating" content="general">
<meta name="Distribution" content="global">
<meta name="viewport" content="width=device-width, initial-scale=1" /> <!--responsive-->
<meta name="Content-Language" content="fr">
<title>Créer un nouveau compte</title>
<link rel="stylesheet" href="font-awesome/css/font-awesome.min.css"/>
<link href='https://fonts.googleapis.com/css?family=Open+Sans+Condensed:300,300italic,700' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="lokisalle.css"/>
</head>
<body>
<div id="conteneur">
<!-- l'en tête-->
<?php include ("header.inc.php");?>
<!-- Le menu de navigation-->
<?php include ("menu.inc.php");?>
<br/>
<div class="titrepage"><h3 style="color:#D0B2B3;">>>Créer un nouveau compte </h3></div>
<div class="clear"></div>
<br/>
<!-- PHOTO LOKISALLE BANNIERE-->
<div class="banniere">
<img src="img/banniere.jpg" alt="bannière" width="1024"/>
</div>
<div class="clear">
<!--FORMULAIRE-->
<div class="forminscription">
<form method="post" action="">
<div class="form-group">
<label for="pseudo">Pseudo</label>
<input type="text" class="form-control" id="pseudo"name="pseudo" placeholder="Pseudo..." value="<?php if (isset($_POST['pseudo'])) { echo $_POST['pseudo'];} ?>" <!--Pour afficher la valeur seulement si elle existe if(isset())-->
</div>
<div class="form-group">
<label for="mdp">Mot de passe</label>
<input type="password" class="form-control" id="password"name="mdp" placeholder="Password..." value= "<?php if (isset($_POST['password'])) { echo $_POST['password'];} ?>"
</div>
<div class="form-group">
<label for="Nom">Nom</label>
<input type="text" class="form-control" id="Nom" name="nom" placeholder="Nom" value="<?php if (isset($_POST['password'])) { echo $_POST['password'];} ?>"
</div>
<div class="form-group">
<label for="prenom">Prénom</label>
<input type="text" class="form-control" id="prenom" name="prenom" placeholder="Prenom" value="<?php if (isset($_POST['prenom'])) { echo $_POST['prenom'];} ?>"
</div>
<div class="form-group">
<label for="email">Email</label>
<input type="text" class="form-control" id="email" name="email" placeholder="email" value="<?php if (isset($_POST['email'])) { echo $_POST['email'];} ?>"
</div>
<div class="form-group">
<label for="sexe">Sexe</label>
<input type="radio" name="sexe" value="H" <?php if (isset($_POST['sexe'])&&$_POST['sexe']== 'H') { echo 'checked'; } elseif(!isset ($_POST['sexe'])) {echo 'checked';} ?>> Homme
<input type="radio" name="sexe" value= "F"<?php if (isset($_POST['sexe'])&&$_POST['sexe']== 'F') { echo 'checked'; } elseif(!isset ($_POST['sexe'])) {echo 'checked';} ?>> > Femme
</div>
<div class="form-group">
<label for="ville">Ville</label>
<input type="text" class="form-control" id="ville" name="ville" placeholder="ville" value="<?php if (isset($_POST['ville'])) { echo $_POST['ville'];} ?>"
</div>
<div class="form-group">
<label for="code postal">Code Postal</label>
<input type="chiffre" class="form-control" id="cp" name="cp" placeholder="cp" value="<?php if (isset($_POST['code postal'])) { echo $_POST['code postal'];} ?>"
</div>
<div class="form-group">
<label for="adresse">Adresse</label>
<input type="textarea" class="form-control" id="adresse" name="adresse" placeholder="adresse"><?php if (isset($_POST['adresse'])) { echo $_POST['adresse'];} ?> </textarea>
</div>
<div class="form-group">
<input type="submit" class="form-control btn btn-warning" name="inscription" value= "inscription">
</div>
</form>
</div>
<!-- Le pied de page-->
<?php include ("footer.inc.php");?>
</body>
</html> |
Partager