Лодаш: можно ли использовать карту с асинхронными функциями?

Здесь кое-что не так.

Давайте начнем с вершины и с вашим условным утверждением ( и проделаем свой путь вниз ).

if (isset($_POST['submit'])){...}

Ваша кнопка отправки не имеет для нее атрибута имени.

  • Вы можете полагаться только на «id», который не будет работать, ему нужно «имя» ".

Измените его так, чтобы он читался как:


  • Поскольку он не назван, что-либо внутри этого условного оператора не будет выполняться.

Затем вы используете 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 mail , нет гарантии, что почта будет отправлена ​​во входящую папку, в которую вы ее отправили. Как уже упоминалось, есть партии спамеров и, к сожалению, тяжелой степени фильтрации спама.Если вы действительно хотите иметь больше шансов получить почту, вам следует связаться с GoDaddy и спросить их, как вы можете настроить SMTP-электронную почту для своей учетной записи.

13
задан realtebo 5 November 2017 в 03:43
поделиться