PHP电子邮件程序

PHP电子邮件程序,php,html,forms,email,Php,Html,Forms,Email,大家好,PHP和web爱好者, 在创建简单的电子邮件页面时,我的php代码有问题。 我得到的错误是语法错误,意外的“”(T_ENCAPSED_和_空格),第19行需要标识符。 这是我的密码。几天来我一直在努力修理它 <html> <h1> Contact Form </h1> <form action ="HW2-4.php?action=send"method="POST"> <p> Name: <

大家好,PHP和web爱好者, 在创建简单的电子邮件页面时,我的php代码有问题。 我得到的错误是语法错误,意外的“”(T_ENCAPSED_和_空格),第19行需要标识符。 这是我的密码。几天来我一直在努力修理它

   <html>
    <h1> Contact Form </h1>
    <form action ="HW2-4.php?action=send"method="POST">
    <p> Name: <input type="text" name="name" /></p>
    <p>Email: <input type="text" name="email" /></p>
    <p>Subject: <input type="text" name="subject" /></p> 
    <p>Message: <textarea col="20" row="5" name="message" ></textarea></p>
    <input type="submit" value="Send Email"/> 
   <?php
if(isset($_POST['action']) and $_POST['action'] == "send"){
    $name    = $_POST["name"];
    $email   = $_POST["email"];
    $subject = $_POST["subject"];
    $message = $_POST["message"];
    $headers = $_POST["headers"];

    if (mail($email, $subject, $message, $headers) == 1) {
        echo "<h3>Hello ".$_POST['name']." An email has been sent to you at ".$_POST['email']."!</h3>";
    }
}

联系方式
姓名:

电邮:

主题:

信息:


这是因为
$\u POST['name']
$\u POST['email']
变量未正确解析。您应该将它们连接起来,这是我个人将变量注入字符串的方式(尽管还有其他选择),即:


方法2:或完全停止使用

echo "<h3>Hello {$_POST['name']} An email has been sent to you at {$_POST['email']}!</h3>";
echo "<h3>Hello $_POST[name] An email has been sent to you at $_POST[email]!</h3>";
sprintf('<h3>Hello %s. An email has been sent to you at %s!</h3>', $_POST['name'], $_POST['email']);
方法4:创建一个变量(在本例中,您已经拥有了它们)

echo“你好$name。已通过$email向您发送了一封电子邮件!”

这是因为
$\u POST['name']
$\u POST['email']
变量未正确解析。您应该将它们连接起来,这是我个人将变量注入字符串的方式(尽管还有其他选择),即:


方法2:或完全停止使用

echo "<h3>Hello {$_POST['name']} An email has been sent to you at {$_POST['email']}!</h3>";
echo "<h3>Hello $_POST[name] An email has been sent to you at $_POST[email]!</h3>";
sprintf('<h3>Hello %s. An email has been sent to you at %s!</h3>', $_POST['name'], $_POST['email']);
方法4:创建一个变量(在本例中,您已经拥有了它们)

echo“你好$name。已通过$email向您发送了一封电子邮件!”

isset($\u POST['action'])==“send”
,您希望它做什么?为什么编辑问题以包含正确的代码?现在这个问题没有意义了。还是我遗漏了什么?
isset($\u POST['action'])==“send”
,您希望它做什么?为什么编辑问题以包含正确的代码?现在这个问题没有意义了。还是我错过了什么?还是使用<代码> SpaTrf('Help %s?电子邮件已经发送到%s!',$POST[ [姓名] ],$POST[ [电子邮件] ] < < /代码>,我个人觉得更可读。他的条件也是错误的,见Sumit的答案,并考虑将该解决方案添加为well@Blowski哦,是的,我完全忘记了。感谢您的提醒,并将您的评论包括在我的更新答案中(适当地给出了分数),方法二不会因为将未定义的常量转换为字符串而引起警告?或者使用
sprintf('Hello%s。已在%s!'向您发送电子邮件,$\u POST['name'],$\u POST['email'])
,我个人觉得更可读。他的情况也是错误的,看看Sumit的回答,并考虑把这个解决方案加进去。well@Blowski哦,是的,我完全忘记了。谢谢你的提醒,在我的更新答案中也包括了你的评论(适当地给出了分数),方法二不会因为将未定义的常量转换成字符串而引起警告吗?