2011-m1s2-ter/code/serveur/php/login.php
Georges Dupéron 474f4258c5 Améliorations sur le site (voir le reste du commentaire pour les détails)
* Lisibilité (liens qui ressortent plus, footer un peu plus gros (là il fallait une loupe :) )).
* Affichage des messages sur la page de destination pour signup.
* Possibilité d'afficher un message sur n'importe quelle page sur laquelle on redirect ( index.php?show_msg=ok_signup_registered par ex.).
* Regrouppement de tous les messages dans ressources/strings.inc, pour les affichages (point précédent) et pour que la vérification de l'orthographe soit plus facile (pas besoin de lire tout le code).
* Nettoyage des paramètres à certains endroits où ça avait été oublié (mais il en reste).
* Correction de quelques bugs (appel à la fonction mDie qui n'existe pas par ex.).
* On ne peut faire de redirect que sur nos pages, pour éviter un exploit par redirect.
* Signup connecte automatiquement l'utilisateur si l'inscription a fonctionné.
* Ajout de liens entre signup et login. Si on clique sur un des lien, la page de retour reste la bonne (par exemple download, au lieu de devenir login).
* Ré-indentation, uniformisation du style du code (plus ou moins, et plus moins que plus).
* Factorisation du code.
* Correction de la couleur du lien Télécharger.
* Correction de quelques bugs d'alignement (il en reste).
2011-02-24 20:13:26 +01:00

90 lines
2.4 KiB
PHP
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
session_start();
require_once("ressources/strings.inc");
require_once("ressources/locations.inc");
$msg = null;
if(isset($_POST['loginid']) && !empty($_POST['loginid']))
$user = SQLite3::escapeString($_POST['loginid']);
if(isset($_POST['loginpswd']) && !empty($_POST['loginpswd']))
$pswd = md5($_POST['loginpswd']);
$location = getlocation();
if(isset($_GET['d']) && $_GET['d'] == "true") {
session_destroy();
return_to($location, "?show_msg=ok_login_disconnect");
}
if(isset($user) && isset($pswd))
{
$SQL_DBNAME = (dirname(__FILE__) . "/db");
if (!$db = new SQlite3($SQL_DBNAME))
die($strings['err_login_dbopen']);
if($pswd == ($db->querySingle("SELECT hash_passwd FROM user WHERE login='$user';"))) {
$_SESSION['userId'] = $user; // Le login se fait aussi dans signup.
return_to($location);
}
else
$msg = $strings['err_login_bad_user_pass'];
}
else if(isset($user) or isset($pswd))
$msg = $strings['err_login_fill_all'];
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="ressources/simple.css" />
</head>
<body>
<?php include("ressources/menu.inc"); ?>
<div class="content">
<h2>Connexion</h2>
<?php include("ressources/showmsg.inc"); ?>
<h3>Vous êtes déjà inscrit ?</h3>
<p>Authentifiez-vous :</p>
<?php
if($msg !== null)
echo '<p class="message warning">'.htmlspecialchars($msg).'</p>';
?>
<form name="loginform" method="post" action="login.php?return=<?php echo $location; ?>">
<table class="logintbl">
<tr>
<td>
<label for="loginid"> Identifiant&nbsp;:</label>
</td>
<td>
<input name="loginid" type="text" /><br />
</td>
</tr>
<tr>
<td>
<label for="loginpswd"> Mot de passe&nbsp;: </label>
</td>
<td>
<input name="loginpswd" type="password" />
</td>
</tr>
<tr>
<td>
</td>
<td>
<input type="submit" name="loginsubmit" value="Valider" />
</td>
</tr>
</table>
</form>
<h3>Vous n'avez pas encore de compte ?</h3>
<p><a href="signup.php?return=<?php echo $location; ?>">Inscrivez-vous !</a></p>
</div>
<?php include("ressources/footer.inc"); ?>
</body>
</html>