2013-07-03 134 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'"); 

}