PHP 邮件程序脚本不在电子邮件中打印变量

PHP Mailer Script Not Printing Variables In Email

我遇到的问题出在电子邮件的消息部分。电子邮件发送得很好,大纲在那里,但没有从变量打印名称电子邮件或消息。我似乎看不出问题是什么。感谢任何帮助。

<?php session_start();
$name=$_POST['name'];
$email=$_POST['email'];
$text=$_POST['text'];
$to= 'noreply@noreply.com';
$subject = 'Request';
$message='Hello, my name is:' . $name . "\r\n" . 'My Email is: ' . $email . "\r\n" . 'My Message is: '. $text;
$headers = 'From: Request' . "\r\n" .
    'Reply-To: noreply@noreply.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
echo 'Mail Sent';
?>

根据评论,您将数据作为查询字符串而不是 POST 中的有效负载传递。所以改变

$name=$_POST['name'];
$email=$_POST['email'];
$text=$_POST['text'];

$name=$_GET['name'];
$email=$_GET['email'];
$text=$_GET['text'];

并且应该有效!

您使用 GET 方法发送表单,数据在 $_GET:

<?php 

session_start();

$name  = $_GET['name'];   // here
$email = $_GET['email'];  // here
$text  = $_GET['text'];   // here
$to    = 'noreply@noreply.com';
$subject = 'Request';
$message='Hello, my name is:' . $name . "\r\n" . 'My Email is: ' . $email . "\r\n" . 'My Message is: '. $text;
$headers = 'From: Request' . "\r\n" .
    'Reply-To: noreply@noreply.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
echo 'Mail Sent';
?>

要使用您当前的脚本版本,只需将 form 中的 method 属性更改为 post,如 <form method=post ...>