Php 消息表单不工作
我创建了非常简单的消息表单,但存在一些问题。至少已发送消息并显示感谢页面,但有通知: 未定义索引:第14行的public_www/n../contact-form-handler.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" >
<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。很好!谢谢你,伙计