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