Page 1 sur 1

Condition session_start();

Posté : 15 janv. 2013, 12:53
par willmx
Bonjour,

Je n'arrive pas à comprendre les conditions qui se trouve dans un bout de code d'un site que je reprend.
<?php
    session_start();
    if (!isset($_SESSION['iduser'])) {
        header('location: ../index.php');
        exit();
    } else {
        if ((!isset($_SESSION['cat'])) || (!in_array($_SERVER['PHP_SELF'], $_SESSION['cat']))) {
            header('location:accueil.php');
            exit();
        }
    }
?>
Mon soucis, la page acceuil.php inclus ce code ci-dessus qui se trouve dans un autre fichier. Tel quel, Firefox me renvoie un "La page n'est pas redirigée correctement".
Quand je retire la condition :
else {
        if ((!isset($_SESSION['cat'])) || (!in_array($_SERVER['PHP_SELF'], $_SESSION['cat']))) {
            header('location:accueil.php');
            exit();
        }
    }
Ma page est bien redirigé vers l'acceuil, avec les menus qu'ils vont bien une fois identifié.
Pouvez-vous m'expliquez ce que veut dire ce que je retire.

Merci d'avance,
William

Re: Condition session_start();

Posté : 15 janv. 2013, 15:55
par xTG
N'aurais-tu pas une succession de header() se renvoyant la balle d'un script à un autre ?

Re: Condition session_start();

Posté : 15 janv. 2013, 17:21
par willmx
N'aurais-tu pas une succession de header() se renvoyant la balle d'un script à un autre ?
Je suis en trin de faire le ménage dans le code, il a été vu et corrigé par plusieurs personnes, et j'ai bien l'impression qu'il y a des doublons. Mais je ne comprend pas pourquoi en supprimant ce bout de code, ça fonctionne très bien.

Re: Condition session_start();

Posté : 15 janv. 2013, 21:31
par xTG
Si tu as un header qui redirige vers un script qui fait un header cela peut occasionner le message que tu as.