只有一个页面有获取请求php的正确方法是什么?

时间:2013-02-03 22:03:22

标签: php mysql get

例如,我有viewpost.php,并根据需要进行设置,我只需要更改div中的内容。

例如,我将不得不做viewpost.php?id = 1,2,3等。但是我应该使用index.php关闭index.php的一切吗?action = viewpost&amp; id = 1?< / p>

那么,我也使用if语句,还是使用这些get请求与数据库通信?

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

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

2 个答案:

答案 0 :(得分:0)

index.php?action = viewpost&amp; 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你可以在url中看到如果viewpost.php存在,或者只是在这里做安全性(!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

答案 1 :(得分:-1)

最简单的方式是非常基本的东西(尽管不是很安全)

$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/之类的东西来处理模板和内容加载。稍微复杂一些,但如果你在一个非常简单的网站之外做任何事情,那么最有可能值得付出额外的努力。