2015-02-09 8 views
5

Ich mache ein Datenbankprojekt für die Universität und ich kämpfe mit einem Problem hier. Ich versuche "einloggen" wenn es keine Sitzung gibt und "abmelden" wenn es eine Sitzung gibt. Aber tatsächlich, auch nachdem ich mich einloggen, zeigt es mir immer noch "einloggen" und ich habe versucht, print_r ($ _ SESSION); und es sagt mir, dass die Variable nicht definiert ist

Ich habe eine Abmelde Datei:

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

und eine init.php Datei:

<?php 
session_start(); 
?> 

init.php aufgerufen wird, wenn ich mich einlogge.

ist hier ein Teil der 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

Sie müssen rufen 'session_start()' iv ** ** jeder Datei. Das heißt, das Setzen von 'session_start()' am Anfang von 'index.php' wird den Trick machen. – mudasobwa

+2

@AhosanKarimAsik Das ist ein schlechterer Ratschlag – Daan

+0

Die Sache ist, ich brauche init.php oben auf index.php und dann habe ich immer eine Sitzung begonnen, nicht? –

Antwort

3

Wenn Ihre Anmeldung erfolgreich auf der Anmeldeseite ist.

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

im Logout-Seite

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

in Ihrer Startseite

<?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

Das hat mein Problem gelöst, vielen Dank –