我正在制作一个网页,该网页的形式应该是填写后将所有信息发送到电子邮件中。但是,我似乎无法使其正常运行,这使我发疯。我是一个初学者,所以我想知道是否有人可以帮助我?
PHP和我不是最好的朋友...尽管如此,我没有放弃。看来我已经设法将index.php与contact-form-php连接起来,但是,无论何时尝试,它都无法捕获键入到表单中的信息,而是向我发送“ else” 操作,这只是一条消息,指出存在错误。我真的不知道该怎么解决。
HTML
<form class="form-align mx-5 ml-md-0" action="contact-form.php" method="post">
<input class="form-control my-3 inputname" type="text"
placeholder="Name" id="dname">
<input class="form-control my-3 inputemail" type="email"
placeholder="Email" id="demail">
<textarea class="form-control my-3 inputtext" type="text"
placeholder="We're all ears..." rows="5" id="dtext"></textarea>
<a href="https://vivasox.com/"><button type="submit"
class="btnsend">SEND</button></a>
</form>
PHP
<?php
/* Capturing variables */
$demail= ( empty($_POST["demail"]) ) ? NULL : $_POST["demail"];
$dname= ( empty($_POST["dname"]) ) ? NULL : $_POST["dname"];
$dtext= ( empty($_POST["dtext"]) ) ? NULL : $_POST["dtext"];
/* Verifying POST */
if ($demail && $dname && $dtext){
$for = 'myemail@hotmail.com';
$mailheader = "From: ".$demail."\r\n";
$mailheader .= "Content-type: text/html; charset=utf-8\r\n";
$MESSAGE_BODY = "Nombre: ".$dname."\n";
$MESSAGE_BODY .= "\n<br>Email: ".$demail."\n";
$MESSAGE_BODY .= "\n<br>Mensaje: ".nl2br($dtext)."\n";
mail($for, $MESSAGE_BODY, $mailheader) or die("Sorry. There seems to be a problem. Please try sending your message again!");
header("Location: https://socklesslooksolution.com/");
}else{
/* Error message */
echo "Error: Please fill the form!";
}
?>
我希望它发送电子邮件,然后返回站点的主页,但它们都不做。
非常感谢您的光临!
答案 0 :(得分:2)
您的输入内容和文本区域缺少name
属性,您需要使用该属性在提交表单时发送值:
<form class="form-align mx-5 ml-md-0" action="contact-form.php" method="post">
<input class="form-control my-3 inputname" type="text" name="dname" placeholder="Name" id="dname">
<input class="form-control my-3 inputemail" type="email" name="demail" placeholder="Email" id="demail">
<textarea class="form-control my-3 inputtext" type="text" name="dtext" placeholder="We're all ears..." rows="5" id="dtext"></textarea>
<a href="https://vivasox.com/"><button type="submit" class="btnsend">SEND</button></a>
</form>