2013-08-20 56 views
0

嘿,我正在學習一些來自lynda.com的教程。 而在本教程中,我們正在製作一個CMS。 我按照教程中的步驟進行操作,即使從lynda.com獲得文件,其完美程度也一樣,但是在教程中它的工作原理與當我這樣做時標題位置不起作用。標題位置不起作用

<?php require_once("includes/connection.php"); ?> 
<?php require_once("includes/functions.php"); ?> 
<?php error_reporting(E_ALL); ini_set('display_errors', 'On'); ?> 

<?php 
$menu_name = $_POST['menu_name']; 
$position = $_POST['position']; 
$visible = $_POST['visible']; 
?> 
<?php 
$query = "INSERT INTO subjects (
      menu_name, position, visible 
     ) VALUES (
      '{$menu_name}', {$position}, {$visible} 
     )"; 
$result = mysql_query($query, $connection); 
if ($result) { 
    // Success! 
    header("location:content.php"); 
    exit; 
} else { 
    // Display error message. 
    echo "<p>Subject creation failed.</p>"; 
    echo "<p>" . mysql_error() . "</p>"; 
} 
?> 

<?php mysql_close($connection); ?> 

,我得到的是遵循

Warning: Cannot modify header information - headers already sent by (output started at  /Applications/MAMP/htdocs/Widgetcorp/create_subject.php:5) in /Applications/MAMP/htdocs/Widgetcorp/create_subject.php on line 19 
+0

由於您沒有使用任何其他數據,因此您不應該在不同的php標籤中分離您的php。一切都可以包裹在標籤中。我認爲標題錯誤來自兩個標籤之間的空行。 (第4行) - 請參閱:http://stackoverflow.com/questions/8028957/headers-already-sent-by-php –

回答

2

使您的代碼這樣

<?php 
error_reporting(E_ALL); 
ini_set('display_errors', 'On'); 

require_once("includes/connection.php"); 
require_once("includes/functions.php"); 

$menu_name = $_POST['menu_name']; 
... 

沒有這一切不必要的打開/關閉PHP標籤。

請注意,第5行在錯誤消息中明確指出是原因。總是讀取錯誤消息。他們是有幫助的。

+0

只要按照教程只從本週學習PHP :)謝謝btw它的解決。 – Garneto

0

您有以下行之間空白的錯誤。刪除它,所以它會潛在地工作

<?php error_reporting(E_ALL); ini_set('display_errors', 'On'); ?> 

<?php 
+0

感謝你因爲它的作品知道:D – Garneto

0

這是因爲您已經在腳本中做了一些輸出。 嘗試在腳本中使用單個打開/關閉php標記對 - 開始時和結束時。

並使用右側重定向頭語法:header('Location:http://www.example.com/'); (從大寫字母開始,空格後面的位置)

0

您可以在用「require_once()」調用的其中一個腳本中提供一些「echo」調用(或其他打印文本的函數)。

這裏從PHP文件全文:

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