У меня есть контактная форма на моей странице, теперь большая ее часть работает нормально, однако я создал некоторую проверку, которая выполняет некоторую внутреннюю проверку длин строк, если каким-то образом пользователь обходит обычный аргумент максимальной длины HTML для ввода текста.
Вот две мои проблемы:
1) Если я ввожу числа в поле, я автоматически получаю сообщение о том, что превышен максимальный предел, который, очевидно, не должен выполняться.
2) Вторая проблема заключается в том, что когда я получаю это сообщение (которое было получено неправильно), оно должно, по крайней мере, остановить отправку почты, поскольку возникла проблема, но оно все равно отправляет электронное письмо!!
Не стесняйтесь попробовать и убедитесь сами:
http://eclipse-developers.com/v2/eclipse-developers.com/#contactUs
Вот скрипт PHP для моей контактной формы:
// here we put in an if statement to check against missing variables (empty values)
if (isset($_POST['name']) && isset($_POST['email']) && isset($_POST['subject']) && isset($_POST['message'])){
$name=$_POST['name'];
$organisation=$_POST['organisation'];
$reference=$_POST['reference'];
$email=$_POST['email'];
$subject=$_POST['subject'];
$message=$_POST['message'];
// here we are checking to see if that value anything and not just black.
if (!empty($name) && !empty($email) && !empty($subject) && !empty($message) ){
// this is doing a check for max length, its doing it in php just in case the user
// cheats and bypasses the html check.
if (strlen($name>31) || strlen($lname>31) || strlen($organisation>31) || strlen($email>51) || strlen($subject>31) || strlen($reference>31) || strlen($message>2001)){
echo"sorry, max length for a field has been exceeded. Go back and try again</a><br><br>";
}
$to='[email protected]';
$emailsubject=$subject;
$body=$name."\nCompany Name: ".$organisation."\nRef: ".$reference."\nMessage: ".$message;
$headers= 'From: '.$email;
// mails, if statement so if its true (mail did send)
if (mail($to,$emailsubject,$body,$headers)){
echo'Thanks for contacting us.';
}else{
echo'Sorry, an error occurred. Try again later.';
}
}
} else{
}