2013-04-15 61 views
1

我想在一個標頭函數中傳遞一個URL中的變量。我知道我可以像這樣做 index2.php?ID=<?=$objResult["ID"];?>如果它不在頭部函數中。但是,如果我嘗試在頭函數中執行此操作,則整個腳本崩潰。我也試過這樣:在標頭函數中傳遞一個url中的變量

header("Refresh: 5;url=index2.php?ID=".$objResult["ID"].""); 

但提供了以下錯誤:

Warning: Cannot modify header information - headers already sent by (output started at /var/www/Mail/index.php:25) in /var/www/Mail/index.php on line 33

(第33行是標題行)

我的整個代碼是這樣的:

<?php 
if($_POST) 
{ 
    mysql_connect('localhost','root','root'); 
    mysql_select_db('NAW') or die (mysql_error()); 

    $Naam    = $_POST['naam']; 
    $Email    = $_POST['email']; 
    $Soort    = $_POST['soort']; 

    $sql = mysql_query("INSERT INTO Klant (Naam, Email, Soort) VALUES ('".$Naam."', '".$Email."', '".$Soort."')") or die (mysql_error()); 

    if ($sql === false) { 

     die (mysql_error()); 

    } 

    else { 

     echo ''.$Naam.' is in de database toegevoegd.<br><br>'; 

    } 

    $strSQL   = ("SELECT * FROM Klant WHERE Naam='".$Naam."'"); 
    $objQuery  = mysql_query($strSQL) or die ("Error Query [".$strSQL."]"); 
    $objResult  = mysql_fetch_array($objQuery); 

    header("Refresh: 5;url=index2.php?ID=".$objResult["ID"].""); 


    if($sql){ return 1; } else { return 0; } 

} 
?> 

如果有人能告訴我我做錯了什麼把我推向了正確的方向,那會很棒!

注:

我知道我不應該使用mysql_ *由於SQL注入,但因爲這個代碼將永遠在線且僅用於當地,這是沒有問題的

回答

5

你可以用」不要發出你的頭,如果有已經輸出到頁面,與您有:

echo ''.$Naam.' is in de database toegevoegd.<br><br>'; 

還有正是這一點,here關於一個偉大的答案。

+1

Thnx,這解決了這個問題,並確實對其他答案的一個很好的解釋! (我會盡可能地接受你的答案) – Daanvn