2017-08-19 2 views
-2

zu geben Ich versuche, diesen Code zu verwenden, um Sitzungen zu behandeln, und wenn der Benutzer nicht angemeldet ist, sollte er/sie weitergeleitet werden Zuhause.

Allerdings muss der Pfad, den ich innerhalb des Headers (Speicherort) geben muss, ein absoluter pat sein, da ich diese Sitzung über die Seiten in verschiedenen Ordnern verwende.

Dafür versuche ich die $_SERVER['DOCUMENT_ROOT'] Root-Verzeichnis globale Variable zu verwenden. Aber mein Code funktioniert nicht.

Kann mir bitte jemand sagen, was mit diesem Code falsch

<?php 

session_start(); 
if (!isset($_SESSION['ID'])){ 
    header("Location:" . $_SERVER['DOCUMENT_ROOT'] . "/page1/page2/index.html"); 
} 

?> 
+3

'$ _SERVER [ 'DOCUMENT_ROOT']' ist das Dateisystem Pfad zum Dokument Wurzel, nicht die URL. Die URL zum Dokumentenstammverzeichnis ist '/', es sei denn, Sie haben Ihren Code in einem Unterordner. Verwenden Sie daher 'Location:/page1/page2/....' –

+0

Sie müssen * "Not working" * definieren. Irgendwelche Fehler? http://php.net/manual/en/function.error-reporting.php –

Antwort

1

$_SERVER['DOCUMENT_ROOT'] ist ein absoluter Pfad auf dem Dateisystem des Servers, nicht der relative Pfad vom Browser zugänglich.

In diesem Fall wird die folgende erreichen, was Sie wollen:

header("Location: /page1/page2/index.html"); 
+0

ty hat es funktioniert :) –

Verwandte Themen