2013-04-04 88 views
-1

已解決,我錯過了添加文件夾路徑。最近重組了我的服務器,從而給我造成了一個問題。PHP頭問題(),重定向到父目錄中的HTML頁面

當我試圖重定向到父目錄中的HTML頁面時,遇到了PHP中header()的問題。我試圖在論壇中找到一些答案,但沒有成功。

我已經嘗試使用../above.html和完整的地址http://www.test.com/above.html沒有成功。另外值得一提的是,我發送一個隱藏的輸入redirrURL,但我已檢查,我得到正確的地址。

這是我的代碼看起來是現在,但我不斷收到404:

$redirrURL = $_POST['pageType']; 
header("Location: $redirrURL"); 

這就是我所說的,使用的標題()的PHP文件;

<form method="post" action="rateBarFunction.php"> 
      <td> 
       <input type="hidden" name="pageType" value="<? echo $redirrURL ?>" /> 
       <select name="grade"> 
        <option value="" style="display:none;"></option> 
        <option value="5">5</option> 
        <option value="4">4</option> 
        <option value="3">3</option> 
        <option value="2">2</option> 
        <option value="1">1</option> 
       </select> 
       <input type="submit" name="submit"/> 
      </td> 
     </form> 
<?php 
    echo "</tr>"; 
} 
echo "</table>"; 
?> 

它不起作用,因爲我使用header()後回顯HTML代碼?

+0

您是否遇到PHP錯誤?那麼錯誤是什麼? – Jocelyn 2013-04-04 17:02:25

+0

用戶是否指向了正確的URL? – PeeHaa 2013-04-04 17:11:36

+0

我沒有得到任何PHP錯誤,只有我得到的是404 - 沒有找到..我在我的HTML文檔上使用了相同的文件名,我試圖重定向到。 – Burro 2013-04-04 17:12:19

回答

0

不,你沒有得到這個錯誤,因爲頭()/呼應。這應該沒問題。

但是你想要做什麼?在表單中,您有'ratebarFunction.php'這個動作。這是要執行的操作,除非您在onSubmit事件期間通過JavaScript替換操作。如果你在這個表單上得到404,那麼沒有有效的URL'ratebarFunction.php'。

您可以輕鬆測試404。只需轉到您的頁面的源代碼,並通過點擊它打開字段值中的URL。當它出現時,它會起作用。否則,語法不正確。最簡單的解決方法是在任何瀏覽器中創建正確的URL並將其放入字段值中。

'../x.php'是一個文件的方法。它對URL的工作方式不同,在PHP中,使用$ _SERVER ['DOCUMENT_ROOT']可以更容易地解決它。我建議你總是使用絕對URL,因爲當你決定把你的php文件放到另一個目錄時它們不會失敗。超全球$ _SERVER等將幫助你。

+0

感謝您的答案,我自己的重組與服務器上的文件夾導致了這個問題......有沒有辦法消除這個問題? – Burro 2013-04-04 17:36:14

+0

我認爲你(和我)需要更多的聲望點纔有權刪除問題。此外,這不是一個問題。我們都犯這樣的錯誤。很多問題是人爲錯誤的原因。有了這個問題和答案(如果你接受它),其他人可以得到幫助。 – 2013-04-04 17:40:50

+1

啊是的,好的老人因素。我想這個問題可以留下來,因爲它可能會幫助別人。 – Burro 2013-04-04 17:47:44

0
  <input type="hidden" name="pageType" value="<? echo $redirrURL ?>" /> 
           ^^^^^^^^^^^^^^^ 

所以你需要使用

$_POST['pageType']; 
+0

對不起,一定寫錯了。它在兩個地方都是pageType,所以不是這樣... – Burro 2013-04-04 17:10:13

+0

然後,$ redirrURL是否在PHP代碼中設置?在提交表單之前,url是否實際顯示在html中? – 2013-04-04 17:11:58

+0

它在我提交之前顯示,並且URL匹配文件名。 HTML文件位於父目錄中,我使用../fileToReach.html。我現在很困惑,事情是它在服務器上創建了一個包含文件夾的結構之前就工作了。現在它的結構爲「公用文件夾」(root) - > PHP文件夾,而我試圖訪問的HTML文件位於「公用文件夾」中。 – Burro 2013-04-04 17:19:30