我正在研究允许用户编辑他们提交的表单的东西,我有两个问题。
假设我在页面 viewform.php 上,编辑表单的页面是 editform.php。通过 url 传递表单的 ID 并使用然后使用 GET 是否安全?我将验证试图在 editform.php 上访问它的人是使用与登录时设置的用户名绑定的会话 ID 创建它的人。
如果 1 不是一种安全的方法,我如何将 viewform.php 中的数据(我想使用提交按钮)发布到 editform.php?
如果我理解您的问题是正确的,那么您正在寻找的是如何使用表单在请求之间保留数据?因为那时您可以在表单的 action 属性中指定提交 URL,并且您可以通过请求对象从该 URL 访问表单的值。为了将您的数据提交到同一页面,您可以使用 $_SERVER['PHP_SELF'] 来引用您所在的页面。因此,要回答您的问题,您的 viewform.php 将具有:
<form action="editform.php">
<input type="text" name="inputvariable" />
<input type="submit" value="Go" />
</form>
在editform.php 中,您可以通过访问$_REQUEST['inputvariable'] 来访问inputvariable 的值
希望这可以帮助。
当然,$_GET
只要没有传输任何敏感数据,它就是安全的。ID是常用的
为什么不将提交表单的方法设置为“POST”。使用“GET”可能会导致有人修改页面的 URL 并插入可能对您的网站产生一些不良影响的数据。
如果使用 POST,则在接收数据时,将变量设置为
$var1 = $_POST['variable1'];
您可以将 Id 保存在 $_SESSION 数组中,然后将您从 url 获得的 id 与您保存在 $_SESSION 中的 id 匹配。如果它们不匹配,您可以显示错误消息。这将防止您的网站表现出不希望的方式如果有人更改网址。