il s'agit de permettre aux utilisateurs de s'identifier avant de se connecter .
le code n'affiche aucune erreur mais ne me dirige pas vers la page souhaitée . en plus je veux qu'à chaque fois qu'on revient sur la page pour s'identifier les champs soient vides .
merci de bien vouloir m'aider
voici la table que j'ai crée :
-- Structure de la table `membre`
--
CREATE TABLE IF NOT EXISTS `membre` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`login` text COLLATE utf8_unicode_ci NOT NULL,
`pass_md5` text COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=4 ;
--
-- Contenu de la table `membre`
--
INSERT INTO `membre` (`id`, `login`, `pass_md5`) VALUES
(1, 'admin', '21232f297a57a5a743894a0e4a801fc3'),
(2, 'sool', '624fbbcb1b3567572e39d302f3e018fc'),
(3, 'zana', '9734c1859c07d4ca1a7034659db2594c');
voici mon code :
<?php
// on teste 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']))) {
include("connection.php");
// on teste si une entrée de la base contient ce couple login / pass
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.mysql_escape_string(md5($_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 on obtient une réponse, alors l'utilisateur est un membre
if ($data[0] == 1) {
session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: logo.php');
exit();
}
// si on ne trouve 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, alors la, il y a un gros problème :)
else {
$erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
<html>
<head>
<title>Accueil</title>
<style type="text/css">
<!--
.Style6 {color: #FFFFFF; font-style: italic; font-weight: bold; }
.Style7 {
color: #FFFFFF;
font-style: italic;
}
.Style8 {color: #FF00FF}
-->
</style>
</head>
<body>
<p> </p>
<p> </p>
<p><br />
</p>
<form action="index.php" method="post">
<br />
<table border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#FF00FF">
<td height="65" width="80"><table width="536" height="139" border="0" align="center" bgcolor="#0A5B79">
<tr>
<td colspan="2"><table width="512" border="0" align="center">
<tr>
<td width="395"><h1 align="center" class="Style8">Identifiez-vouz !! </h1></td>
<td width="101"><img src="images/logo3.jpg" alt="dfghj" width="100" height="70"></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="109"><span class="Style6">Login : </span></td>
<td width="417"><input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"></td>
</tr>
<tr>
<td><span class="Style6">Mot de passe : </span></td>
<td><input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"></td>
</tr>
<tr>
<td colspan="2"><table width="53" border="0" align="center">
<tr>
<td width="47"><input type="submit" name="connexion" value="connexion"></td>
</tr>
</table>
<table width="100" border="0" align="right">
<tr>
<td width="94"><a href="inscription.php" class="Style7">Vous inscrire</a></td>
</tr>
</table></td>
</tr>
</table></td>
</table>
<br />
</form>
<?php
if (isset($erreur)) echo '<br /><br />',$erreur;
?>
</body>
</html>