2017-05-24 244 views
-1

我已经创建了一个通用模板,它应该通过从数据库中提取详细信息来显示正在URL中传递的参数的内容。php中的动态网站

Ex。
主页:的index.php
模板:Pages.php
显示主页上的链接: “这是从数据库中取出
点击时要导航到:Pages.php /这是从数据库中取出(这是传递给数据库获取内容的参数)

这工作正常,但是当我点击Pages.php家庭(的index.php)/这是从数据库中提取同样被视为Pages.php/index.php,但它应直接转到index.php。

我已经使用htaccess重写网址,但它没有锻炼。

基本上我正在建设一个动态网站,我的问题是如何有效地使用通用模板概念来实现动态网站?

我用于获取该Pages.php代码/这是从数据库

<?php  
$mysqli = new mysqli("localhost", "root", "12345", "dbname");  
$uri = $_SERVER["REQUEST_URI"];  
$uri = $uri[4];  
$result = $mysqli->query("SELECT Title FROM Posts where Title = $uri");  
echo "<a href = '"./pages.php/{$row["Title"]}."' alt = "">{$row["Title"]} 
</a>";  
?> 
+0

'$ uri'是一个字符串;像这样对待它。现在你有什么'标题= $ uri'会使你失败。 –

+3

我非常抱歉。这不是一个有建设性的意见,但必须说:这个代码有太多的错误,我不知道从哪里开始。请阅读HTML,PHP和SQL注入。 – Midgard

+0

'$ uri = $ _SERVER [“REQUEST_URI”];'...好吧,让我们假设*“/ index.php”*。 '$ uri = $ uri [4];'呃 - 现在'$ uri =“e”'?我敢打赌,这不是你想要的......现在,这意味着你的选择是'选择标题发布的职位,其中标题= e' <好了,它吹了它,因为“e”不是一个数字;无论如何,这就像说*“你好,我听说你喜欢”E“,所以选择”E“在哪里”E“=”E“* ......头脑变得模糊了 – CD001

回答

-2

你可以做一些搜索上PHP设计模式有你试图达到什么更好的主意牵强。

这里是什么地方你就可以开始从:

simple-php-mvc-beginners-tutorial

为您的代码,

$uri = $uri[4]; 

$ URI是一个字符串不是一个数组,因此上述行只会变得在第四个位置上的角色,尝试删除该行并进行测试。

+0

请[只避免链接回答](http://meta.stackoverflow.com/tags/link- only-answers/info)。“可能会被删除”(http://stackoverflow.com/help/deleted-answers)。“仅仅是指向外部网站的链接”。 – Quentin

+0

惊喜!编辑完-2后发现,对不起。 – jirarium

+0

@jirarium感谢您对本教程的建议和感谢:) –

0

相对URL index.php表示:

  1. 以当前页面的URL
  2. 路径后删除一切
  3. 最后/
  4. 后删除一切附加的东西给它

如果您不想将所有内容保留在最后/之前的路径中,则需要链接到/index.php而不是index.php