Si quelqu'u a une idée, qu'il me le dise, en attendant voici mon code
Code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
| C_Authentification.php -------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<form method="post" action="Session.php">
<fieldset><legend>Authentification</legend>
<table width="15" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="41">Login</td>
<td width="72">
<div align="justify">
<INPUT name="login" type="text" class="form" onFocus="if(this.value='Votre Login'){this.value=''}" value="Votre Login" size="12" ;>
</div></td>
<td width="72" cellspacing="0" cellpadding="0"> </td>
</tr>
<tr>
<td>Pass</td>
<td>
<div align="justify">
<INPUT name="pass" type="password" class="form" dir="" size="8" maxlength="8";>
</div></td>
<Td width="29" align="left" ><div align="right"> <INPUT name="ok" type="submit" value="Valider"<span title="S'authentifier"></span>
</div></TD>
</tr>
</table>
</fieldset>
</body>
</html>
<? require 'verif_session.php'; ?>
-----------------------------------------------------------------------------
Session.php---
<?
// verifie si les données ont bien été envoyées
if( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['pass']))){
//extraction des données
extract($_POST);
//cryptage du mot de passe en md5
$pass=md5($pass);
require 'Connexion.php';
// Requete d'authentification
$requete_authentification="Select * from Utilisateur where Nom_Utilisateur='".$login."' and Passe_utilisateur='".$pass."'";
// Lancement de la requête
$authentification = mssql_query($requete_authentification,$serveur);
// Verification de l'exsitance d'un enregistrement
if (mssql_num_rows($authentification)>0){
session_start();
//On garde l'utilisateur en variable de session
$_SESSION['Utilisateur']=$login;
$_SESSION['ID']=session_id();
$_SESSION['IP']=$_SERVER['REMOTE_ADDR'];
}
// Fermeture de la connexion à la base de données
mssql_close($serveur);
} // Fin du if(isset
else{
//Si il n'y a pas d'enregistrement correspondant
echo "<script language='javascript'> parent.Identification.location.href='C_Authentification.php'; </script>";
}
require 'verif_session.php';
?>
-----------------------------------------------------------------------------
verif_session.php----
<?
if( isset($_SESSION['ID']) && isset($_SESSION['Utilisateur']) && isset($_SESSION['IP'])){ //On continue seulement si on a les 3 variables de sessions
if ($_SESSION['IP']==$_SERVER['REMOTE_ADDR']){//si la varaibel de session contenant l'ip est la meme que l'ip utilisée alors on continu
echo "<form action='destruction_session.php'>";
echo "<fieldset><legend>Authentification</legend>";
echo "Bienvenue utilisateur<br>";
echo $_SESSION['Utilisateur'];
echo "<br><input name='Deconnexion' type='submit' value='Se déconnecter' align='middle'>";
echo "</fieldset>";
echo "<script language='javascript'> parent.menu.location.href='C_Menu.php'; </script>";//On met a jour le menu
echo "</form>";
echo "authentification OK";
}
else {echo "ip invalide";}
}else{echo "session inconnue";}
?>
-----------------------------------------------------------------------------
destruction.php-----
<?
session_start();
session_unset();//destruction des varaibles de la session
session_destroy();//destruction de la session en cours
require 'C_Authentification.php';//On initialise la page C_Authentification . php
echo "<script language='javascript'> parent.menu.location.href='C_Menu.php'; </script>"; //On lance l'initialisation de C_Menu.php
echo "<script language='javascript'> parent.Principal.location.href='plan.html'; </script>";
?>
-----------------------------------------------------------------------------
Contenu du fichier de session----
Utilisateur|s:9:"LE BOULCH";ID|s:32:"62df820ac61ba34290b1a70b21eb743e";IP|s:9:"127.0.0.1"; |