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

时间:2017-03-21 01:40:27

标签: php html user-input

我正在尝试检查并查看用户是否通过使用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>

2 个答案:

答案 0 :(得分:0)

首先,您没有在表单上设置方法,并且您的检查是多余的,并且也没有真正起作用。首先,您需要决定是否要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'] ?? '';到{{1} }

答案 1 :(得分:0)

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

<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>