Je tiens aussi à preciser que ce n'est qu'à titre d'exemple et que certainement cela est améliorable (là je vous laisse la main)
D'ailleurs je n'ai pas mis la table sql et d'autre vérification peuvent-être ajoutées
Je commence : Voici le formulaire enregistrement.php
<!--
enregistrement.php
Formulaire d'enregistrement d'utilisateur
( Vérification effectué par register.php )
Par header ( pour PHPFrance )
-->
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
<title>Enregistrement d'un nouveau membre</title>
<!--
Inclusion de la feuille de style "style.css"
-->
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<!--
"div" décrite par la "class" : "formulaire_txt" dans "style.css"
-->
<div class="formulaire_txt">
Login :<br><br>
Mot de passe :<br><br>
Vérification du mot de passe :<br><br>
Email :<br><br>
Prénom, Nom :<br><br>
Rue, N° :<br><br>
Ville, Code postal :<br><br>
Pays :
</div>
<!--
"div" décrite par la "class" : "formulaire_input" dans "style.css"
-->
<div class="formulaire_input">
<!-- On decrit l'action d'envoi des données du formulaire
On les envoi à "register.php" par la methode "POST"
-->
<form action="register.php" method='post'>
<!-- Balises "input" (champs de textes où seront inscrites les données
Les script php permettent de récupérer les données par "GET" en cas d'erreur,
ces données sont envoyés par "register.php" apres traitement, On decode aussi
les mots de passe avec "base64_decode()"
-->
<input type="text" value="<?php echo $_GET['login'];?>" size="15" name="login" maxlength="70"><br><br>
<input type="password" value="<?php echo base64_decode($_GET['mdp']);?>" size="15" name="mdp" maxlength="70"><br><br>
<input type="password" value="<?php echo base64_decode($_GET['verif_mdp']);?>" size="15" name="verif_mdp" maxlength="70"><br><br>
<input type="text" value="<?php echo $_GET['email'];?>" size="26" name="mail" maxlength="70"><br><br>
<input type="text" value="<?php echo $_GET['prenom'];?>" size="15" name="prenom" maxlength="70">,
<input type="text" value="<?php echo $_GET['nom'];?>" size="15" name="nom" maxlength="70"><br><br>
<input type="text" value="<?php echo $_GET['rue'];?>" size="40" name="rue" maxlength="70">,
<input type="text" value="<?php echo $_GET['numero'];?>" size="2" name="numero" maxlength="70"><br><br>
<input type="text" value="<?php echo $_GET['ville'];?>" size="15" name="ville" maxlength="70">,
<input type="text" value="<?php echo $_GET['code_postal'];?>" size="5" name="code_postal" maxlength="70"><br><br>
<input type="text" value="<?php echo $_GET['pays'];?>" size="15" name="pays" maxlength="70"><br><br>
<!--
Bouton d'envoi de la balise "FORM"
-->
<input class="bouton" type="submit" value="Inscription">
</form>
<br>
<!--
Récupération des données envoyées en cas d'erreur par "register.php" avec la methode "GET"
-->
<?php
// Si "$_GET['err']" est égal à vide
if ($_GET['err'] == vide)
{
// Lancement du message d'erreur par "echo()"
echo "<b> Attention: </b> Un ou plusieurs champs sont vides!";
}
// Sinon si "$_GET['err']" est égal à mail
elseif ($_GET['err'] == mail)
{
// Lancement du message d'erreur par "echo()"
echo "<b> Attention: </b> Votre adresse Mail est invalide!";
}
// Sinon si "$_GET['err']" est égal à pwd
elseif ($_GET['err'] == pwd)
{
// Lancement du message d'erreur par "echo()"
echo "<b> Attention: </b> Les mots de passe ne sont pas pareils!";
}
?>
</div>
</body>
</html>
Ensuite le traitement des données par register.php<?php
////////////////////////////////////////////////////////////////
///// register.php /////
///// Traitement des données du fichier enregistrement.php /////
///// Par header ( Pour PHPFrance ) /////
////////////////////////////////////////////////////////////////
// inclure les données de connection à mysql
include ('config.inc.php');
// Declarations et transformations de variables "POST"
$prenom = $_POST['prenom'];
$nom = $_POST['nom'];
$rue = $_POST['rue'];
$numero = $_POST['numero'];
$ville = $_POST['ville'];
$cp = $_POST['code_postal'];
$pays = $_POST['pays'];
$email = $_POST['mail'];
$login = $_POST['login'];
$mdp = $_POST['mdp'];
$verif = $_POST['verif_mdp'];
// Declaration des variables de vérification
$point = strpos($email,".");
$aroba = strpos($email,"@");
// Si un ou plusieurs champs sont vides
// Lancer la page "enregistrement.php" avec l'erreur et les valeurs des champs par "GET"
// On code le mot de passe en "base64"
// Sinon(Else) on execute le reste du code
if(empty($prenom) or empty($nom) or empty($rue)
or empty($numero) or empty($ville) or empty($cp) or empty($pays) or empty($email) or empty($login) or empty($mdp))
{
header('Location: enregistrement.php?err=vide&login='. $login .'&mdp='. base64_encode($mdp) .'&verif_mdp='. $verif .'&email='. $email .'&prenom='. $prenom .'&nom='. $nom .'&rue='. $rue .'&numero='. $numero .'&ville='. $ville .'&code_postal='. $cp .'&pays='. $pays .'');
}
else
{ // Si les mots de passe sont différents
// Lancer la page "enregistrement.php" avec l'erreur et les valeurs des champs par la méthode "GET" sant les mots de passe"
// On ne remet pas les mots de passe puisse qu'ils sont faux
// Sinon(Else) on execute le reste du code
if($mdp != $verif)
{
header('Location: enregistrement.php?err=pwd&login='. $login .'&email='. $email .'&prenom='. $prenom .'&nom='. $nom .'&rue='. $rue .'&numero='. $numero .'
&ville='.$ville.'&code_postal='.$cp.'&pays='.$pays.'');
}
else
{
// Si le mail ne contient pas de "." ou un "@"
// Lancer la page "enregistrement.php" avec l'erreur et les valeurs des champs par "GET"
// On code le mot de passe en "base64"
// Sinon(Else) on execute le reste du code
if($point=='' or $aroba=='')
{
header('Location: enregistrement.php?err=mail&login='. $login .'&mdp='. base64_encode($mdp) .'&verif_mdp='. $verif .'&email='. $email .'&prenom='. $prenom .'&nom='. $nom .'&rue='. $rue .'&numero='. $numero .'&ville='. $ville .'&code_postal='. $cp .'&pays='. $pays .'');
}
else
{
// Variable de requête sql pour insérer un nouveau membre
$sql = "INSERT INTO `users` ( `id` , `prenom` , `nom` , `rue` , `numero` , `ville` , `cp` , `pays` , `email` , `login` , `mdp` , `vip` , `argent` , `points` )
VALUES (
NULL , '$prenom', '$nom', '$rue', '$numero', '$ville', '$cp', '$pays', '$email', '$login', '$mdp', '', '', ''
)";
//Requête sql (insértion du membre) ou si problémes, affichage de l'erreur sql
mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
}
}
}
?>
Le config.inc.php pour la base de données <?php
// on se connecte à MySQL
$db = mysql_connect('HOST', 'Login', 'Pass');
mysql_select_db('BaseDeDonnées',$db);
?>
Le style.css
Code : Tout sélectionner
body {
margin: 0;/* sans marges, la page sera collée aux bords */
font-family: verdana, arial, sans-serif; /* on définit la police de base dans la page */
font-size: 14px; /* on définit la taille de police de base dans la page */
}
input {
background-color: #ff9966;
font-weight: bold;
color:white;
}
select {
background-color: #ff9966;
font-weight: bold;
color:white;
}
.bouton {
background-color: #ff9966;
font-weight: bold;
color:#3300FF;
}
.formulaire_txt {
color:#ff9966;
font-size: 15px;
position: absolute;
padding-top: 3px;
font-weight: bold;
width: 200px;
height: 376px;
background-color: #3300FF;
}
.formulaire_input {
margin-left: 200px;
padding-top: 7px;
padding-left: 10px;
width: 380px;
height: 372px;
background-color: #3300FF;
}
<?php
include ('config.inc.php');
if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) {
extract($_POST);
// on recupère le password de la table qui correspond au login du visiteur
$sql = "select mdp from users where login='".$login."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);
if($data['mdp'] != $pass) {
echo '<p>Mauvais login / password. Merci de recommencer</p>';
include('login.htm'); // On inclut le formulaire d'identification
exit;
}
else {
session_start();
$_SESSION['login'] = $login;
echo 'Vous etes bien logué';
// ici vous pouvez afficher un lien pour renvoyer
// vers la page d'accueil de votre espace membres
}
}
else {
echo '<p>Vous avez oublié de remplir un champ.</p>';
include('login.htm'); // On inclut le formulaire d'identification
exit;
}
?>
Et même un login.htm
Code : Tout sélectionner
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<title>login!</title>
</head>
<body>
<form action="login.php" method='post'>
<table align="center" border="0">
<tr>
<td>Login :</td>
<td><input type="text" name="login" maxlength="250"></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password"name="pass" maxlength="10"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="log in"></td>
</tr>
</table>
</form>
</body>
</html>
mais comme je l'ai dit c'est à titre d'exemple pour comprendre la méthodologie de travail
GOOD CODING