Problème avec les sessions avec php

gahmed Messages postés 71 Date d'inscription   Statut Membre Dernière intervention   -  
gahmed Messages postés 71 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'ai un script d'authentification où je démarre une session lorsque l'authentification est réussie. Lorsque je démarre la session j'initialise 2 variables sessions( à voir sur le code)
authentification.php
<?php
if ((isset($_REQUEST["mdp"]))&&(isset($_REQUEST["log"]))){
$login=$_POST["log"];
$mdp=$_POST["mdp"];
if((is_string($login))&&(is_string($mdp))){
//connexion au serveur Mysql et sélection de la BDD
require("Connections/link.php");
//Formatage de la requête
$requete="select * from admins where login = '".$login."' and  mot_de_passe = '".$mdp."'";
//Exécution de la requête
$rslt=mysql_query($requete) or die(mysql_error()) ;
if(mysql_num_rows($rslt)==1){
$sid=session_id();
//Démarrer une session
session_start();
//Initialisation de variables sessions
$_SESSION['badge']=1;
$_SESSION["@_machine"]= $_SERVER["REMOTE_ADDR"];
header ("location: bienvenu.php");

}
else{
echo "<br />login ou mot de passe incorrect............  ";
echo "<br />cliquer sur le lien pour retourner <a href='index.html'>RETOUR</a>";
}
}
}
?>

J'ai un script pour la déconnexion que je peux sur toutes mes pages voici le script

deconnexion.php
<?php
//prolongement de la session
session_start();
//Destruction de toutes les variables de session
$_SESSION[]=array();
//destruction de la session
session_destroy();
//redirection vers la page d'acceuil
echo 'Déconnection Réussi !!<br> Vous allez être redirigez<meta http-equiv=refresh content=3;URL=index.html>';
?>

Maintenant c'est là j'ai un problème lorsque qu'user se déconnecte quand il clique sur précédent il peut retourner sur l'application sans pour autant s'authentifier. Voici le script que j'ai mis sur toutes mes pages pour essayer d'apporter de la sécurité sur mon application
<?php
session_start();
/*Récupération du badge*/
if (($_SESSION["@_machine"] != $_SERVER["REMOTE_ADDR"])&&($_SESSION["badge"]!=1)){
	echo'ACCES INTERDIT';
  	echo'<br /><a href="index.html">ALLEZ-VOUS AUTHENTIFIER</a>';
}
?>

Mais ça ne donne rien.



A voir également:

4 réponses

Defouille Messages postés 388 Date d'inscription   Statut Membre Dernière intervention   54
 
Bonjour, tu as essayé d'afficher le contenu des variables que tu testes ?
$_SESSION["@_machine"]
$_SERVER["REMOTE_ADDR"]
$_SESSION["badge"]
0
gahmed Messages postés 71 Date d'inscription   Statut Membre Dernière intervention   3
 
oui pour $_SESSION["badge"] j'ai réussi à afficher le contenu qui est égale à 1 mais pour les autres variables j'ai pas eu affiché leur valeur
0
Defouille Messages postés 388 Date d'inscription   Statut Membre Dernière intervention   54
 
ce qui veut dire que lorsque tu fais :

$_SESSION["@_machine"]= $_SERVER["REMOTE_ADDR"];


tu mets "rien" dans la variable $_SESSION["@_machine"]

donc, forcément cela ne marche pas ^^
0
gahmed Messages postés 71 Date d'inscription   Statut Membre Dernière intervention   3
 
mais si j'enlève $_SESSION["@_machine"]= $_SERVER["REMOTE_ADDR"]; j'ai toujours la même erreur à savoir:
Undefined index: badge in C:\wamp\www\applic\bienvenu.php on line 4
0