Php 联系方式-如果声明不适用于验证

Php 联系方式-如果声明不适用于验证,php,forms,validation,if-statement,Php,Forms,Validation,If Statement,我创建了一个查询表单,允许用户提交查询,然后通过电子邮件发送确认。这可以正常工作,但是验证的最后一部分似乎不起作用,因此在不应该发送电子邮件的时候发送电子邮件 表单获取的数据是姓名、电子邮件和一个安全问题,输入一个介于1和9之间的数字非常简单。不接受字母,因为表单已使用HTML设置为“数字”,但是它接受数字0&它似乎也接受任何超过9的数字 我相当肯定我的IF语句是错误的,但是我无法找出什么是错误的。任何帮助都将不胜感激 代码 <?php require_once __DIR__ .

我创建了一个查询表单,允许用户提交查询,然后通过电子邮件发送确认。这可以正常工作,但是验证的最后一部分似乎不起作用,因此在不应该发送电子邮件的时候发送电子邮件

表单获取的数据是姓名、电子邮件和一个安全问题,输入一个介于1和9之间的数字非常简单。不接受字母,因为表单已使用HTML设置为“数字”,但是它接受数字0&它似乎也接受任何超过9的数字

我相当肯定我的IF语句是错误的,但是我无法找出什么是错误的。任何帮助都将不胜感激

代码

<?php
    require_once __DIR__ . ('/../config/init.php');

    //Checks if data has been posted off .. if so run validation
    if($_POST){

        if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)){
            $response = '<h5>Error</h5><p>Please Enter a valid email address</p>';
        }

        else if (empty($_POST['query'])){
            $response = "<h5>Error</h5><p>You have not entered a query. Please go back and try again";
        }

        else if (empty($_POST['check']) || $_POST['check']<1 && $_POST['check']>=9){
            $response = "<h5>Error</h5><p>Number entered not valid. Please go back and try again</p>";
        }

        else{
            $message = 'Thank you for enquiry. We will contact you as soon as possible';
            $headers = 'From: webmaster@jamesvause.co.uk' . "\r\n" .
                       'Reply-To: webmaster@jamesvause.co.uk' . "\r\n" .
                       'X-Mailer: PHP/' . phpversion();
            mail($_POST['email'], 'Your Enquiry', $message, $headers);

            $response = '<h3>Thank you for your enquiry</h3>';
        }

    }
?>
<!DOCTYPE html>
<html>
<head>
    <?php 
        include INCLUDES . 'head_tags.php';
    ?>
</head>
<body>
    <div class='container'>
        <?php
            include INCLUDES . 'header.php';
            include INCLUDES . 'nav.php';
        ?>
        <div class='two-thirds column'>
            <h2>Contact</h2>
            <form action='#' method='post'>
                <div>
                    <?php 
                        if($_POST){
                            echo $response;
                        }
                    ?>  
                </div>  
                <div>
                    <label for="email">E-mail:</label>
                    <input type='email' id="email" name='email' placeholder='Your e-mail address' autocomplete='on' required>
                </div>
                <div>
                    <label for="query">Query:</label>
                    <input type='text' id="query" name='query' placeholder="Please enter your query" required>
                </div>
                <div>
                    <label for="check">Enter a number between 1 and 9:</label>
                    <input type='number' id="check" name='check' maxlength="1" required>
                </div>
                <input type='submit' value='submit'>
            </form>
        </div>
    </div>
    <?php
        include INCLUDES . 'footer.php';
    ?>
</body>
</html>

联系
电邮:
查询:
输入一个介于1和9之间的数字:

非常感谢您的帮助。

如果(空($_POST['check'])如果($|u POST['check']=9)不应该是
吗?第二个检查目前是一个,所以我认为逻辑没有按照你想要的那样工作。是的,这就对它进行了排序。非常感谢你!