le 23/06/2005 à 18:52
Laddy
pas compris non plus.
<?php
if (isset($erreur)) echo '',$erreur;
?>
<form method="POST" action="connexion.php">
<table width="487" border="0" cellspacing="0" cellpadding="0" class="table">
<tr>
<td width="126" class="legend">Votre identifiant : </td>
<td width="196" class="input"><input maxlength="64" name="login" type="text" value="<?php if (isset($_POST['login'])) echo stripslashes(htmlentities(trim($_POST['login']))); ?>">
</td>
<td width="165" class="info"> </td>
</tr>
<tr>
<td class="legend">Mot de passe :</td>
<td class="input"><input class="text" maxlength="64" name="passwd" type="passwd" value="<?php if (isset($_POST['passwd'])) echo stripslashes(htmlentities(trim($_POST['passwd']))); ?>"></td>
<td class="info"> <em>Se souvenir de moi</em>
<input type="checkbox" name="cook" value="1"></td>
</tr>
<tr>
<td class="input"> </td>
<td class="input"><a href="perdu.php">Mot de passe oublié</a>
?</td>
<td class="info"> </td>
</tr>
<tr>
<td class="input"> </td>
<td class="input"> </td>
<td class="info"> </td>
</tr>
<tr>
<td class="legend"> </td>
<td class="input"><input class="bouton" value="Connexion" name="connexion" type="submit"></td>
<td> </td>
</tr>
</table>
</form>
<?php
include 'config.inc.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['passwd']) && !empty($_POST['passwd']))) {
// on teste si une entrée de la base contient ce couple login / pass
$sql = 'SELECT count(*) FROM adherent WHERE login="'.addslashes($_POST['login']).'" AND passwd="'.md5($_POST['passwd']).'"';
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.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: mycompte/index.php');
exit();
}
// si on ne trouve aucune réponse, le visiteru s'est trompé soit dans son login, soit dans son mot de passe
elseif ($data[0] == 0) {
$erreur = 'Mot de passe erronné.';
}
// sinon, alors la, il y a un gros problème :)
else {
$erreur = 'Probème dans la base de données : plusieurs adhérents ont les mêmes identifiants de connexion.';
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
<?php
if (isset($erreur)) echo '<b></b>',$erreur;
?>