使用表单发送数据到其他页面而不仅仅是html链接($ _GET)方法是不错的做法。
如果我的页面 users.php 与所列网站的所有用户相同,那么我想要分页 user_details.php ,其中列出了有关特定用户的详细信息 - 我可以做两种方式。
<a href="user_details.php?user_id=752">Details</a>
或
<form action="user_details.php" method="post">
<input type="hidden" name="user_id" value="742" />
<input type="button" name="nothing" value="User Details" />
</form>
或者每次将 $ _ POST 数据加入 $ _ SESSION 然后页面 user_details.php 时,我可以加载代码检查 $ _ SESSION 中的> user_id 是更好的安全措施吗?
编辑:此网站需要进行身份验证才能看到任何内容。 管理员总共只有大约10页,所以我认为他们不需要为它添加书签。
答案 0 :(得分:1)
对于网络应用程序,对我来说,基本准则是:
对于典型的Web应用程序,还需要考虑是否希望页面/资源可以通过数据配置进行导航。换句话说,您是否希望某人能够为该页面添加书签并查看相同的精确数据表示(数据读取)。如果是这样,请使用GET。
这也很好地符合REST范例,其中通常支持以下HTTP操作:
答案 1 :(得分:0)
使用$ _GET的一个主要好处是,它允许您的用户为网址添加书签,基本上链接到该网址,而不是强制用户填写表单。如果你使用$ _POST,这是不可能的。
然而,对于URL,使用查询字符串并不是最友好的用户。最好使用像Wordpress那样的某种漂亮的url结构,或者Stackoverflow用于用户页面。这可以通过在服务器上编辑.htaccess文件来完成。