我有一个html表单,它通过POST将数据发送到php文件,而php文件应该处理数据(制作一个漂亮的结构)并通过邮件发送。
但是$ _POST变量是完全空的....
我有这个小的html表单:
<form id="form" method="post" action="formmailer.php">
<div id="input1">
<input name="name" type="text" placeholder="Ihr Name"> <br>
<input name="email" type="email" placeholder="Ihre E-Mail"> <br>
</div>
<div id="input2">
<textarea name="nachricht" rows="10" cols="30"></textarea> <br>
<input type="submit" value="" name="submit" id="submit">
</div>
</form>
formmailer.php使用以下变量:
<?php //
if(isset($_POST['nt']) && isset($_POST['ntb']))
{
//
$an = "info@website.de";
$name = $_POST['name'];
$email = $_POST['email'];
$nachricht = $_POST['nachricht'];
// Mailheader UTF-8
$mail_header = 'From:' . $email . "n";
$mail_header .= 'Content-type: text/plain; charset=UTF-8' . "rn";
// create layout
$message = "
Name: $name
Email: $email
Nachricht: $nachricht
";
// send mail
mail($an, $message, $mail_header );
}
else {
echo("<p>Email delivery failed…</p>");
}
?>
如果我使用这个if语句
if (isset($_POST["submit"]))
邮件正在发送,但完全是空的。
我是瞎了吗?应该真的很容易,不应该吗?答案 0 :(得分:2)
isset($_POST['nt']) && isset($_POST['ntb'])
在html中,我找不到nt
和ntb
字段。
使用isset($_POST["submit"])
时。在Post
数组php中查找submit
值。但是您没有在表单字段中输入任何值,这就是您在邮件中获取空值的原因。
答案 1 :(得分:0)
将此行替换为formmailer.php
if (isset($_POST['nt']) && isset($_POST['ntb']))
为:
if ($_POST)
我希望这会有所帮助。