le 17/04/2008 à 10:39
Problème d'ouverture de session
Ah nikel !
Merci beaucoup Keika ça fonctionne très bien...
Chapeau l'artiste !
Merci beaucoup Keika ça fonctionne très bien...
Chapeau l'artiste !
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Futur-PC</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" />
</head>
<body Link="#FF6F00" alink="#FF6F00" vlink="#FF6F00">
<form action="Membre.php" method="post">
<font size="2">Login : </font><br><input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br>
<font size="2">Mot de passe : </font><input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br><br>
<input type="submit" name="connexion" value="Connexion">
</form>
<a href="Inscription.php"><font size="2" color="#000000">S'inscrire</font></a>
<?php
if (isset($erreur)) echo '<br><br>',$erreur;
?>
</body>
</html>
<?php
// test : si le visiteur a soumis le formulaire de connexion
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('mysql', $base);
// teste si une entrée de la base contient le login et le pass
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.md5(mysql_escape_string($_POST['pass'])).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_array($req);
mysql_free_result($req);
mysql_close();
// si réponse, alors l'utilisateur est un membre
if ($data[0] == 1) {
session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: Membre.php');
exit();
}
// si aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
elseif ($data[0] == 0) {
$erreur = 'Compte non reconnu !';
}
// sinon, il y a un problème
else {
$erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
}
}
else {
$erreur = 'Il manque un champs !';
}
}
?>
<?php
// test : si le visiteur a soumis le formulaire
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
// teste de l'existence de nos variables et si elles ne sont pas vides
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {
// test des deux mots de passe
if ($_POST['pass'] != $_POST['pass_confirm']) {
$erreur = 'Les 2 mots de passe sont différents.';
}
else {
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('mysql', $base);
// recherche si ce login est déjà utilisé par un autre membre
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_array($req);
if ($data[0] == 0) {
$sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.md5(mysql_escape_string($_POST['pass'])).'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: Membre.php');
exit();
}
else {
$erreur = 'Login déjà pris !';
}
}
}
else {
$erreur = 'Il manque un champs !';
}
}
?>
<?php
session_start();
if (!isset($_SESSION['login'])){
header('Location: Accueil.php');
exit();
}
?>
Chargement en cours