对于输入表单,我需要随机输入名称和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'] .'">'
然后从输入中获取会话值。 此代码必须高于所有优先级 $ token_hash_from_input = $ _SESSION ['token_hash'];
然后用 $ _ POST [$ token_hash_from_input]) 获取输入值
答案 0 :(得分:2)
您希望输入的名称为“token_hash”,并将值作为随机值。
<input name="token_hash" value="<?php echo $token_hash; %>" type="hidden" />
现在您可以在表单提交上访问令牌哈希:
$token_hash = $_POST['token_hash'];
答案 1 :(得分:1)
您需要类似会话的内容来保持请求中的值,例如
session_start();
$_SESSION['token_hash'] = $token_hash;
然后在下一页中检索它
session_start();
$token_hash = $_SESSION['token_hash'];
答案 2 :(得分:1)
@All我认为提问者想要一个随机的帖子字段名称和值
请注意,$token_hash
的值会在每个请求中更改。除非您在会话或数据库中保存该值,否则没有持久性。我不知道你到底想要做什么,所以很难给出建议。
但是此代码示例可能会显示如何访问随机$_POST
索引:
<input type="hidden" name="token_<?php echo uniqid();?>" value="<?php uniqid()?>" />
然后使用foreach获取值:
foreach($_POST as $key => $value) {
if(strpos($key, 'token_') !== FALSE) {
echo 'the token is ' . $value;
}
}
答案 3 :(得分:0)
你需要这样做,
$_POST["token_hash"]
如果确实发布了token_hash
,那么您将获得一个
答案 4 :(得分:0)
由于您正在生成随机值,因此无法预期$ _POST [$ token_hash]可以正常工作。
当您发布表单时,您的PHP会随机生成$ token_hash值。因此,您应该将随机生成的值放在“值”属性中。
<input name="token_hash" value="<?php echo $token_hash; ?>" type="hidden" />
当您发布表单时,可以使用$ _POST ['token_hash']获取它。