Gui4671
Messages postés33Date d'inscriptionjeudi 24 janvier 2019StatutMembreDernière intervention 7 avril 2019
-
Modifié le 30 janv. 2019 à 14:30
jordane45
Messages postés38346Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention16 décembre 2024
-
30 janv. 2019 à 17:32
Bonjour,
J'ai fait une page de connexion (identifiant et mdp) qui redirige vers la page d'accueil si les informations sont correctes. Les informations de connexion se trouve dans une BDD.
Je souhaite mettre sur la page d'accueil un lien qui permet à chacun de se déconnecter.
Mais je souhaite surtout empêcher l'accès à la page d'accueil s'il n'y a pas eu de connexion. (Redirection sur la page de connexion.) Je n'arrive pas à bloquer l'accès si pas de connexion, comment faire?
<?php include('connexion.php'); ?> <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Accueil</title>
<style>
body
{
background: rgba(255,221,95,1);
margin: 5px;
}
header
{
height: 220px;
border: 2px solid black;
text-align: center;
padding: 10px;
margin: 5px;
}
table
{
text-align: center;
margin: auto;
width: 90%;
}
ul#menu_horizontal li
{
display : inline;
padding : 0 0.5em;
border: 1px black;
}
ul#menu_horizontal
{
list-style-type : none;
}
a
{
border: 1px blue;
}
</style>
</head>
<body>
<header>
<br>
<h1>Serveur Guillaume.B</h1>
<h2>Accueil:</h2>
<ul id="menu_horizontal">
<li><a href="accueil.php">Accueil</a></li>
<li><a href="codeur.php">Codeur/Décodeur</a></li>
<li><a href="/gestion/connexion.php">Site de gestion</a></li>
<li><a style="color: blue" href="contactadm.php">Contacter l'administrateur</a></li>
<?php
if(isset($_SESSION['user'])){
?>
<li><a href="update-password.php">Changer mot de passe</a></li>
<?php
}
?>
<li><a style="color: red" href="index.php">Me <?php if(isset($_SESSION['user'])){echo"dé";}?>connecter</a></li>
</ul>
</header>
<br>
<br>
<section>
<table style="text-align: center" border=1 width=90% height="50px" align="center" cellspacing=0 cellpadding=0 >
<tr>
<td>
Notre codeur-décodeur permet de discuter avec un language illisible sans traduction. La traduction des mots, phrases, textes se fait sur le site. Cliquez sur le lien pour coder ou décoder.<br>
<a href="codeur.php">Codeur/Décodeur</a>
</td>
</tr>
</table>
<br>
<table style="text-align: center" border=1 width=90% height="50px" align="center" cellspacing=0 cellpadding=0>
<tr>
<td>
Le site de gestion n'est pas disponible avant le 02-02-19.
Le site de gestion est destiné à la gestion complète d'une association. Cliquez sur le lien pour accéder au site de gestion. L'accès est limité aux membres de l'association. <br>
<a href="/gestion/connexion.php">Site de gestion</a>
</td>
</tr>
</table>
<br>
<table style="text-align: center" border=1 width=90% height="50px" align="center" cellspacing=0 cellpadding=0>
<tr>
<td>
Si vous souhaitez modifier votre mot de passe, cliquez sur le lien ci-dessous...<br>
<a href="update-password.php">Changer son mot de passe.</a>
</td>
</tr>
</table>
</section>
</body>
</html>
jordane45
Messages postés38346Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention16 décembre 20244 718 30 janv. 2019 à 11:39
Bonjour,
Sur les pages à sécuriser.. il te suffit de vérifier si ta variable de session est remplie
Dans le cas contraire.. tu rediriges vers ta page de connexion.
Gui4671
Messages postés33Date d'inscriptionjeudi 24 janvier 2019StatutMembreDernière intervention 7 avril 2019 30 janv. 2019 à 12:59
Mon problème c'est que ma page d'accueil ne voit pas quand je suis connecté...
Si je me connecte, je suis redirigé vers ma page d'accueil mais je n'ai pas accès à la variable session.
Si je met des mauvais identifiants, ça me mets bien le message d'erreur.
jordane45
Messages postés38346Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention16 décembre 20244 718 Modifié le 30 janv. 2019 à 14:37
Déjà... dans le code pour ta BDD (le fichier connexion.php) ... il ne devrait y avoir aucun code html/css
Donc remplacer le bloc
<?php
//affichage des erreurs php
error_reporting(E_ALL & ~E_NOTICE);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
//démarrage des session si pas déjà démarées
if (session_status() == PHP_SESSION_NONE) {
session_start();
}
$current_page = basename($_SERVER['PHP_SELF']);
$user = !empty($_SESSION['user']) ? $_SESSION['user'] : NULL;
if($current_page !="accueil.php" && $current_page != "index.php" && !$user) {
header('Location: index.php');
exit(); // toujours mettre un exit après une redirection
}else{
//le temps des tests si ça ne fonctionne toujours pas
echo "<br> current_page : " . $current_page;
echo "<br> SESSION : <br>";
print_r($_SESSION);
}
?>
Gui4671
Messages postés33Date d'inscriptionjeudi 24 janvier 2019StatutMembreDernière intervention 7 avril 2019 30 janv. 2019 à 17:22
J'ai changé mais cela n'a rien arrangé... Cela a même empiré la situation! Je ne sais même plus me connecter.
jordane45
Messages postés38346Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention16 décembre 20244 718
>
Gui4671
Messages postés33Date d'inscriptionjeudi 24 janvier 2019StatutMembreDernière intervention 7 avril 2019 30 janv. 2019 à 17:32
Tu as des choses qui s'affichent ?
Peux tu nous montrer ton code modifié (attention à bien utiliser les balises de code cette fois )
30 janv. 2019 à 12:59
Si je me connecte, je suis redirigé vers ma page d'accueil mais je n'ai pas accès à la variable session.
Si je met des mauvais identifiants, ça me mets bien le message d'erreur.
Modifié le 30 janv. 2019 à 14:37
Donc remplacer le bloc
par uniquement
30 janv. 2019 à 17:22
30 janv. 2019 à 17:32
Peux tu nous montrer ton code modifié (attention à bien utiliser les balises de code cette fois )