2011-11-19 71 views
7

我正在做一個家庭作業,我們正在做一個非常基本的CMS。我們要填寫一個包含標題,正文,永久鏈接的表格。 CMS然後獲取永久鏈接,並將其添加到主導航欄。當在導航欄上單擊該固定鏈接時,將顯示標題,內容,創建的日期戳和修改的日期戳。 我有這個東西的工作,唯一的問題是,當我點擊導航鏈接時,我有這些錯誤:PHP錯誤 - 已定義常量DB_HOST?

注意:常量DB_HOST已經在C:\ Program Files \ xampp \ htdocs \ php \ assignment_6 \ config .PHP第2行

說明:用C已經定義常量DB_USER:\ Program Files文件\ XAMPP \ htdocs中\ PHP \ assignment_6 \ config.php的上線3

說明:用C已經定義常量DB_PASS:\第4行的Program Files \ xampp \ htdocs \ php \ assignment_6 \ config.php

注意:常量DB_NAME已經在C中定義:\ Program Files文件\ XAMPP \ htdocs中\ PHP \ assignment_6 \ config.php文件第5行

我有我用來建立數據庫連接的config.php文件:

<?php 
    define('DB_HOST','******'); 
    define('DB_USER','******'); 
    define('DB_PASS','******'); 
    define('DB_NAME','******'); 

    $cms_db = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME); 

     if(!$cms_db){ 
      echo"Could not connect: ".mysql_error(); 
    } 
?> 

下面是代碼從我的文件調用config.php文件,這是導致錯誤:

<?php 
    require('config.php'); 
    $perm = $_GET['p']; 
    $query = "SELECT * FROM cms WHERE permalink = '$perm'"; 
    $result = $cms_db->query($query); 
    $row = $result->fetch_assoc(); 
    $page_title = $perm; 
    require('header.php'); 
?> 
<h1><?=$row['title'];?></h1> 
<hr/><br/> 
<p class="para"><?=$row['content']?></p> 

<?php require('footer.php');?> 

少量的簡單代碼,但是是什麼問題?這不是一個致命的錯誤,而是男人,這是否令人討厭。

+0

你可以檢查是否有多個命令實例:'require('config.php');'? – Nonym

回答

12

你可能會多次包含config.php。檢查你所有的腳本並找到這個重複。您可以使用require_once()而不是require()來防止這種情況。

+0

有趣的是,我想這可能是問題,所以我GOOGLE了它,並找到require_once。我試了一下,得到了同樣的問題。我會再試一次。 –

1

要麼header.php或footer.php包括config.php?

如果是這樣,你的問題。

+0

是的,頁腳,所以我用require_once,無濟於事。我會再試一次,因爲我可能只是覺得我做到了...... –

+0

該死的,忘了一個。你們=>贏。 當你找出答案時,吮吸,錯誤地實施,然後尋求幫助,只有找到你在正確的軌道上擺在首位。非常感謝。對不起,我只能選一個作爲複選標記。 –

+0

我知道這是舊的,但你的問題使我走上正軌。感謝您提出這個問題。 +1。 :-) – IRGeekSauce