PHP 在检查用户输入时无法使用 HTML



我正在尝试检查并查看用户是否使用 PHP 在 HTML 页面中输入了某些内容,但由于某种原因,当我测试它时,我的屏幕上没有任何内容。

...
    <form>
        <label for="age">Enter your age: </label>
        <input type="text" name="age" id="age">
        </br></br>
        <input type="button" name="submit" id="submit" value="submit">
    </form>
</body>
<?php
    $theAge;
    if(isset($_GET["submit"])){
        $theAge = $_GET["age"];
        if($theAge == "")
        {
            echo("<p>Please enter an age</p>");
            }
?>
</html>

您的输入类型应该是提交而不是按钮。

<html>
<script src="https://code.jquery.com/jquery-3.2.0.min.js"></script>
<body>
 <form>
        <label for="age">Enter your age: </label>
        <input type="text" name="age" id="age">
        </br></br>
        <input type="submit" name="submit" id="submit" value="submit">
 </form>
</body>
</html>

首先,您没有在窗体上设置方法,并且您的检查是多余的并且也没有真正起作用。首先,您需要决定是要 GET 还是 POST。以下是使用 POST 的版本:

<form method="POST" action="#">
    <label for="age">Enter your age: </label>
    <input type="text" name="age" id="age">
    <input type="button" name="submit" id="submit" value="submit">
</form>
<?php
if(isset($_POST['submit'])){
    $theAge = $_POST['age'] ?? '';
    if($theAge == '') {
        echo('<p>Please enter an age</p>');
    } else {
// do something here
    }
?>

如果您想使用 GET,只需在代码中将 POST 更改为 GET。

请注意,他使用的是 PHP 7.x 表示法 - 如果您使用的是旧版本的 PHP(您不应该使用(,那么您必须更改此行:$theAge = $_POST['age'] ?? '';$theAge = isset($_POST['age']) ? $_POST['age'] : '';

相关内容

  • 没有找到相关文章

最新更新