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

  • Автор темы Denis2002d
  • Обновлено
  • 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.";
}
?>


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

Denis2002d


Рег
11 Nov, 2019

Тем
90

Постов
193

Баллов
673
  • 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

Тем
78

Постов
194

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

Locteam


Рег
28 Feb, 2014

Тем
61

Постов
201

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

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

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

Victoria78


Рег
26 Aug, 2010

Тем
77

Постов
195

Баллов
620
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно