Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP脚本的HTML电子邮件_Php_Html_Email_Html Email - Fatal编程技术网

使用PHP脚本的HTML电子邮件

使用PHP脚本的HTML电子邮件,php,html,email,html-email,Php,Html,Email,Html Email,我想在HTML中发送一封电子邮件,在这封电子邮件中,我需要从php表单传递数据。该电子邮件作为html电子邮件成功发送,但它不显示从PHP变量传递的数据 $name = "PHP TEXT"; $headers = "From: " ."mail@example.com" . "\r\n"; $headers .= "Reply-To: ". "mail@example.com" . "\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .=

我想在HTML中发送一封电子邮件,在这封电子邮件中,我需要从php表单传递数据。该电子邮件作为html电子邮件成功发送,但它不显示从PHP变量传递的数据

$name = "PHP TEXT";
$headers = "From: " ."mail@example.com" . "\r\n";
$headers .= "Reply-To: ". "mail@example.com" . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";

$message = "<html><body><h1>HTML TEXT <?php echo $name; ?></h1></body></html>";

$email_to = 'example@mail.com'; //the address to which the email will be sent
$subject = "test";
$email    =   "example@mail.com";

if (mail($email_to, $subject, $message, $headers)) {
    echo 'sent'; // success      
} else {
    echo 'failed'; // failure    
}

另一种解决方案是在关闭前关闭

$message = "<html><body><h1>HTML TEXT ".$name." how are you?</h1></body></html>";
无需启动和关闭PHP,因为您已经在PHP工作区中了。

此行:

$message = "<html><body><h1>HTML TEXT <?php echo $name; ?></h1></body></html>";
应该是这样的:

$message = "<html><body><h1>HTML TEXT $name </h1></body></html>";

用于指定其中的文本是PHP代码,而不是HTML。这里有一些细节

但您已经在PHP代码块中了,应该使用字符串连接,而不是指定另一个PHP代码块

试试这个

$message = "<html><body><h1>HTML TEXT".$name."</h1></body></html>";

您正在将html分配给一个php变量。所以你不必在那里回显变量。。只需使用适当的concatation

脚本中没有使用任何表单值。你知道$\u POST或$\u是如何获得工作的吗

您将$name设置为硬编码的值,因此在使用它时,它将始终是该值,而且,由于您是使用PHP创建字符串的,因此不需要在此行中回显PHP。i、 因为你用的是双引号

$message = "<html><body><h1>HTML TEXT $name;</h1></body></html>";

但强烈建议您对所有用户提供的信息进行清理和验证。这应该是一个相当简单的谷歌搜索。

$message变量本身被错误使用

$message = "<html><body><h1>HTML TEXT <?php echo $name; ?></h1></body></html>";
应该是

$message = "<html><body><h1>HTML TEXT  $name </h1></body></html>";
或者这个:

$message = "<html><body><h1>HTML TEXT ".$name." </h1></body></html>";
$message = "<html><body><h1>HTML TEXT  $name </h1></body></html>";
$message = "<html><body><h1>HTML TEXT ".$name." </h1></body></html>";