Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.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,我创建了非常简单的消息表单,但存在一些问题。至少已发送消息并显示感谢页面,但有通知: 未定义索引:第14行的public_www/n../contact-form-handler.php中的名称 另一个错误是名称未发送 谢谢你的提示 <form class='contact_form' method="POST" action="contact-form-handler.php" > <ul> <li> <label for="name" >

我创建了非常简单的消息表单,但存在一些问题。至少已发送消息并显示感谢页面,但有通知: 未定义索引:第14行的public_www/n../contact-form-handler.php中的名称 另一个错误是名称未发送

谢谢你的提示

<form class='contact_form' method="POST"  action="contact-form-handler.php" > 
<ul>
<li>
<label for="name"  >Name:</label>
<input type="text"  id="name" />
</li>
<li>
<label for="email" id="email">Email:</label>
<input type="email" name="email"  />
</li>
<li>
<label for="message" id="message">Message:</label>
<textarea name="message" cols="40" rows="6" required ></textarea>
</li>
<li>
<button class="submit" value="submit">Submit Form</button>
</li>
</ul>
</form>
PHP是:

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST")  {
$to = "test@test.com";
$subject = "Contact";
$name_field = $_POST['name'];
$email_field = $_POST['email'];
$message = $_POST['message'];
$body = "From: $name_field\n E-Mail: $email_field\n Message:\n $message";
echo   include( "contact-form-thank-you.html" );
    mail($to, $subject, $body);
} else {
echo include( "contact-form-error.html" );
}
 ?>

你的html是错误的!这应该起作用:

<form class='contact_form' method="POST"  action="contact-form-handler.php" > 
<ul>
<li>
<label for="name"  >Name:</label>
<input type="text"  name="name" />
</li>
<li>
<label for="email" id="email">Email:</label>
<input type="email" name="email"  />
</li>
<li>
<label for="message" id="message">Message:</label>
<textarea name="message" cols="40" rows="6" required ></textarea>
</li>
<li>
<button class="submit" value="submit">Submit Form</button>
</li>
</ul>
</form>

您将您的姓名输入的id和姓名弄混了

您的html是错误的!这应该起作用:

<form class='contact_form' method="POST"  action="contact-form-handler.php" > 
<ul>
<li>
<label for="name"  >Name:</label>
<input type="text"  name="name" />
</li>
<li>
<label for="email" id="email">Email:</label>
<input type="email" name="email"  />
</li>
<li>
<label for="message" id="message">Message:</label>
<textarea name="message" cols="40" rows="6" required ></textarea>
</li>
<li>
<button class="submit" value="submit">Submit Form</button>
</li>
</ul>
</form>

当您想使用表单传递某些内容时,您混淆了名称输入的id和名称。重要属性是名称:

<input type="text"  id="name" name="name" />
有了这个,它应该会起作用

id用于引用DOM中的元素,即在使用Jquery或javascript时


该名称是提交表单时使用的名称。

当您要使用表单传递内容时,重要属性是名称:

<input type="text"  id="name" name="name" />
有了这个,它应该会起作用

id用于引用DOM中的元素,即在使用Jquery或javascript时

提交表单时使用的名称。

您的名称输入没有名称属性。id属性本身并不意味着$\u POST数组条目被发送到脚本。只有具有名称属性的输入中的数据才会发送到PHP脚本,只要它们没有禁用的属性。

您的名称输入没有名称属性。id属性本身并不意味着$\u POST数组条目被发送到脚本。只有带有name属性的输入中的数据才会被发送到PHP脚本,只要它们没有禁用的属性。

您忘记添加了

name="name"
里面

<input type="text"  id="name" />
你忘了加上

name="name"
里面

<input type="text"  id="name" />

重新格式化您的html。。。。你的格式太糟糕了!请研究未定义索引的含义。我还建议您使用现有的库或类,例如.echo include?真奇怪。请参阅重新格式化您的html。。。。你的格式太糟糕了!请研究未定义索引的含义。我还建议您使用现有的库或类,例如.echo include?真奇怪。看,谢谢你,我知道,这一定是愚蠢的事情,但我一直在寻找PHP。很好!谢谢ManThank你,我知道,这一定很愚蠢,但我一直在看PHP。很好!谢谢你,伙计