2016-07-11 12 views
0

Einstellung Dies ist meine VerzeichnisstrukturFehler während Cookies in PHP

main folder (public_html) 
index.php 

sub-folder1 
    subindex1.php 
    subfirst1.php 

sub-folder2 
    subindex2.php 
    subfirst2.php 

Das ist meine Verzeichnisstruktur. Hauptordner ist public_html. Ich habe zwei Unter folders- Unterordner 1 und Unterordner 2.

ich ein Skript in subfolder1 des subindex1.php leite ein Cookie in Unterordner2 so einzustellen, dass es durch subindex2.php zugegriffen werden kann

Diese Das mache ich jetzt.

Nach einigen Back-End-Berechnungen zu machen, ich habe die Einrichtung von Cookies wie dies von subindex1.php und führt dann eine Umleitung zu subindex2.php

setcookie('id', "", time() + 60 * 60 * 24 * 30, '/../sub-folder2/'); 
setcookie('token', "", time() + 60 * 60 * 24 * 30, '/../sub-folder2/');    
header("Location: ../sub-folder2/subindex2.php"); 

Seite umleitet aber Cookies sind nicht festgelegt werden.

Ist dies die Möglichkeit, den Cookie-Pfad zu definieren?

Antwort

1

Ihr Pfad ist falsch. Wenn Sie mit / beginnen, beginnen Sie mit Ihrem Stammverzeichnis. Verwenden Sie die folgenden Schritte aus:

setcookie('id', "", time() + 60 * 60 * 24 * 30, '/sub-folder2/'); // ../sub-folder2/ 
setcookie('token', "", time() + 60 * 60 * 24 * 30, '/sub-folder2/'); // ../sub-folder2/   
header("Location: ../sub-folder2/subindex2.php"); 

Überprüfen Sie im Handbuch here für irgendwelche Zweifel.

1

von PHP-Handbuch

Der Pfad auf dem Server, in dem das Cookie verfügbar sein wird. Wenn auf '/' gesetzt ist, ist der Cookie innerhalb der gesamten Domain verfügbar. Wenn auf '/ foo /' gesetzt ist, ist das Cookie nur im Verzeichnis/foo/ und in allen Unterverzeichnissen wie/foo/bar/der Domäne verfügbar. Der Standardwert ist das aktuelle Verzeichnis, dass das Cookie gesetzt wird, wird in

setcookie('id', "", time() + 60 * 60 * 24 * 30, '/../sub-folder2/'); 
setcookie('token', "", time() + 60 * 60 * 24 * 30, '/../sub-folder2/'); 

Änderung

setcookie('id', "", time() + 60 * 60 * 24 * 30, '/'); 
setcookie('token', "", time() + 60 * 60 * 24 * 30, '/'); 

oder Sie dies wollen nur nur für den Teil folder2 arbeiten dann.:

setcookie('id', "", time() + 60 * 60 * 24 * 30, '../sub-folder2/'); 
setcookie('token', "", time() + 60 * 60 * 24 * 30, '../sub-folder2/');