2013-12-21 84 views
1

在這裏有一個WordPress的問題。我想要的頁面到一個特定的PHP文件重定向文件夾(PHP/adminpage.php)每當$_SESSION變量等於1。比方說,會話變量是1裏面:WordPress標題位置重定向

<?php 
if ((isset($_SESSION['login']) && $_SESSION['login'] == '1')) { 
header ("Location: php/adminpage.php"); 
?> 

但瀏覽器返回「未找到」。任何方式使它起作用?

UPDATE [已解決]:使用完整路徑的作品。感謝@andrewsi。工作代碼:

<?php session_start(); 
if ((isset($_SESSION['login']) && $_SESSION['login'] != '')) { 
header ("Location: wp-content/themes/euro/php/adminpage.php"); 
} 

>

+0

似乎php/adminpage.php根本不存在。這條路是否真的正確? –

+0

是這個代碼在網站的根目錄中的頁面? – 2013-12-21 19:14:02

+0

是的,它確實存在,它位於:「** C:\ wamp \ www \ wordpress \ wp-content \ themes \ euro \ php **」 –

回答

1

您使用相對路徑:

header ("Location: php/adminpage.php"); 

這將尋找以下在當前文件夾,並在裏面尋找adminpage.php

但是,WordPress使用頁面名稱和.htaccess做了一些有趣的事情,所以您當前的頁面可能不在您期望的位置;通常總是使用完整路徑會更好,因爲這個路徑很少含糊:

header(「Location:/wp-content/themes/euro/php/adminpage.php」);

並且在調用它之後也不要忘記exit,因此代碼執行將停止在您重定向的頁面上。

0

這是一個實際的URL地址?

header ("Location: php/adminpage.php"); 

在我看來,它似乎是一個文件系統路徑。因爲你的本地設置在這個URL:

localhost 

然後這將是該文件的位置?

localhost/php/adminpage.php 

另外,我會收拾你的代碼如下所示:

<?php 
if (array_key_exists('login', $_SESSION) && isset($_SESSION['login']) && intval($_SESSION['login']) == 1)) { 
    header("Location: php/adminpage.php"); 
    } 
?> 

使用array_key_exists可以防止未設置索引錯誤&使用intval你放心,有一個地方的數值。

+0

該文件的位置是'C:\ wamp \ www \ wordpress \ wp-content \ themes \ euro \ php'並且他將代碼放置在的文件位於'C:\ wamp \ www \ wordpress \ wp-內容\主題\ euro'。請參閱原始文章中的評論 – alexpja