0

例如,我有 viewpost.php,它是根据需要设置的,我只需要在其中更改 div 中的内容。

例如,我将不得不做 viewpost.php?id=1,2,3 等。但是我应该使用 index.php?action=viewpost&id=1 做所有关于 index.php 的事情吗?

然后,我是使用 if 语句,还是使用这些 get 请求与我的数据库进行通信?

总的来说,无论如何我都打算使用 modrewrite,但我对设置从一个或几个 php 文件加载多个页面的正确方法一无所知。

我有一个模板,我只需要使用数据库数据填充它。

4

2 回答 2

0

index.php?action=viewpost&id=1 索引中的这段代码:

if(isset($_GET['action']) && isset($_GET['id']))
{
$id = $_GET['id'];
if($action == "viewpost")
{
// action is viewpost
if(!ctype_digit($id))
{
// id isnt digit
die();
}
else
{
// viewpost 
include('viewpost.php');
}
}

viewpost.php 可能看起来像: 只是为了确保在直接访问 viewpost.php 时不会发生任何不良情况,如果 viewpost.php 存在,您可以在 url 中看到,或者只是在此处进行安全性 (!ctype_digit($_GET['id'] ))

  // since its already been secured with !ctype_digit, we can run queries right away
$q_findPost = mysqli_query($mysqli, "SELECT * FROM posts WHERE id=$id");
$r = mysqli_fetch_assoc($q_findPost);
// div stuff
于 2013-02-03T22:08:35.100 回答
0

最简单的方法是像这样非常基本的东西(虽然不是很安全)

$page = $_GET["action"];
if($page == null)
{
        $page = "main";
}

if (file_exists("content/$page.php"))
{
        include ("content/$page.php");
}
else
{
        include ("includes/404.php");
}

更好的解决方案是使用http://www.smarty.net/之类的东西来处理模板和内容加载。稍微复杂一些,但如果您在做一个非常简单的网站之外的任何事情,则很可能值得付出额外的努力。

于 2013-02-03T22:09:33.160 回答