2017-05-29 93 views
0

我有兩個幾乎相同的PHP函數都運作,但由於某種原因頭只會運行在第一個。我不知道爲什麼會發生這種情況。我看過一些類似標題的帖子,但沒有解決或與我有問題相同,因此請不要刪除此問題。我嘗試刪除關閉的PHP標籤沒有幫助我已經嘗試了一切你可以想象,但沒有雪茄。代碼在代碼的末尾肯定作爲echo的工作運行,所以exit();但由於某種原因頭不起作用。任何幫助將不勝感激,我會嘗試任何事情。也是我需要這個工作的原因是,當頁面刷新時,它不會重新提交表單。我知道這不是什麼可以繼續下去,所以隨時問我問題。php頭問題不會重複功能

function setComments($conn){ 
if (isset($_POST['commentsubmit'])) { 

    $uid = $_POST['uid']; 
    $date = $_POST['date']; 
    $message = mysqli_real_escape_string($conn, $_POST['message']); 

    $sql = "INSERT INTO comments (uid, date, message) values('$uid','$date', '$message')"; 


    $result = mysqli_query($conn,$sql); 
    header("Location: videos.php"); 

} 

}與改變

重複的代碼。

function setComments2($conn){ 

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

    $uid = $_POST['uid']; 
    $date = $_POST['date']; 
    $message = mysqli_real_escape_string($conn, $_POST['message']); 

    $sql = "INSERT INTO comments2 (uid, date, message) values('$uid','$date','$message')"; 

    $result = mysqli_query($conn,$sql); 
    header("Location: home.html"); 

} 

}

+0

相對於具有這些功能的腳本,是在相同路徑級別的videos.php和home.html? (這意味着其中一個不在另一個目錄中) –

+0

是的,他們都在同一個目錄中,我只是在家中使用,以便我可以直觀地看到標題是否工作,而不必刷新頁面。我嘗試過用videos.php,但它仍然無法工作。 – moderategamer

+0

這些函數(header()調用)是否位於其他代碼之後? PHP.net說道:「請記住,在發送任何實際輸出之前,必須調用header(),或者通過普通的HTML標籤,文件中的空行或PHP來發送。使用include讀取代碼是一個非常常見的錯誤,或需要,函數或其他文件訪問函數,並且在調用header()之前輸出空格或空行,使用單個PHP/HTML文件時也存在同樣的問題。 –

回答

0

頭函數調用進行了定位之後的其他代碼。

PHP.net這樣說:

「請記住,標題()必須被調用任何實際輸出 發送,無論是普通的HTML標記,空行的文件,或者從PHP 使用include或require, 函數或其他文件訪問函數讀取代碼,並在調用header()之前輸出空格或空的 行是非常常見的錯誤。使用同樣的問題 一個PHP/HTML文件「。