我是PHP新手,我很好奇你是如何动态生成页面的?
我有一个从数据库中拉出并显示在主页上的用户表,我知道我可以将他们的用户ID作为POST变量传递给'mysite.com/profilepage.php‘,然后在该页面上有一个查询,该查询将拉取该ID的所有相关信息,但是说我希望该页面是’mysite.com/ user -profile/john-doe.php‘?
使用.htaccess文件可以做到这一点吗?任何帮助都是非常感谢的!
发布于 2012-07-12 03:44:15
如果您必须将页面命名为mysite.com/user-profiles/john-doe.php,您可以使用注释中提到的mellamokb重写来将URL更改为该名称。
但就PHP而言,实现这一点的方法是创建一个PHP页面(我建议使用user-profiles.php),然后使用GET或POST将用户名传递给它。假设您只是在阅读,并且有问题的信息是公开的,那么GET看起来很好,并且在这里更容易解释。
通过将浏览器指向user-profiles.php?username=John-Doe并在user-profiles.php中包含如下代码,可以访问相关页面(由PHP“动态生成”)
if ( isset($_GET['username']) )
{
$username = $_GET['username'];
// you now know the passed username
}
else
{
// some kind of error handling for when there is no username
}现在,您知道在PHP文件中有相关的用户名,并且可以使用它来创建所需的页面。如果您愿意,也可以使用URL重写将user-profile.php?username=John-Doe更改为user-profiles/John-Doe。
警告:如果有问题的页面将以任何方式修改数据库,或者它将从数据库中获取私有信息,则不要使用$_GET。它在任何方面都不安全。在创建执行上述任一操作的页面之前,请先阅读有关PHP安全性的知识。
发布于 2012-07-12 03:57:11
如果你是PHP的新手,并且还没有看过任何框架,可以看看agiletoolkit。它在jquery和php之间做了一些巧妙的集成,这将给你的页面带来很好的外观和感觉。它还鼓励您使用ModelViewController将用于数据库访问和功能的代码部分与纯粹用于网页布局的代码部分分开。
上面提到的URL重写选项是相同的,但是当用户登录时,您可以从$this->api->auth(' xxx ')访问用户信息,其中xxx是users表中的列。
这个框架需要一点学习,但PHP也是如此,而且很容易养成编写PHP代码的坏习惯,这意味着随着网站变得越来越大,你会发现维护代码变得更加困难。
https://stackoverflow.com/questions/11440150
复制相似问题