2017-08-10 33 views
0

我的PHP標題重定向不起作用,我似乎無法弄清楚爲什麼。我已經閱讀了很多問題,而且我嘗試過的東西似乎都不起作用。表單不重定向後在PHP中提交標題位置不工作

<?php 
define('DBHOST','shareddb1d.hosting.stackcp.net'); 
define('DBUSER','JoplinLeftHand-3231135a'); 
define('DBPASS','Banoodle1!'); 
define('DBNAME','JoplinLeftHand-3231135a'); 

$link = mysql_connect(DBHOST, DBUSER, DBPASS); 

if (!link) { 
    die('Could Not Connect: ' . mysql_error()); 
} else { 
    echo "You Are Connected<br>"; 
} 

$db_selected = mysql_select_db(DBNAME, $link); 

if (!$db_selected) { 
    die('Can\'t Use ' . DBNAME . ': ' . mysql_error()); 
} else { 
    echo "Database Selected"; 
} 
$tid = $_POST['tid']; 
$first = $_POST['first']; 
$last = $_POST['last']; 
$zip = $_POST['zip']; 
$descrip = $_POST['descrip']; 

$sql = "INSERT INTO tracking (tracking_id, tracking_first, tracking_last, tracking_zip, tracking_descrip) VALUES ('$tid', '$first', '$last', '$zip', '$descrip')"; 

if (!mysql_query($sql)) { 
    die('Error: ' . mysql_error()); 
} else { 
    header("Location:/?p5"); 
} 
+0

您很容易受到SQL注入攻擊,您需要修復此問題。 mysql_ *函數已被棄用,您需要使用mysqli或PDO。 – Enstage

回答

1

header('Location: ...');必須是腳本的第一個輸出,否則它將不起作用。您正在使用echo兩次,在這裏執行重定向之前:

echo "You Are Connected<br>"; 

這裏:

echo "Database Selected"; 

此外,一些客戶要求在Location頭中傳遞的URL是絕對URL,而不是相對的,例如:

header("Location: http://example.com/?p5"); 
+0

謝謝。這絕對是問題。 –

相關問題