Non-actualisation après authentification

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Non-actualisation après authentification

Re: Non-actualisation après authentification

par x86master » 14 mars 2011, 22:47

Je ne vois pas trop comment modifier ma page... #-o

Re: Non-actualisation après authentification

par xTG » 11 mars 2011, 15:26

Imaginons :
<?php
session_start();
if( ....)
{
  // identification
  $_SESSION['id'] = ...
}

include("header.php"); // vérification connecté = OK
include("page.php"); // vérification connecté = ERREUR
Un tel script impliquerai comme erreur que la page header.php modifie les variables de session.
Le bug le plus bête mais qui arrive souvent est lors d'une condition :
if( $_SESSION['id'] = 0 )
  echo "Vous n'êtes pas connecté.";
Un simple égal à la place d'un double égal et tu as perdu ta connexion pour le reste de la page par exemple.

Re: Non-actualisation après authentification

par x86master » 11 mars 2011, 14:58

C'est à dire ??

Re: Non-actualisation après authentification

par xTG » 11 mars 2011, 08:57

Tu dois modifier les variables entre ton header et la page inclue. ;)

Re: Non-actualisation après authentification

par x86master » 10 mars 2011, 22:44

J'ai réussi à corriger en partie le problème en remontant au début de mon index.php la phase de test du login.
Maintenant mon header s'affiche bien.
Par contre la page inclue n'est toujours pas bonne même en remontant le code...

Un indice ?

Re: Non-actualisation après authentification

par x86master » 10 mars 2011, 18:07

Ahh tu me rassures un peu mais pas entièrement :roll:

Effectivement pour le moment le site se trouve sur Free, mais même en local avec les dernières versions de EasyPHP ça me le fait... :?

Peut-être y a t'il un autre endroit où je puisse tester ?

Re: Non-actualisation après authentification

par xTG » 10 mars 2011, 17:57

Cela arrive sur certains hébergement.
J'ai déjà eu le soucis chez free et je n'ai jamais réussi à régler le problème.
J'ai donc rusé et je passais par une redirection intermédiaire.

Non-actualisation après authentification

par x86master » 10 mars 2011, 16:17

Bonjour,

J'ai un soucis auquel je n'arrive pas à remédier.
J'ai un système d'identification intégré à ma page principale.
Cette page inclue toutes les autres en fonction d'une variable passée par URL, ainsi que l'image d'en-tête du site.
Lorsqu'une personne arrive sur le site, j'inclus une page qui demande de s'identifier et dans la barre au-dessus, un formulaire d'authentification est présent. Je le remplis, je valide et j'ai bien ma phrase "Vous êtes connecté en tant que..." qui apparait.
Mais ma page inclue reste la même ("Veuillez vous authentifier..."), ainsi que l'image d'en-tête alors que je suis logué...
Elles auraient dû changer à la connexion... Cela fonctionne uniquement si je clique sur un lien, mais je ne devrais normalement pas avoir à faire cela...

Voici mon code de la page index.php :
<?php
 
	session_start();
 
	if(isset($_GET['action']) && $_GET['action'] == 'logout') {
		$_SESSION = array();
		session_destroy();
		session_start();
	}
 
	if(!isset($_GET['id'])) $_GET['id'] = 1;
	if(!isset($_GET['mid'])) $_GET['mid'] = 1;
	if(!isset($_SESSION['login'])) $_GET['id'] = "nc";
	
?>
 
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<title>TITRE DU SITE</title>
		<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
		<meta http-equiv="Content-type" content="image/png" />
		<meta http-equiv='Content-Style-Type' content='text/css' />
		<link rel="stylesheet" type="text/css" href="css/main.css" />
		<script type="text/javascript" src="js/jquery-1.2.3.min.js"></script>
		<script type="text/javascript" src="js/jquery.easing.min.js"></script>
		<script type="text/javascript" src="js/jquery.lavalamp.min.js"></script>
		<script type="text/javascript">
			$(function() {
				$(".lavaLamp").lavaLamp({
					fx: "backout",
					speed: 700
				})
			});
		</script>
	</head>
	<body>
		<div id="wrapper">
 
			<?php
 
				if(!isset($_SESSION['login'])) echo "<div id='headerTopNC'></div>";
				 else echo "<div id='headerTop'></div>";
 
			?>
 
			<div id="navbar">
				<div id="lavaWrapper">
					<ul class="lavaLamp">
						<li <?php if($_GET['id'] == 1) echo "class='current'"; ?>><a href="?id=1">Accueil</a></li>
						<li <?php if($_GET['id'] == 2) echo "class='current'"; ?>><a href="?id=2">Lien A</a></li>
						<li <?php if($_GET['id'] == 3) echo "class='current'"; ?>><a href="?id=3">Lien B</a></li>
						<li <?php if($_GET['id'] == 4) echo "class='current'"; ?>><a href="?id=4">Lien C</a></li>
						<li <?php if($_GET['id'] == 5) echo "class='current'"; ?>><a href="?id=5">Lien D</a></li>
					</ul>
				</div>
			</div>
			<?php
 
				if($_GET['id'] == 3) include("includes/menu_lienB.php");
				if($_GET['id'] == 4) include("includes/menu_lienC.php");
				if($_GET['id'] == 5) include("includes/menu_lienD.php");
 
			?>
		</div>
		<div id="memberbar">
        	<a class="account" href="subscription.php">Cr&eacute;er un compte</a>
			<?php include("includes/login.php"); ?>
		</div>
		<div id="content">
			<?php
 
				if($_GET['id'] == "nc") include("includes/non_connecte.php");
				if($_GET['id'] == 1) include("includes/accueil.php");
				if($_GET['id'] == 2) {} // la suite des pages...
 
			?>
		</div>
		<div id="footerBottom">
		</div>
		<p class="w3c">
			<a href="http://validator.w3.org/check?uri=referer">
				<img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0 Strict" height="31" width="88" />
			</a>
			<a href="http://jigsaw.w3.org/css-validator/check/referer">
				<img style="border:0;width:88px;height:31px" src="http://jigsaw.w3.org/css-validator/images/vcss-blue" alt="CSS Valide !" />
			</a>
		</p>
	</body>
</html>
Une idée ??

Merci