Информация поля контактной формы не отправляется/не приходит

  • Автор темы x7turist
  • 52
  • Обновлено
  • 18, May 2024
  • #1
Когда я выбираю «Отправить» для этой контактной формы, информация о поле не отправляется/не поступает. Все, что я вижу, когда приходит электронное письмо, это имя: и адрес электронной почты:
 <?php

$data = json_decode(file_get_contents("php://input"));

$name = trim($data->name);

$name = str_replace(array("\r", "\n"), array(" ", " "), $name);

$email = filter_var(trim($data->email), FILTER_SANITIZE_EMAIL);

$message = trim($data->message);

if (empty($name) || empty($message) || !filter_var($email, FILTER_VALIDATE_EMAIL)) {

echo "One or more invalid entries. Please try again.";

exit;

}

$to = "[email protected]";

$from = "From: [email protected]". "\r\n";

$email = $_POST['email'];

$name = $_POST['name'];

$message = $_POST['message'];

$message = "Name: {$_POST['name']}\r\nEmail: {$_POST['email']}\r\n\r\n{$_POST['message']}";

if (mail($to, "Customer Inquiry", $message, $from)) {

echo "Thank You. Your message has been sent.";

} else {

echo "An error has occurred and your message could not be sent.";

}

?>
Код (разметка): Любая помощь в получении/отправке заполненной информации поля формы будет оценена по достоинству.

x7turist


Рег
19 Jun, 2015

Тем
1

Постов
2

Баллов
12
  • 21, May 2024
  • #2
Спасибо за ваши ответы.

Это не мой код.

Кто-то другой предоставил его, чтобы помочь мне, и я просто пытаюсь заставить его работать. В настоящее время я удалил эти строки из php-кода:
 <?php

$data = json_decode(file_get_contents("php://input"));

$name = trim($data->name);

$name = str_replace(array("\r", "\n"), array(" ", " "), $name);

$email = filter_var(trim($data->email), FILTER_SANITIZE_EMAIL);

$message = trim($data->message);

if (empty($name) || empty($message) || !filter_var($email, FILTER_VALIDATE_EMAIL)) {

echo "One or more invalid entries. Please try again.";

exit;

}

$to = "[email protected]";

$from = "From: [email protected]". "\r\n";

if (mail($to, "Customer Inquiry", $message)) {

echo "Thank You. Your message has been sent.";

} else {

echo "An error has occurred and your message could not be sent.";

}

?>
Код (разметка): Итак, теперь это выглядит так:
 $email = $_POST['email']; $name = $_POST['name']; $message = $_POST['message']; $message = "Name: {$_POST['name']}\r\nEmail: {$_POST['email']}\r\n\r\n{$_POST['message']}";


Код (разметка): И теперь он успешно отправляет информацию, введенную в поле «сообщение». Если я смогу получить помощь в том, как получить информацию, введенную в поля «имя» и «электронная почта», для отправки/получения, я буду очень признателен за любую помощь.

Человек, который предложил мне удалить эти строки, сказал: «Не отправляйте переменные POST».

и «вы отправляете строку JSON». Он предложил что-то сделать с командой mail.
 

wwwrekl


Рег
26 Apr, 2011

Тем
0

Постов
4

Баллов
4
  • 05, Jun 2024
  • #3
Пусто не только сообщение, но и имя, что означает либо отсутствие POST-переменных (неправильный код в форме), либо наличие другой проблемы (которая может быть видна в журнале ошибок PHP). ).
 

locteam


Рег
28 Feb, 2014

Тем
1

Постов
2

Баллов
12
  • 06, Jun 2024
  • #4
Вы часто повторно используете переменные $_POST, одновременно присоединяя их к именованным переменным, а также, какой смысл делать всю эту проверку и все такое сверху, если вы не используете ни одну из этих переменных позже?

В любом случае, не видя фактической формы, из которой вы извлекаете эти значения, трудно помочь.

Я предполагаю, что что-то в форме не в порядке.
 

victoria78


Рег
26 Aug, 2010

Тем
2

Постов
16

Баллов
36
Тем
49554
Комментарии
57426
Опыт
552966

Интересно