Protection d'un site par un mot de passe [PHP [Résolu/Fermé]

Signaler
-
Messages postés
498
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
7 avril 2015
-
Bonjour,
</gras>je créé un site que je souhaite protéger par un mot de passe avec une session.
quand l'utilisateur s'identifie, il est redirigé vers la page principale du site donc voici le corps :</gras>

<?php
session_start();

include("config/connect_jemos.php");

if ( isset($_SESSION["acces"]) ) {}//si la variable existe il a le droit

else
{
header("Location: index_err.php");
die();
}

?>
.
.
.
.

<?php

<a href='?page=home'>Acceuil</a>

if (isset($_GET["page"])) $page = $_GET["page"];
else $page = "home";


switch ($page)
{
case "home" : include("home.php"); break;
}

?>


ce code me permet d'inclure des pages à chaque fois que je clique sur un lien.
Voici le code de la page connect_jemos.php

<?php
session_start();

//---Procédure d'identification---//

//--connection SQL--//

include("config/connect_bd.php");

//Récupération des paramètres

$login=$_POST["login"];
$pass=$_POST["pass"];
$crypt_pass=md5($pass);


//on regarde dans la base de donnée si les login et mots de passes correspondent
$requete="SELECT login, pass FROM jemos_acces WHERE login='$login' AND pass='$crypt_pass'";

$reponse=mysql_query($requete);

$infos=mysql_fetch_array($reponse);

if ( ($login == ($infos['login'])) && ($crypt_pass == ($infos['pass'])) )
{
//si l'identification a marché on créer une variable de session
$_SESSION["acces"] = TRUE ;
}
else
{
// sinon on redirige vers une page d'erreur
header("Location: index_err.php");
}

mysql_close();
?>

Le problème est que si je clique sur acceuil par exemple, je suis redirigé vers la page d'erreur index_err.php, comme si ma variable de session avait disparue. Je ne comprend pas.
Pouvez-vous m'aider.
merci de vos réponses

3 réponses

Messages postés
498
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
7 avril 2015
62
Donne un peu le code de la page d'acceuil pour voir
erreur d'othographe ? "access" devien "aces"
sinon l'erreur peut être dans le test du login ou dans la requete sql:

$login == ($infos['login']) && ($crypt_pass == ($infos['pass'])
pour tester s'il reconnait bien login et mdp, rajoute ce code:

{ 
//si l'identification a marché on créer une variable de session 

?><script language="javascript>
alert('test-login ok ;)');
</script><?php

$_SESSION["acces"] = TRUE ; 
}

c'est du javascript et si ton script php rentre bien dans l'accolade du login, il t'ouvrira une boite de dialogue 'test-login ok;)'
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

je viens de comprendre,

en fait de l'index, on se redirigeait vers acceuil.php (avec le formulaire) et on incluait la procédure d'identification. les variables du formulaires n'étaient pas des variable de session. et donc à chaque fois qu'on cliquaut sur un lien dans la page d'acceuil, il testait pour se loger, comme les données du form avaient disparues, il redirigeait vers acceuil.

J'ai fait en sorte que après validation il dirige vers "connect_jemos.php" qui redirige ou pas vers acceuil. je vais voir si ça marche...

c'est pas évident de manipuler les variables de session.
Messages postés
498
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
7 avril 2015
62
si c'est résolu oublie pas de le noter
Bon cod@ge ;)