我有一个表单,它必须在两个页面之间传递数据。
在第1页上,用户填写了一些详细信息。第2页为他们提供了一个确认屏幕,他们可以同意,也可以返回并编辑自己的详细信息。
在第2页上,第1页中的值存储在隐藏的表单字段中。
例如
<input type="hidden" name="user_email" value="email@test.com" />
当用户在第2页点击提交时,会运行一些PHP代码,并将它们添加到网站中。
在第1页,用户输入了密码,我关心的是如何在第2页处理这个问题。我不认为在隐藏形式字段中输出它是个好主意。运行的PHP无论如何都会对这个密码进行散列,所以我想在第1页和第2页之间进行散列,这样隐藏的表单字段的值就是散列版本,而不是纯文本。有没有更好的方法可以让我做到这一点?
使用会话变量来存储这些信息,永远不要将其作为隐藏的表单字段传递回页面。$_SESSION
将插入第1页的数据输入到具有唯一哈希的数据库表(称为pending_user_register
或其他什么)中(不要只使用唯一ID),然后在隐藏文本字段中引用唯一哈希?
或者走简单的路线,使用$_SESSION。
或者,使用上面的方法,但不要将其隐藏在$_SESSION中。
您可以使用password_hash()
,并可以将密码存储在session
或cookie
中
OR可以将user data
存储在数据库中,并在session
中添加user_id
,然后将该id
用于以后的updation of fields
。