Variable de session php qui existe avant meme d'avoir été créé

Azee

Azee Le 9 novembre 2016 à 13:36 (Édité le 25 janvier 2019 à 17:52)

Bonjour ami programmeur !!!

Je suis en train de créer un script PHP de login, mais petit problème (lire le titre 😄).

Voici mon code : 
<?php
session_start();
//Verification du parametre passe lors de la connexion, si true = user valide
    if(isset($_SESSION['all_info_ok'])){
        if($_SESSION['all_info_ok'] == true){
//Recuperation de l'@ mail passe lors de la connexion
            $mail = $_SESSION['user_email'];
//On verifie que l'utilisateur existe
            $db_req_all_users = $db -> prepare('SELECT * FROM users WHERE mail = ?');
            $db_req_all_users -> execute(array($mail));
            
            $user_exist = $db_req_all_users -> rowCount();
            if($user_exist == 1){
//On definit les droits de l'utilisateur et on verifie si il a ete verifie
                $user_info = $db_req_all_users -> fetch();
                if($user_info['user_verificate'] == 1){
                    $_SESSION['account_type'] = $user_info['account_type'];
                    $actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
                    if(strpos($actual_link, 'app') == false){
                        header('Location:/app');
                    }
                }else{
                    $_SESSION['user_no_verificate'] = true;
                    header('Location:/login');
                }
            }
        }else{
            header('Location:/login');
        }
    }else{
        header('Location:/login');
    }
?>
Cette variable existe avant meme qu'elle soit créé : $_SESSION['all_info_ok'], je ne trouve pas pourquoi ...
Merci d'avance !
Johan-Krn

Johan-Krn Le 9 novembre 2016 à 21:24

Bonjour parfois quand on travail avec les variable il y a des bug après donc ce que je pense c'est en testant ton code tu a créer la session et elle c'est pas détruite essayer toute en haut de ton code après le session_start(); de mettre sa
unset($_SESSION['all_info_ok']); // pour détruire la variable de session "all_info_ok"
exit(); // pour pas que le reste de ton script s’exécute 
tu actualise ta page normalement toute est blanc ensuite tu peut enlever les deux lignes normalement la session "all_info_ok" devrais plus exister
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte