2015-02-09 9 views
5

Robię projekt bazy danych dla uniwersytetu i mam problem z tutaj. Próbuję pokazać "zalogować się", gdy nie ma sesji i "wylogować się", gdy jest sesja. Ale nawet po zalogowaniu się nadal pokazuje mi "logowanie" i próbowałem print_r ($ _ SESSION); a ona mi mówi, że zmienna jest niezdefiniowana

Mam plik wylogowania:

<?php 
session_start(); 
session_destroy(); 
header("Location:index.php"); 
?> 

i init.php plik:

<?php 
session_start(); 
?> 

init.php nazywa, kiedy się zalogować.

Oto część index.php:

<?php 
    require 'db/connect.php'; 
    require 'functions/security.php'; 
    ?> 

    <html> 
     <head> 
      <title>Home</title> 
      <meta charset="UTF-8"> 
      <link rel="stylesheet" href="css/common.css"> 
     </head> 
     <body> 
      <div id="linking">  
    <?php 
    //print_r($_SESSION); 
    if (session_status() === PHP_SESSION_NONE) { 
     ?> 
        <a href="login.php">Log In</a>   
        <?php 
       } else { 
        ?> 
        <a href="logout.php">Log Out</a> 
        <?php 
       } 
       ?> 
       <a href="new_customer.php">Register</a> 
       <a href="trips.php">Search for trips</a> 
      </div> 
      <hr> 
      <section id="section"> 
+0

Trzeba zadzwonić 'session_start()' iv ** każdy plik **. To powiedziawszy, wstawienie 'session_start()' na samym początku 'index.php' może załatwić sprawę. – mudasobwa

+2

@AhosanKarimAsik To jest gorsza rada – Daan

+0

Chodzi o to, że wymagałem init.php na szczycie index.php, a potem zawsze mam sesję uruchomioną, nie? –

Odpowiedz

3

kiedy twój login powiod się na stronie logowania.

session_start(); 
$_SESSION['user_logged_in'] = true; 

na stronie wylogowania

session_start(); 
unset($_SESSION['user_logged_in']); 
session_destroy(); 

na stronie głównej

<?php 
    session_start(); 
    if(isset($_SESSION['user_logged_in'])) { 
?> 
    < a href='logout.php'>Logout</a> 
<?php 
    } 
else { 
?> 
    < a href='login.php'>Login</a> 
<?php 
    } 
?> 
+0

To rozwiązało mój problem, dziękuję bardzo –

Powiązane problemy