对于输入表单,我需要随机输入名称和ID
我创建了随机值$ token_hash = random
然后输入字段
<input type="hidden" name="' .$token_hash .'" id="' .$token_hash .'" value="some_value">
接下来输入表单是php代码,用于检查从表单中获取的值
echo $_POST[$token_hash] .' $_POST[$token_hash]<br>';
问题是 $_POST[$token_hash]
回显空白值(无值)....
我也试过 $_POST[' .$token_hash .']
但是不行 .
其他 $_POST
有效,但它们就像 $_POST['some_value']
似乎终于得到了解决方案 . 不明白为什么以前没用 . 如果对别人有用 . 这是解决方案 .
创建随机值$ token_hash = sha1(uniqid($ time_when_form_submitted .'token' . $ _ SERVER [“REMOTE_ADDR”]));
然后创建会话$ _SESSION ['token_hash'] = $ token_hash;
然后将会话传递给输入
echo '<input type="hidden" name="' .$_SESSION['token_hash'] .'" id="' .$_SESSION['token_hash'] .'" value="' .$_SESSION['token'] .'">'
然后从输入中获取会话值 . This code must be above all previos $ token_hash_from_input = $ _SESSION ['token_hash'];
然后用$ _POST [$ token_hash_from_input]获取输入值
5 回答
您希望输入的名称为“token_hash”,值为随机值 .
现在您可以在表单提交上访问令牌哈希:
您需要类似会话的内容来保持请求中的值,例如
然后在下一页中检索它
@All我假设提问者想要一个随机的帖子字段名称和值
请注意,
$token_hash
的值将在每个请求中更改 . 除非您在会话或数据库中保存该值,否则没有持久性 . 我不知道你到底想要做什么,所以很难给出建议 .但是此代码示例可能会显示如何访问随机
$_POST
索引:然后使用foreach获取值:
你需要这样做,
如果真的发布了
token_hash
,你会得到一个由于您正在生成随机值,因此您不能指望$ _POST [$ token_hash]可以正常工作 .
当您发布表单时,您的PHP会随机生成$ token_hash值 . 因此,您应该将随机生成的值放在“值”属性中 .
当您发布表单时,可以使用$ _POST ['token_hash']获取它 .