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
| <?php
include ("includes/header.php");
echo"</div>\n";
if(isset($_COOKIE["id"]))
{
header("Location: index.php");
}
else
{
// Formulaire visible par défaut
$masquer_formulaire = false;
// Une fois le formulaire envoyé
if(isset($_POST["BT_Envoyer"]))
{
// Vérification de la validité des champs
if(!ereg("^[A-Za-z0-9_]{2,20}$", $_POST["TB_Nom_Utilisateur"]))
{
$message = "Votre nom d'utilisateur doit comporter entre 2 et 20 caractères<br />\n";
$message .= "L'utilisation de l'underscore est autorisée";
}
elseif(!ereg("^[A-Za-z0-9]{6,}$", $_POST["TB_Mot_de_Passe"]))
{
$message = "Votre mot de passe doit comporter au moins 6 caractères";
}
else
{
// Sélection de l'utilisateur concerné
$result = mysql_query("
SELECT id, Nom_Utilisateur, Mot_de_Passe, Compte_Active
FROM user
WHERE Nom_Utilisateur = '" . $_POST["TB_Nom_Utilisateur"] . "'
");
// Si une erreur survient
if(!$result)
{
$message = "Une erreur est survenue lors de la tentative de connexion";
}
else
{
// Si aucun utilisateur n'a été trouvé
if(mysql_num_rows($result) == 0)
{
$message = "Le nom d'utilisateur " . $_POST["TB_Nom_Utilisateur"] . " n'existe pas";
}
else
{
// Récupération des données
$row = mysql_fetch_array($result);
// Si le compte n'a pas été activé
if($row["Compte_Active"] == 0)
{
$message = "Votre compte utilisateur n'a pas été activé";
}
else
{
// Vérification du mot de passe
if(md5($_POST["TB_Mot_de_Passe"]) != $row["Mot_de_Passe"])
{
$message = "Votre mot de passe est incorrect";
}
else
{
// Définition du temps d'expiration des cookies
$expiration =
empty($_POST["CB_Connexion_Automatique"]) ? 0 : time() + 90 * 24 * 60 * 60;
// Création des cookies
setcookie("id", $row["id"], $expiration, "/");
setcookie("NOM_UTILISATEUR", $row["Nom_Utilisateur"], $expiration, "/");
// Fermeture de la connexion à la base de données
mysql_close();
// Redirection de l'utilisateur
header("Location: index.php");
}
}
}
}
// Fermeture de la connexion à la base de données
mysql_close();
}
}
}
?>
<html>
<head>
<title>[PHP] Créer un espace membre</title>
</head>
<body>
<?php if(isset($message)) { ?>
<p><?php echo $message; ?></p>
<?php } if($masquer_formulaire != true) { ?>
<form action="http://<?php echo $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]; ?>" method="post">
<p>
Nom d'utilisateur : <input type="text" name="TB_Nom_Utilisateur" />
</p>
<p>
Mot de passe : <input type="password" name="TB_Mot_de_Passe" />
</p>
<p>
<input type="checkbox" name="CB_Connexion_Automatique" />
Se connecter automatiquement à chaque visite
</p>
<p>
<input type="submit" name="BT_Envoyer" value="Envoyer" />
</p>
</form>
<?php } include ("includes/footer.php"); ?> |
Partager