Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.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电子邮件表单继续失败_Php_Html_Forms - Fatal编程技术网

没有语法错误,但php电子邮件表单继续失败

没有语法错误,但php电子邮件表单继续失败,php,html,forms,Php,Html,Forms,希望你能帮上忙,因为我现在很为难 我的网站上有两个地方实现了一些代码 由于某种原因,表单无法每次发送。下面是代码,我已经通过语法检查器运行了它,就这一点而言还可以 <?php $name = $_POST['name']; $email = $_POST['email']; $number = $_POST['number']; $message = $_POST['message']; $from = 'From: Roofing Solution

希望你能帮上忙,因为我现在很为难

我的网站上有两个地方实现了一些代码

由于某种原因,表单无法每次发送。下面是代码,我已经通过语法检查器运行了它,就这一点而言还可以

<?php
    $name = $_POST['name'];
    $email = $_POST['email'];
    $number = $_POST['number'];
    $message = $_POST['message'];
    $from = 'From: Roofing Solutions Contact Form'; 
    $to = 'info@allroofingsolutions.com'; 
    $subject = 'Question Sent From Website Form';
    $human = $_POST['human'];

    $body = "From: $name\n E-Mail: $email\n Number: $number\n Message:\n $message";

    if ($_POST['submit'] && $human == '4') {                 
        if (mail ($to, $subject, $body, $from)) { 
            echo '<p>Your message has been sent!</p>';
        } else { 
            echo '<p>Something went wrong, go back and try again!</p>'; 
        } 
    } else if ($_POST['submit'] && $human != '4') {
        echo '<p>You answered the anti-spam question incorrectly!</p>';
    }
?>

所以我对此感到困惑。为了安全起见,以下是html表单:

<form method="post" action="contactform.php">

    <label>Name</label>
    <input name="name" placeholder="Type Here">

    <label>Email</label>
    <input name="email" type="email" placeholder="Type Here">

    <label>Contact Number</label>
    <input name="number" placeholder="Type Here">

    <label>Message</label>
    <textarea name="message" placeholder="Type Here"></textarea>

    <label>*What is 2+2? (Anti-spam)</label>
    <input name="human" placeholder="Type Here">

    <input id="submit" name="submit" type="submit" value="Submit">

</form>

名称
电子邮件
联系电话
消息
*什么是2+2?(反垃圾邮件)

谢谢你的帮助。

我不知道你在用身体和信息做什么,这对我来说很奇怪。表单应该在标题中,
add header part..
/ To send HTML mail, the Content-type header must be set
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
最常见的解决方案: 您的php部分:

$to = 'info@allroofingsolutions.com'; 
$subject = 'Question Sent From Website Form';
$message = "E-Mail: ".$_POST['email']."\n<br />Number: ".$_POST['number']."\n<hr />Message:\n ".$_POST['message'];
$headers = "From: Roofing Solutions Contact Form <".$to.">\r\n" ;
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n" ;

if ($_POST['submit'] && _POST['human'] == '4') {
    if (mail ($to, $subject, $message, $headers)) { 
        echo '<p>Your message has been sent!</p>';
    } else { 
        echo '<p>Something went wrong, go back and try again!</p>'; 
    } 
} else if ($_POST['submit'] && _POST['human'] != '4') {
    echo '<p>You answered the anti-spam question incorrectly!</p>';
}
$to='1!'info@allroofingsolutions.com'; 
$subject='从网站表单发送的问题';
$message=“E-Mail:“.$\u POST['email'].”\n
编号:“.$\u POST['Number'].\n
邮件:\n.$\u POST['message']; $headers=“From:roof Solutions Contact Form\r\n”; $headers.='MIME版本:1.0'。“\r\n”; $headers.='内容类型:文本/html;字符集=iso-8859-1'。“\r\n”; 如果($_POST['submit']&&&_POST['human']=='4'){ 如果(邮件($to,$subject,$message,$headers)){ 回显“您的邮件已发送!

”; }否则{ echo“出现问题,请返回并重试!

”; } }否则如果($_POST['submit']和&&_POST['human']!='4'){ echo“您错误地回答了反垃圾邮件问题!

”; }
你的
$from
看起来很吓人。-1你的from副本应该在标题中。参见本页示例2:谢谢你,皮埃尔。我很高兴像你这样的人在这个网站上。可悲的是,这附近有太多的法比安人,我根本不喜欢这里。这始终是最后一个调用端口。