Je voudrait réaliser une espace membre pour le site intranet de ma boite, voici mon code:
<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="fr">
<head>
<title> login</title>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1" />
<style type="text/css" title="mes_styles" media="all">
<!--
#login {
border: medium solid #FF9900;
border-collapse: collapse;
position: absolute;
top: 20px;
left: 350px;
}
#ok{
font-family: Georgia, "Times New Roman", Times, serif;
color:#FF9900;
margin-top: 120px;
margin-left: 350px;
}
-->
</style>
<body>
<?php
If(isset($_POST['validation']))
{
If(isset($_POST['login'])) $login=$_POST['login'];
else $login = "";
If(isset($_POST['mdp'])) $mdp=$_POST['mdp'];
else $mdp = "";
If (empty($login) OR empty($mdp))
{
echo 'login ou mot de passe incorrecte ou manquant 1';
}
else
{
$server="*******";
$user="****";
$pass="*****";
$db="pdr";
mysql_connect($server,$user,$pass) or die('erreur de connexion');
mysql_select_db($db) or die ('impossible de se connecter a la base');
$requete = "SELECT login_user, mdp_user, nom_user, prenom_user FROM user WHERE login_user= '$login';";
$query = mysql_query($requete) or die('Erreur SQL !'.$query.'<br>'.mysql_error());
//echo $mdp;
echo '<br>';
$data= mysql_fetch_assoc($query);
//echo 'le mot de passe est'.$data['mdp_user'].'ok';
echo '<br>';
if($data['mdp_user']!= $mdp)
{
echo 'login ou mot de passe incorrecte ou manquant 2';
}
else
{
//session_start();
$_SESSION['login'] = $login;
echo $_SESSION['login'];
echo '<div id="ok" >Vous etes bien logue, bienvenue '.$data['prenom_user'].' '.$data['nom_user'].'.<br>';
echo "<script type='text/javascript'>document.location=\"acceuil.php\";</script>";
echo '<FORM ACTION="acceuil.php" > <INPUT TYPE="SUBMIT" VALUE="Par ici !"> </FORM></div>';
}
}
}
else
{
?>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method='post'>
<table id="login">
<tr>
<td>Login :</td>
<td><input type="text" name="login" maxlength="250"></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password"name="mdp" maxlength="10"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="validation" id="validation" value="log in"></td>
</tr>
</table>
</form>
<?php
}
?>
</body>
</html>
Est qu'au niveau de mon code il y a des erreurs ? (la page fonctionne mais je préfère demander)Au niveau des mots de passe, je voudrait les sécurisé soit au niveau de ma base ou bien sur le site.
Quel méthode me conseillez vous (je chercherais comment l'appliquer) (pas trop dure non plus je débute
A ce niveau si j'ai fait une re-direction en javascript mais est-il possible de lui attribuer un temps avant de l'exécuter? A-t-il une meilleur méthode (ou est-il préférable d'utiliser) en php ?$_SESSION['login'] = $login;
echo $_SESSION['login'];
echo '<div id="ok" >Vous etes bien logue, bienvenue '.$data['prenom_user'].' '.$data['nom_user'].'.<br>';
echo "<script type='text/javascript'>document.location=\"acceuil.php\";</script>";
echo '<FORM ACTION="acceuil.php" > <INPUT TYPE="SUBMIT" VALUE="Par ici !"> </FORM></div>';
Pour sécuriser les autres pages (de l'espace membre ) j'ai ceci comme code:
<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="fr">
<head>
<title> login</title>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1" />
<?php
echo $_SESSION['login'];
if(!isset($_SESSION['login'])) {
echo $_SESSION['login'];
echo 'Vous n\'êtes pas autoris´ à acceder à cette zone';
echo '<br>';
include('login.php');
exit;
}
else
{
echo $_SESSION['login'];
echo 'Bienvenue sur l\'espace restreint ';
}
?>
Est ce que c'est suffisant ou pas ?Merci d'avance pour votre aide
Bonne et heureuse année.
guigui69