0

我找不到它的模式,但在我的验证码中,用于随机确认它的 php 脚本不会读取$_POST在前面的 HTML 表单中发布的变量。

<form name="post" action="post.php" method="post" enctype="multipart/form-data" style="text-align: center;"><br>

        <div style="position: relative; top: -5px;">Song Title: <input type="text" name="Title" pattern="[a-zA-Z0-9`\~\!\@\#\$\%\^\&\*\(\)\-\\\=\+\{\}\[\]]{2,40}" required></div><br>
            <input type="hidden" name="MAX_FILE_SIZE" value="20000000">

        <div style="position: relative; top: 5px; left: 34px;">Song File (Mp3 only): <input type="file" accept="audio/mpeg" name="Audio" id="file1" onchange="getChange()"></div><br><br><br>

        <div style="position: relative; top: -5px;"><img src="captcha/CaptchaSecurityImages.php"><br>Security Code:<br>
            <input name="security_code" type="text" required><br><br>

        <div style="position: relative; top: -8px;">
            <input type="submit" id="submit" disabled>
        </div>

</form>

填写表单后,提交按钮启用。它工作正常。

读取它的代码是: <?php echo $_POST['security_code'] ?>

它有时有效,有时无效。它经常说我没有在安全代码框中输入任何内容,即使我输入了。我不知道为什么。

4

2 回答 2

3

转储$_POST变量并查看结果如何

print_r($_POST);

你应该会看到类似这样的结果

Array
(
    [security_code] => aaaa
    [MAX_FILE_SIZE] => 20000000
)

那么你可以知道什么时候在随机性中你无法读取$_POST数据

于 2013-07-15T20:21:31.867 回答
1

我发现了问题。它是 php.ini 文件中的 max_post_size。每当有东西超过它时,它根本不会发送任何 $_POST 数据。

于 2013-07-15T20:37:53.317 回答