使用PHP动态生成页面

时间:2012-07-11 19:38:41

标签: php mysql .htaccess

我是PHP的新手,我很好奇你如何动态生成页面?

我有一个用户表,我从我的数据库中提取并显示在我的主页上,我知道我可以将他们的用户ID作为POST变量传递给'mysite.com/profilepage.php'然后有一个在该页面上查询将提取该ID的所有相关信息,但是我说该页面为'mysite.com/user-profiles/john-doe.php'?

这是用.htaccess文件完成的吗?任何帮助是极大的赞赏!

2 个答案:

答案 0 :(得分:1)

如果您必须将该页面调用mysite.com/user-profiles/john-doe.php,则可以使用URL重写作为评论中提到的mellamokb将URL更改为该值。

但就PHP而言,这样做的方法是创建一个PHP页面(我将建议user-profiles.php),然后使用GET或者POST或者将用户名传递给它GET。假设您只是阅读并且相关信息是公开的,user-profiles.php?username=John-Doe似乎很好,这里更容易解释。

您可以通过将浏览器指向user-profiles.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“动态生成”):

user-profile.php?username=John-Doe

您现在知道PHP文件中有相关的用户名,可以根据需要使用它来创建页面。如果您愿意,还可以使用网址重写将user-profiles/John-Doe更改为$_GET

警告:如果相关网页要以任何方式修改数据库,或者它将会是},请不要使用{{1}}从数据库中获取私人信息。它绝不是安全的。请在创建执行其中任何一项操作的页面之前阅读PHP安全性。

答案 1 :(得分:1)

如果您不熟悉PHP并且没有查看任何框架,请查看agiletoolkit。它在jquery和php之间进行了一些巧妙的集成,这将为您的页面提供一个漂亮的外观和感觉。它还鼓励您使用ModelViewController(MVC)将用于数据库访问和功能的代码部分与纯粹用于Web页面布局的部分隔离开来。

上面提到的URL重写选项是相同的,但是当用户登录时,您可以访问来自$ this-> api> auth('xxx')的用户信息,其中xxx是列中的用户表。

该框架需要一些学习,但PHP也是如此,很容易养成编写PHP代码的坏习惯,这意味着随着网站变大,您会发现维护代码更加困难。