PHP $_SESSION variable ne sera pas annuler

désolé pour la répétition de la question, j'ai vu un peu sur ce forum, mais aucune des réponses a fonctionné pour moi...

Je suis la construction d'une base de connexion à l'aide de sessions php, je suis nouveau...

login.php valide html formulaire de connexion et commence une session, la définition de variables: $_SESSION['login'] et $_SESSION['id],

puis chaque page qui nécessite une connexion valide utilise require 'session.php'; qui vérifie la $_SESSION['valid'] variable et redirige l'utilisateur w/o bonne connexion variable. Le problème, c'est quand je déconnexion ni variable de session, j'ai mis en sera annulée.

Maintenant mon logout.php fichier utilise à propos de chaque méthode pour détruire les variables que j'ai pu trouver en ligne et aucun ne le faire réellement.

Donc à chaque fois que je me déconnecte, je peux toujours accéder au "privé", pages.

Également note: j'ai essayé w/o un nom de session ex: session_start(); qui n'a pas fonctionné alors maintenant, je suis en utilisant session_start("user");

Également note: je ne suis PAS en utilisant des cookies.

Voici les fichiers que j'ai mentionné:


login.php


$email=$_POST['email-log']; $pass=$_POST['password-log'];

$i=-1;

do
{$i++; $path="users/".$i.".json";
$file=  file_get_contents($path);
$x=json_decode($file,true);
} while($x['email']!=$email);
$id=$i;
$truepass=$x['pass'];

$errors=0;
$hash=hash('sha256',$pass);
if($hash != $truepass){$errors=$errors+1;}

if($errors==0){
        session_start("user");
        $_SESSION['login']="valid";
        $_SESSION['id']=$id;

    header('Location: loginlanding.php');}

else{header('Location: front.php?error=y');}

session.php


session_start("user"); if($_SESSION['login'] !== "valid") {header('Location: front.php?needto=login');}

logout.php


unset($_SESSION); unset($_SESSION['login']); unset($_SESSION['id']); session_unset("user"); $_SESSION=array(); session_destroy("user"); header('Location: front.php?logged=out');

Tout et toutes les réponses sont les bienvenus et je vous en remercie d'avance, aussi remarque, je suis nouveau à des connexions en général donc, tous les conseils pour renforcer la sécurité est la bienvenue également. J'ai l'intention de le rendre plus sûr, mais d'abord j'ai besoin d'obtenir cette fonctionnalité de base et en cours d'exécution.

Il semble évident, mais juste pour être clair, lorsque quelqu'un se connecte, vous forcer à aller à l'logout.php la page?
Est-il sain d'esprit la raison pour quiconque de faire écrire ce genre de code eux-mêmes en 2012?

OriginalL'auteur B Rad C | 2012-09-06