Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.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_Forms_Email - Fatal编程技术网

PHP联系人表单发送空白电子邮件,文本输入未显示在电子邮件中

PHP联系人表单发送空白电子邮件,文本输入未显示在电子邮件中,php,forms,email,Php,Forms,Email,我的php电子邮件表单有一些问题。我早些时候问过这个问题,但意识到它措词不当,所以我删除了它,然后再试一次。我是这个论坛的新手,我仍然习惯于如何发帖 我的html联系人表单正在处理中,但发送的是空白电子邮件 下面是我的HTML表单: <form id="contact_form" class="cf" name="contact_form" action="mailscript.php" method="POST"> <div id="left_form_contai

我的php电子邮件表单有一些问题。我早些时候问过这个问题,但意识到它措词不当,所以我删除了它,然后再试一次。我是这个论坛的新手,我仍然习惯于如何发帖

我的html联系人表单正在处理中,但发送的是空白电子邮件

下面是我的HTML表单:

<form id="contact_form" class="cf" name="contact_form" action="mailscript.php" method="POST">

    <div id="left_form_container"> 
      <div class="half_left_cf">
        <input type="text" name="name" id="input_name" placeholder="Name">
        <input type="email" name="email" id="input_email" placeholder="Email address">
        <input type="text" name="subject" id="input_subject" placeholder="Subject">
      </div>   
    </div>

    <div id="right_form_container">
        <div class="half_right_cf">
            <textarea name="message" id="input_message" type="text" placeholder="Message"></textarea>
            <div id="submit_container">
            <input type="submit" name="submit" value="Submit" id="input_submit">
            </div>
        </div>  
    </div>

</form>

下面是我的php代码:

<?php

$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];

$to = "mail@thomasjeffery.design";
$body = "From: ".$name."\n E-Mail: ".$email."\n Message:\n" .$message;



if(mail ($to, $subject, $body)){


echo "<script>
alert('Thank you for sending your message!');
window.location.href='index.php';
</script>";}
    else {echo "Mail was not sent!";}


?>

您可以尝试对您的请求进行一些调试,如:

echo "<pre>";
print_r($_REQUEST);
print_r($_GET);
print_r($_POST);
echo "</pre>";
echo”“;
打印请求($);
打印(美元);;
打印(邮政美元);
回声“;

此外,您还必须确保表单方法属性为POST或GET方法。

从代码的外观来看,您似乎忘记添加表单开始标记。“

例如


可能的完整代码



回显$\u POST['name']时的输出是什么?以及您通过表单发送的内容,是否有特殊字符?抱歉,我添加的开始表单标签似乎没有粘贴。但我确实有。它只是显示为“array()”:/所以我认为输入根本没有通过。是的,如果是空数组,那么您提交的数据肯定有问题。我的建议是,仔细检查您的代码,添加我前面在操作页面中提到的调试代码,然后添加exit()函数。确保从表单中获取数据。
<form method="post" action="thepagetosubmit.php">
 <form method="post" action="thepagetosubmit.php">
    <div id="left_form_container"> 
      <div class="half_left_cf">
        <input type="text" name="name" id="input_name" placeholder="Name">
        <input type="email" name="email" id="input_email" placeholder="Email address">
        <input type="text" name="subject" id="input_subject" placeholder="Subject">
      </div>   
    </div>

    <div id="right_form_container">
        <div class="half_right_cf">
            <textarea name="message" id="input_message" type="text" placeholder="Message"></textarea>
            <div id="submit_container">
            <input type="submit" name="submit" value="Submit" id="input_submit">
            </div>
        </div>  
    </div>

</form>