Problème de redirection

Résolu/Fermé
katsuo49 Messages postés 330 Date d'inscription vendredi 19 juin 2009 Statut Membre Dernière intervention 11 novembre 2014 - 31 juil. 2013 à 14:51
katsuo49 Messages postés 330 Date d'inscription vendredi 19 juin 2009 Statut Membre Dernière intervention 11 novembre 2014 - 2 août 2013 à 06:13
Bonjour,

plusieurs jour que j'essais de résoudre ce problème de redirection.

J'ai jamais eut de problème pour utiliser un header('Location: ...'); et là ça coince.
J'ai systématiquement firefox qui me pète cette erreur :
La page n'est pas redirigée correctement
        
          Firefox a détecté que le serveur redirige la demande pour cette adresse d'une manière qui n'aboutira pas.
        
  La cause de ce problème peut être la désactivation ou le refus
    des cookies.

Je ne la comprend pas du fait que celle ci apparaît juste après un clique sur mon bouton de connexion (juste après avoir saisie login et mdp). La redirection est faite juste après enregistrement de variables SESSION. J'ai aussi tenté en remplaçant le header par un lien simple et j'ai la même erreur.

Je précise que j'ai vérifié il n'y a aucun affichage avant la redirection.

Le code du début de index.php (après c'est juste un switch pour include le bon fichier pour l'affichage).
<?php
require_once('pages/exceptions.php');
require_once('pages/Bd.php');
require_once('pages/Panier.php');
require_once('pages/User.php');
require_once('pages/fonctions.php');
session_start();
$bd = new Bd($host, $database, $user, $password);
/* Complément de page */
if(isset($_GET['page']))
{
	if($_GET['page'] == 'connexion')include('pages/connexion_avant.php');
	if($_GET['page'] == 'boutique')include('pages/boutique_avant.php');
	if($_GET['page'] == 'panier')include('pages/panier_avant.php');
}
?>
<!DOCTYPE html>
<html>


Le code qui coince (connexion_avant.php) :
<?php
if(isset($_POST['login']) AND $_POST['login'] != null AND isset($_POST['mdp']) AND $_POST['mdp'] != null)
{
	$droit = $bd->verifMotDePasse($_POST['login'],$_POST['mdp']);
	if($droit != null)
	{
		$_SESSION['login'] = $_POST['login'];
		$_SESSION['mdp'] = sha1($_POST['mdp']);
		$_SESSION['droit'] = $droit;
		if(isset($_GET['panier']) AND $_GET['panier'] == 1)
		{
			header('Location: index.php?page=panier');
			//echo '<a href="index.php?page=panier">redir</a>';
		}
		else
		{
			header('Location: index.php');
		}
	}
	else
	{
		$droit = -1;
	}
}
if(isset($_SESSION['login']) AND $_SESSION['login'] != null AND isset($_SESSION['mdp']) AND $_SESSION['mdp'] != null AND isset($_SESSION['droit']) AND $_SESSION['droit'] != null)
{
	$droit = -3;
}
else
{
	$droit = -2;
}
?>


Merci d'avance si quelqu'un a une idée.

2 réponses

Lord Zero Messages postés 459 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 15 juin 2018 115
Modifié par Lord Zero le 1/08/2013 à 12:36
Salut,
header('Location: index.php?page=panier.php')
ou
header('Location: index.php?page=Panier.php')
Evite les majuscule dans le nom de tes pages.

Développeur VB6, VBS, VBA, VB.NET, C#, HTML, PHP, JAVASCRIPT, SQL.
0
katsuo49 Messages postés 330 Date d'inscription vendredi 19 juin 2009 Statut Membre Dernière intervention 11 novembre 2014 25
2 août 2013 à 06:12
pas de majuscules dans mes noms de pages. Les seules fichiers avec une majuscules sont des objets qui sont inclus sans aucuns soucis j'ai bien vérifié.
0