Я использую PHP по электронной почте данные, введенные через HTML контактную форму, используя код ниже:Включите MySql значение DB в PHP форме электронной почты тела
HTML
<form action="<?php echo $_SERVER[PHP_SELF]; ?>" method="post" name="form" id="form">
<input type="text" id="name" name="name"/>
<input type="text" id="email" name="email"/>
<input name="submit" type="submit" title="Submit" value="Submit"/>
</form>
PHP
<?php
require 'connect.php';
$id = $_GET['id'];
$id = mysql_real_escape_string($id);
$query = "SELECT * FROM `items` WHERE `item_id`='" . $id . "'";
$result = mysql_query($query);
while ($fetch = mysql_fetch_assoc($result)) {
$item_id = $fetch['item_id'];
$item_name = $fetch['item_name'];
}
if (isset($_POST['submit'])) {
$to = "[email protected]";
$name = $_REQUEST['name'];
$email = $_REQUEST['email'];
$item_name = $_REQUEST['item_name'];
$subject = "New Message";
$body = "Name: $name \n\n Email Address: $email \n\n Item Name: $item_name \n\n";
$sent = mail($to, $subject, $body);
echo 'Sent';
die;
}
?>
Письмо отправляется правильно и содержит значения, введенные в поля формы ввода «Имя» и «Электронная почта», но переменная $ item_name пуста? Единственный способ заставить его работать - это отбросить переменную $ item_name в скрытое поле ввода, а затем включить это в тело сообщения электронной почты. Есть ли более простой способ?
<input type="hidden" id="item_name" name="item_name" value="<?php echo $item_name; ?>"/>
EDIT:
Я удалил:
$item_name = $_REQUEST['item_name'];
в, если заявление, но переменная $ item_name еще ничего не отображает, когда электронная почта отправляется с помощью PHP?
'mysql_ *' функции устарели с PHP 5.5 и удалены в PHP 7, вместо этого используйте функции mysqli_ * или PDO. – Panda
Попробуйте использовать var_dump ($ item_name), если есть возврат данных – Fil
var_dump ($ item_name) отображает правильное значение –