【发布时间】:2013-10-09 11:50:17
【问题描述】:
使用表单发布将数据发送到其他页面而不是仅使用 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 页,所以我认为他们不需要添加书签。
【问题讨论】:
-
表单中没有任何动作,你的“链接”是如何工作的?
-
好吧,忘了那部分,不过这不是问题的重点
-
这是重点的一部分,没有它,表格不起作用
-
$_GET、$_POST或$_SESSION的使用取决于功能,如果需要使用表单来编辑数据,使用$_POST,如果用户可以直接访问要阅读的页面使用 $_GET -
他如何直接访问这意味着他们需要知道用户 ID,如果我有多个管理员,那么他们只需更改 url 中的 ID 并编辑不属于他们的用户。