Итак, я пытаюсь создать контактную форму, которая проверяет ввод пользователя, чтобы хакеры не отправляли коды и пытались потребовать только номер, текст и адрес электронной почты. Я уже разработал форму и импортировал свой php-файл. Контакт из будет отправлен на мою учетную запись gmail. но каждый раз, когда я тестирую php, он позволяет вводить любые типы данных независимо от того, будет ли это число, а буквы отправлены и наоборот. Если бы я мог помочь, сказав мне, где я ошибся, это было бы здорово. Я начинаю программировать и имею только знания, полученные из школы, но я хорошо разбираюсь в html и css, но имею проблемы с проверкой php. Форма отправляет электронное письмо, но, как я уже сказал, он позволяет использовать любой вход.Проблемы с формой контакта и подтверждением ввода
<?php
$name = $_POST['name'];
$tel = $_POST['tel'];
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'From: www.webdesignheros.com';
$to = '[email protected]';
$subject = 'Service Email for HeenanTech';
$tel = filter_input(INPUT_POST, 'tel', FILTER_SANITIZE_INT);
$name = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_STRING|FILTER_FLAG_NO_ENCODE_QUOTES);
$email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL);
$message = filter_input(INPUT_POST, 'message', FILTER_SANITIZE_STRING|FILTER_FLAG_NO_ENCODE_QUOTES);
$body = "From: $name\n Phone: $tel\n Email: $email\n Message: $message\n";
?>
<?php
if ($_POST['submit']){
if(mail($to, $subject, $body, $from)){
echo'<p>Thank you for your email!</p>';
} else {
echo '<p> Oops! Something went wrong, try sending your message again</p>';
}
}
?>
Дополнительно форму можно найти на сайте [http://webdesignheros.com/Contact.html][1]
[1]: http://webdesignheros.com/Contact.html и если кто-то может сказать мне, как отклонить определенный вклад до представить, что было бы удивительным, тоже. например, если введена некорректная запись, и они переходят к следующему входу, это отклонит ее и не позволит нажать кнопку отправки. я бы использовал pattern="a-z"
в html или мне нужно будет добавить javascript для этого?
Что именно здесь не работает? Это весь код, который у вас есть или есть больше, чем это? – Maximus2012
Есть ли у вас проверка клиента? (javascript, f.e. jquery-validate - http://jqueryvalidation.org/) – Altenrion
1) Я не думаю, что есть FILTER_SANITIZE_INT, но есть FILTER_SANITIZE_NUMBER_INT. 2) Числа считаются строками, когда они с буквами. Например: «My123» является допустимой строкой. – mrunion