我是PHP的新手,我很好奇你如何动态生成页面?
我有一个用户表,我从我的数据库中提取并显示在我的主页上,我知道我可以将他们的用户ID作为POST变量传递给'mysite.com/profilepage.php'然后有一个在该页面上查询将提取该ID的所有相关信息,但是我说该页面为'mysite.com/user-profiles/john-doe.php'?
这是用.htaccess
文件完成的吗?任何帮助是极大的赞赏!
答案 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>},请不要使用{{1}}从数据库中获取私人信息。它绝不是安全的。请在创建执行其中任何一项操作的页面之前阅读PHP安全性。
答案 1 :(得分:1)
如果您不熟悉PHP并且没有查看任何框架,请查看agiletoolkit。它在jquery和php之间进行了一些巧妙的集成,这将为您的页面提供一个漂亮的外观和感觉。它还鼓励您使用ModelViewController(MVC)将用于数据库访问和功能的代码部分与纯粹用于Web页面布局的部分隔离开来。
上面提到的URL重写选项是相同的,但是当用户登录时,您可以访问来自$ this-> api> auth('xxx')的用户信息,其中xxx是列中的用户表。
该框架需要一些学习,但PHP也是如此,很容易养成编写PHP代码的坏习惯,这意味着随着网站变大,您会发现维护代码更加困难。