2016-05-02 5 views
0

Ich muß der Benutzer geht zurück auf index.php Sitzung jedes Mal zurückgesetzt werden, in dem Index i erhieltSeltsame PHP-Session Verhalten - setzt alle Werte

<?php 
    session_start(); 
    if(isset($_SESSION['prevail'])) session_unset(); 
?> 

wo $_SESSION['prevail'] ersten Sitzungsvariable ist, die auf dem festgelegt ist Nächste Seite. In dem Moment, wenn ich eine Seite besuche, wird die Sitzung zurückgesetzt, so wie sie index.php vor dem Laden der Seite geladen hat (mit ist nicht möglich, weil ich dauerhafte Links zu Seiten verwende und sie keine Header freigeben.)

It auch passiert, wenn ich in anderen Dateien setzte session_destroy().

auf dem Server, die App im Verzeichnis public_html/app ist und in public_html ist Wordpress installiert. App hat es aber eigene Sub-Domain ist. Jeder möglicher Vorschlag geschätzt werden :)

+0

Hat Sie Browser Cookies blockieren? Wenn ja, gibt es die Sitzungs-ID in der Anforderungszeichenfolge? Andernfalls weiß Ihr Skript nicht, welches die aktuelle Sitzung ist und erstellt ein neues. –

+0

Cookies funktionieren korrekt, Sitzungs-ID scheint korrekt zu funktionieren – Mqati

Antwort

-2

Ich muss Sitzung jedes Mal zurücksetzen, wenn der Benutzer zu index.php

zurückgeht

werde ich Code unten verwenden, um so zu tun: index.php

<?php 
session_start(); 

if(!empty($_SESSION['prevail'])) { 
    unset($_SESSION['prevail']); // only unset that session 
} 

try this ..;)

+1

Keine Notwendigkeit, 'isset()' und '! Empty()' in der gleichen if-Klausel zu verwenden – Epodax

+0

Ich möchte Sitzung, nicht die vorherrschende Variable, mehr mehr, es es ist immer noch ein Problem, weil es auch dann nicht angezeigt wird, wenn ich andere Seiten als index.php besuche (der nicht gesetzte clausule ist nur in index.php) – Mqati