Здесь кое-что не так.
Давайте начнем с вершины и с вашим условным утверждением ( и проделаем свой путь вниз ).
if (isset($_POST['submit'])){...}
Ваша кнопка отправки не имеет для нее атрибута имени.
Измените его так, чтобы он читался как:
Затем вы используете mysqli_real_escape_string()
, которые теоретически требуют, чтобы соединение было передано этой функции.
Ie:
$Name = mysqli_real_escape_string($connection,$Name);
и сделать то же самое для остальных; предполагая, что вы взаимодействуете с базой данных.
Однако неясно, действительно ли вы взаимодействуете с вашей базой данных или нет, поэтому, если вы не взаимодействуете с ней, удалите все из них mysqli_real_escape_string
из вашего POST массивы.
Т.е.:
$Name = $_POST['Name'];
и сделайте то же самое для остальных.
Вы также пропускаете POST в качестве метода в вашей форме:
, который по умолчанию GET при пропуске. Поэтому измените его на:
Чтобы затем проверить, была ли отправлена почта, измените
mail($webEmail,$email_subject,$email_body,$headers);
на
if(mail($webEmail,$email_subject,$email_body,$headers)){
echo "Sent";
}
Если вы видите «Отправлено», тогда почта выполнила бы свою работу. Если почта не получена, проверьте свой спам. Или ваш сервер может быть внесен в черный список.
Убедитесь, что у вас есть доступ к использованию mail()
.
Вы также должны убедиться, что все входы были заполнены с помощью условного empty()
.
Ie:
if(!empty($_POST['Name'])){
// $Name = mysqli_real_escape_string($Name);
$Name = $_POST['Name'];
}
Добавьте сообщение об ошибке в начало вашего файла (ов), который поможет найти ошибки.
Sidenote: Сообщение об ошибках должно выполняться только в стадии постановки и никогда не производить.
Сноски:
Я не знаю, что они используются для onfocus="this.value='';"
, поэтому, если у вас где-то есть JS / Ajax, вам нужно проверить их.
Вы также должны попробовать удалить value="Name"
и для других также на всякий случай.
Sidenote:
Если вы все еще получаете ошибку 404, попробуйте поместить ваш PHP сверху и вашу HTML-форму ниже этого и внутри того же файла с расширением .php
и выполните:
с использованием action=""
в качестве действия, которое должно выполняться на на этой же странице.
Дополнительная сноска:
Я заметил в комментарии, который вы разместили в другом ответе:
"I добавленный заголовок ('Местоположение: lizbethmcgee.com/pages/Contact.php'; );
blockquote>Сначала убедитесь, что вы не выводите его перед заголовком.
Кроме того, вы должны также включить полный вызов
http://
иexit;
:header("Location: http://www.lizbethmcgee.com/pages/Contact.php"); exit;
, чтобы избежать дальнейшего выполнения кода, который может присутствовать ниже этого, если он есть.
Как AdamT заявил в комментарии:
Отправка почты с помощью команды php