2013-02-26 251 views
-1

我正在使用一個包含顯示名稱和一個整數值的形式。 (Submit按鈕名= choose_pagephp提交重定向不起作用

當我單擊表格的提交按鈕,我想重定向到一個頁面的值。

我不認爲我錯過了什麼。

if(isset($_POST['choose_page'])) { 
    $id = (int)$_POST['select_edit_page']; 
header('Location: http://mysite.com/admin/editor.php?page='+$id); 
    } ?> 



<form name="pagina_post" method="post" action="/admin/editor.php"> 
<select name="select_edit_page" id="pagina1"> 
<option value='0' >index.php 
    </option><option value='1' >foo2.php 
    </option><option value='2' >bar.php 
    </option><option value='5' >foo.php 
    </option><option value='8' >bla.php 
    </option><option value='9' >links.php 
    </option><option value='10' >foooo.php 
    </option></select> 
<input type="submit" value="Select" name="choose_page"> 
</form> 

我接收頭已經發送的錯誤。我怎樣才能解決這個問題?

在此先感謝。

+0

後的完整的HTML代碼,並檢查是否有 – Samy 2013-02-26 10:30:25

+0

你調試前詢問這裏的第一開口PHP的標籤即<?PHP之前的任何空間?這很傷心。無論如何,使用點符號而不是加號。 。 - > + – iiro 2013-02-26 10:31:08

+0

檢查這個鏈接,它詳細解釋了這個話題:http://stackoverflow.com/questions/8028957/headers-already-sent-by-php – 2013-02-26 10:33:04

回答

3

改變這個

header('Location: http://mysite.com/admin/editor.php?page='+$id); 

header('Location: http://mysite.com/admin/editor.php?page=' . $id); 
exit();             ^// concatenation problem 
+0

這並沒有解決我的頭已經發送錯誤。有沒有解決方法? – Rob 2013-02-26 10:30:50

+0

@Robuust查看編輯。 – 2013-02-26 10:32:26

0

試試這個

header('Location: http://mysite.com/admin/editor.php?page=$id'); 
+2

這不適用於單引號。如果要對字符串中的變量進行評估,則必須使用雙引號。否則,它只會輸出$ id(作爲字符串,而不是'$ id'的實際值)。 – Quasdunk 2013-02-26 10:32:43