2016-04-28 3 views
-1

Ich habe ein Problem, wenn der Benutzer bereits registriert ist Ich gehe zurück mit der Schaltfläche im Browser und diese Seite leitet mich nicht um, ich habe einen Code, so dass wenn Sie eine registrierte eingeben Benutzer sendet es an ein bestimmtes Web. präsentiert „Diese Seite kann nicht angezeigt werden“ nein ich mich umleiten obwohl ich einen Code haben, der dieseSchalten Sie die Seite zurück in PHP-Code ist falsch

if (isset ($ _ SESSION ['email'])) 
    { 
    header ("location: sesion.php"); 
    exit(); 
} 

ist, was das Problem ist

+6

gibt es wirklich Räume in diesem? '$ _ SESSION' –

+2

wenn Sie im Browser zurückklicken, Browser Cache-Seite statt neue Seite aufrufen –

Antwort

0

Sie haben zwei Probleme. Zuerst wird die Seite normalerweise vom Browser zwischengespeichert. Dies kann behoben werden, indem die Seite so eingestellt wird, dass sie nicht passt (eine der folgenden Methoden muss nicht alles tun).

In PHP oben auf der Seite:

session_start(); 
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0"); 
header("Cache-Control: post-check=0, pre-check=0", false); 
header("Pragma: no-cache"); 

In .htaccess:

<filesMatch "\.(html|htm|js|css)$"> 
    FileETag None 
    <ifModule mod_headers.c> 
    Header unset ETag 
    Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate" 
    Header set Pragma "no-cache" 
    Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT" 
    </ifModule> 
</filesMatch> 

Zweitens hat Ihr Code mehr Platz:

if (isset($_SESSION['email'])) { 
    header("location: sesion.php"); 
    exit(); 
} 
+0

ohh mein Gott :(Wenn ich den Code vor allem die Ausfahrt(); die Seite nicht laden, nicht übergeben nicht zeigen mir die Nachricht, die auf der Seite nicht Datensätze für den Benutzer ist wie wenn, wenn der erste Code stop. :(:(:( –

+0

Jede Chance, Sie versuchen, dies in der session.php ausführen und es erstellt eine Endlosschleife? –

+0

Außerdem müssen Sie session_start(); als erste Zeile des Codes. Stellen Sie sicher, dass kein Leerzeichen oder irgendetwas vor –

0

ich es haben diese ist mein Code in der oberen

i have it 
 
this is my code in the top 
 
[code]<?php 
 

 
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0"); 
 
header("Cache-Control: post-check=0, pre-check=0", false); 
 
header("Pragma: no-cache"); 
 
session_start(); 
 
//================problema 
 

 
if (isset($_SESSION['email'])) { 
 
    header ("location: sesion.php"); 
 
    exit(); 
 
} 
 

 
//================problema 
 

 
//pregunta si existe el pass segundo del formulario con esto no puede entrar a la web por el link si no se esta registrando 
 
if(!isset($_POST['rpass'])){ 
 
header('Location: ../../index.php'); 
 
exit(); 
 
}[code]

+0

das ist, was ich dir gesagt habe, und es funktioniert perfekt? Warum eine zweite Antwort geben, anstatt meine zu überprüfen? –

Verwandte Themen