我有以下代码来生成随机字符串
function generateRandomString($length = 10) {
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$randomString = '';
for ($i = 0; $i < $length; $i++) {
$randomString .= $characters[rand(0, strlen($characters) - 1)];
}
return $randomString;
}
$s= generateRandomString();
并有一个 HTML 表单,其中名称字段获取该表单中的随机字符串
<input type="text" maxlength="10" name="<?php echo $s;?>" class="tracer-number-input"/>
现在,当我使用它时,如何确保获得该随机字符串的 POST
$num = $_POST[$s];
它没有按预期工作,因为当我单击 HTML 表单的提交按钮时,页面会重新加载并且随机字符串发生更改,因此 POST 表单不会获得之前的随机值。这打破了我的逻辑。
主要动机是制作一个 HTML 表单,其中输入字段的名称是随机的,并且发布字段也将获得该随机字符串。
我想阻止自动脚本提交,因为每次都会生成不同的 POST 字段,然后即使我没有添加验证码,自动脚本也无法处理
最佳答案
如何将值设置为隐藏
字段。
// If $_POST["random"] is set, set its value to $s, else set $s to a random string
$s = isset($_POST["random"]) ? $_POST["random"] : generateRandomString();
<input type="hidden" name="random" value="<?php echo $s; ?>" />
<input type="text" name="<?php echo $s; ?>" value="whatever user types"/>
关于php - 在 HTML 表单中制作随机字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18928974/