简单的HTML / PHP联系表格不起作用


Simple HTML/PHP Contact Form Not Working

我正在尝试创建简单的HTML/PHP联系表单,但这无法正常工作。请在下面检查我实际上正在尝试的给定代码。

我的简单表单流程

HTML表单,

<form action="send_mail.php" method="post" onsubmit="return validateForm();" name="myform" >
        <input type="hidden" name="recipient" value="email">
        <input type="hidden" name="subject" value="FormMail E-Mail">`
        <table cellspacing="2" cellpadding="2" border="0">
        <tr>
        <td align="left">Nome:
        <input type="text" name="name" id="name" size="50"></td>
        </tr>
        <tr>
        <td align="left">Email:
        <input type="text" name="email" id="email" size="50"></td>
        </tr>
        <tr>
        <td align="left">Mensagem</td></tr>
        <tr>
        <td><textarea style="resize:none;" cols="44" rows="8" name="message" id="message"></textarea></td>
        </tr>
        <tr>
        <td align="left">
        <input name="submit" type="submit" value="Aceder"><input type="reset" value="Recompor">
        <input type="hidden" name="redirect" value="thankyou.html"></td>
        </tr>
        </table>
        </form>

PHP代码

if(isset($_POST['submit']))
{
$to = "xyz@abc.com";
$subject = "Email from Xyz company";
$name_field = $_POST['name'];
$email_field = $_POST['email'];
$message = $_POST['message'];
$body = "From: $name_field'n E-Mail: $email_field'n Message:'n $message";
mail($to, $subject, $body);
}
else
{
echo "Failure!";
}
?>

我正在使用此代码,如果我的代码中有任何错误以及需要的任何更改,请告诉我。

谢谢。

引号以主题结尾?

  if(isset($_POST['submit']))
    {
    $to = "xyz@abc.com";
    $subject = "Email from Xyz company; // quotation marks end?
    $name_field = $_POST['name'];
    $email_field = $_POST['email'];
    $message = $_POST['message'];
    $body = "From: $name_field'n E-Mail: $email_field'n Message:'n $message";
    mail($to, $subject, $body);
    }
    else
    {
    echo "Failure!";
    }
    ?>

在 PHP 代码的第 4 行中,; 之前的行尾缺少引号。正确的第 4 行:

$subject = "Email from Xyz company";

将上面的 PHP 代码更改为此代码;

<?php
if(isset($_POST['submit']))
{
$to = "xyz@abc.com";
$subject = "Email from Xyz company";
$name_field = $_POST['name'];
$email_field = $_POST['email'];
$message = $_POST['message'];
$body = "From: $name_field'n E-Mail: $email_field'n Message:'n $message";
mail($to, $subject, $body);
}
else
{
echo "Failure!";
}
?>

试试这个

<?php
if(isset($_POST['submit']))
{
$to = "xyz@abc.com";
$subject = "Email from Xyz company";
$name_field = $_POST['name'];
$email_field = $_POST['email'];
$message = $_POST['message'];
$body = "From: $name_field'n E-Mail: $email_field'n Message:'n $message";
$headers  = 'MIME-Version: 1.0' . "'r'n";
$headers .= 'Content-type: text/html; charset=utf8' . "'r'n";
 if( !mail($to, $subject, $body, $headers) )
 {
   echo "Failure!";
 }
}
?>