2015-06-16 73 views
0

我還沒有找到任何解決方案,我的問題,所以我決定問。我想在提交表單後重定向我的php腳本頁面,所以我在代碼末尾使用了標題!有趣的是,當我在本地主機上測試它時,它可以正常工作併成功重定向頁面,但是當我在遠程服務器上測試它時,它無法重定向頁面!當我提交表單時,它會轉到處理腳本並顯示一個空白頁面!我想知道有沒有人可以幫助我解決這個問題。PHP的重定向頁面只能在本地主機

,這裏是我的形式處理腳本代碼:

<?php require_once('Connections/db.php'); ?> 


<?php 

if (isset($_POST['submit'])) 
{ 
$name = mysqli_real_escape_string($connection, $_POST['name']); 
$email = mysqli_real_escape_string($connection, $_POST['email']); 
$subject = mysqli_real_escape_string($connection, $_POST['subject']); 
$message = mysqli_real_escape_string($connection, $_POST['message_area']); 

$sql = "INSERT INTO contact_messages (name, email, subject, message) 

VALUES ('$name', '$email', '$subject','$message')"; 

$result = mysqli_query($connection, $sql); 

if($result){ 
header('Location: http://www.mylink/index.htm'); 
exit(); 
} 
else{ 
    echo "ERROR: Could not execute the form " . mysqli_error($connection); 
} 
} 
?> 
+0

你讓'error_reporting'後檢查? ?你必須得到一些'頭已經發送錯誤' –

+0

我敢打賭我的屁股有問題的查詢。可能你沒有正確設置數據庫。啓用'error_reporting()'並再次檢查 –

+0

在標題(...)之前不應該有任何輸出(如echo .. ...);命令。 –

回答

3
<?php require_once('Connections/db.php'); ?> 


<?php 

if (isset($_POST['submit'])) 
{ 

更改您的上述代碼

<?php require_once('Connections/db.php'); 

if (isset($_POST['submit'])) 
{ 

,並刪除最後一個?>如果以後沒有HTML那。

之後,它應該工作。


要打開錯誤報告,將在ini_set('display_errors',1); error_reporting(E_ALL);你的PHP腳本的開始,你應該能夠看到這個錯誤。關於你所面對here

+0

當時,我正要發佈這個確切的東西.. – Rasclatt

+0

:)(更多13個字符) – Viral

+0

不知道這應該怎麼幫助。將'require_once()'封裝到自己的PHP標籤中是有效的。結尾處的PHP標籤也是如此。我不明白這是如何解決問題的,尤其是如果它在本地機器上運行的話 –

0

您正在打開,並在單php文件每次關閉PHP標籤問題

更多信息。 只是刪除結束標記形式第一行:

<?php require_once('Connections/db.php'); 

,並且還除去從第二行中的<?php標籤。

0

更改標題看起來像這樣會工作。或

header('Location: index.htm'); 

HTTP/1.1需要一個絕對URI作爲參數傳遞給»位置:包括方案,主機名和絕對路徑,但有些客戶接受相對URI。你通常可以使用$ _ SERVER [「HTTP_HOST」],$ _ SERVER [「PHP_SELF」]和目錄名()從一個相對自己做的絕對URI:

<?php 
/* Redirect to a different page in the current directory that was requested */ 
$host = $_SERVER['HTTP_HOST']; 
$uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\'); 
$extra = 'mypage.php'; 
header("Location: http://$host$uri/$extra"); 
exit; 
?> 
+0

感謝您的有用信息。 – MASUMEH

相關問題