2013-07-03 96 views
-1

我需要幫助。在我的網站上,我使用URL參數來決定在頁面上包含哪些其他PHP文件。我的第一個問題是:index.php中應該包含什麼以及包含的PHP文件應包含哪些內容?PHP index.php包括結構

在互聯網上,我發現說明,說明該結構的index.php:

<html> 
    <head> 
     <?php include 'header.php'; ?> 
    </head> 
    <body> 
     <?php include 'menu.php'; ?> 
     <?php include 'content.php'; /* Including page based on the parameters in the url */ ?> 
    </body> 
</html> 

通過這樣的結構,我怎麼可以改變數據在<head>部分基於在content.php的內容?例如,對於index.php?option=article&id_article=1,我將包含article.php並顯示帶有ID爲1的文章。那麼,在包含文章之前編寫<head>時,如何更改<title><meta>等內容?

謝謝!

+1

「在網上我發現說明......」 - 我建議你嘗試不同的互聯網說明。 – Smandoli

+0

你能用javascript嗎? – Sharlike

+1

你的問題可能太寬泛,無法在這裏回答。也許你應該看看像CakePHP,Kohana,Laravel這樣的框架 – chrislondon

回答

1

一種選擇是不是有頭.php echo是否只需設置像$title$meta[]這樣的變量。而不是從回聲article.php返回像$html變量。同樣在article.php中,您可以覆蓋header.php中設置的任何變量。然後,你可以構建你的index.php,像這樣:

<?php include 'header.php'; ?> 
<?php include 'article.php'; ?> 
<html> 
<head> 
    <?php echo $title ?> 
</ head> 
<body> 
<?php include 'menu.php'; ?> 
<?php echo $html ?> 
</ body> 
</ html> 

或者你可以看看ob_start()ob_flush()等等

+0

感謝您的評論。正是這個解決方案也出現在我身上,但就像你說的那樣,它會起作用,但有點難看。我還有一個想法:index.php不應該包含任何html代碼,但包括每個頁面的整個html文件(文章等)。這是個好主意嗎? – user1827257

+0

你可能會挫敗建立模板系統的目的。 – Pitchinnate

0

要儘可能簡單,你可以把你的頭一個函數,然後調用其他地方的功能...

例(未經測試):

function drawHeader($title, $desc = "", $keywords = "", $extra = "") { 
    ?> 
    <head> 
    <title><?php echo $title; ?></title> 
    <meta name="description" content="<?php echo $desc; ?>"> 
    <meta name="keywords" content="<?php echo $keywords; ?>"> 
    <link rel="stylesheet" type="text/css" href="path/to/my.css"> 
    <?php echo $extra; ?> 
    </head> 
    <?php 
} 

的目標上面會所以你可以方便快捷地做這樣的事情......

<!DOCTYPE html> 
<html> 
<?php drawHeader("Home", "Some description", "Some, keywords, here"); ?> 
<body> 
    <h1>Hello, world</h1> 
    <?php drawFooter(); // maybe a footer of some type? ?> 
</body> 
</html> 

或者你可以調用包含文件之前設置變量...在包含的文件只是迴響在這些值適當的地方。

有噸的方式做到這一點,利用輸出緩衝大量的標準和最佳實踐,框架,模板系統,佔位符等,它們是一種醜陋,但將努力

0

首先,你發現什麼都沒有從

爲第二學習指導使用url獲取文件的article.php

內容index.php?option=article&id_article=1

你的東東d使用$_GET['id_article']

例子:

$page = $_GET {'id_article'}; 
if (isset($page)) { 
$url = $page.".php"; 
    if (file_exists($url)) { 
     include $url; 
    } 

,你可以用數據庫存儲的文章和使用查詢,然後使用

if ($_REQUEST['id_article'] == $page) { 
    $querythearticle = mysql_query("select tablename from database_name where id_article='$page'"); 

}