jQuery(document).ready(function($) {
$(".ajax-contact-form").submit(function() {
var str = $(this).serialize();
$.ajax({
type: "POST",
url: "contact.php",
data: str,
success: function(msg) {
if(msg == 'OK') {
result = '<p>Ваш заказ принят</p>';
$(".fields").hide();
} else {
result = msg;
}
$('.note').html(result);
}
});
return false;
});
});
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>Заголовок</title>
</head>
<body>
<footer>
<h2>Контактная форма</h2>
<div class="form-container">
<div class="note"></div>
<div class="fields">
<form class="ajax-contact-form" action="">
<p><input type="text" name="name" value="" placeholder="Имя"></p>
<div class="row">
<div class="col"><input type="tel" name="tel" value="" placeholder="Телефон"></div>
<div class="col"><input type="email" name="email" value="" placeholder="E-mail"></div>
</div>
<label>Текст</label>
<textarea name="message" cols="40" rows="3"></textarea>
<input type="submit" name="submit" class="form-container__btn" value="Отправить">
</form>
</div>
</div>
</footer>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="contactform.js"></script>
</body>
</html>
<?php
$post = (!empty($_POST)) ? true : false;
if($post)
{
$email = trim($_POST['email']);
$name = htmlspecialchars($_POST['name']);
$email = htmlspecialchars($_POST['email']);
$message = htmlspecialchars($_POST['message']);
$tel = htmlspecialchars($_POST["tel"]);
$error = '';
if(!$name)
{
$error .= 'Пожалуйста введите ваше имя<br />';
}
// Проверка телефона
function ValidateTel($valueTel)
{
$regexTel = "/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/";
if($valueTel == "") {
return false;
} else {
$string = preg_replace($regexTel, "", $valueTel);
}
return empty($string) ? true : false;
}
if(!$email)
{
$error .= "Пожалуйста введите email<br />";
}
if($email && !ValidateTel($email))
{
$error .= "Введите корректный email<br />";
}
if(!$error)
// (length)
if(!$message || strlen($message) < 1)
{
$error .= "Введите ваше сообщение<br />";
}
if(!$error)
{
$name_tema = "=?utf-8?b?". base64_encode($name) ."?=";
$subject ="Новая заявка с сайта BeActive.ru";
$subject1 = "=?utf-8?b?". base64_encode($subject) ."?=";
/*
$message ="\n\nСообщение: ".$message."\n\nИмя: " .$name."\n\nТелефон: ".$tel."\n\n";
*/
$message1 ="\n\nИмя: ".$name."\n\nТелефон: " .$tel."\n\nE-mail: " .$email."\n\nСообщение: ".$message."\n\n";
$header = "Content-Type: text/plain; charset=utf-8\n";
$header .= "From: Новая заявка <berestovayamaria@gmail.com>\n\n";
$mail = mail("berestovayamaria@gmail.com", $subject1, iconv ('utf-8', 'windows-1251', $message1), iconv ('utf-8', 'windows-1251', $header));
if($mail)
{
echo 'OK';
}
}
else
{
echo '<div class="notification_error">'.$error.'</div>';
}
}
?>
Во-первых, html страница в UTF-8, переведите php в utf8 и не занимайтесь перегоном в windows-1251 и обратно.
Для этого достаточно добавить в сам файл:
header('Content-Type: text/html; charset=utf-8');
а в .htaccess
AddDefaultCharset UTF-8
Это уберет танцы с бубном, которые вы используете с iconv() и base64_encode() и позволит работать с данными напрямую в UTF8.
У вас синтаксическая ошибка, и скорее всего скрипт вылетает на ошибку 500 из-за этого куска кода:
if($mail)
{
echo 'OK';
}
} // лишняя скоба
else
{
echo '<div class="notification_error">'.$error.'</div>';
}
mail() функция может не работать. Сделайте простой тест, например:
<?php
$header = "Content-Type: text/plain; charset=utf-8\n";
$header .= "From: Новая заявка <berestovayamaria@gmail.com>\n\n";
$mail = mail("berestovayamaria@gmail.com", "test", "test", $header);
if($mail){
echo 'OK';
} else {
echo '<div class="notification_error">'.$error.'</div>';
}
?>
Если при простом тесте сообщение не дойдет - используйте phpMailer и SMTP сервер https://snipp.ru/php/smtp-phpmailer
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Здравствуйте у меня проблема с PhaserВ браузере в консоль мне выдаёт вот такую ошибку - ReferenceError: Phaser is not defined
Пишу тестовый проект на связке React-Redux и почти сразу возникла проблема: не работает метод connect:
Задача - сделать функцию для поиска по объекту сложной вложенности, нужно найти значение ячейки с именем "treasure" вот пример проверки: