提交HTML表单后,$ _POST变量中没有值

时间:2013-08-23 19:32:46

标签: php html

我有一个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"]))

邮件正在发送,但完全是空的。

我是瞎了吗?应该真的很容易,不应该吗?

2 个答案:

答案 0 :(得分:2)

isset($_POST['nt']) && isset($_POST['ntb'])

在html中,我找不到ntntb字段。

使用isset($_POST["submit"])时。在Post数组php中查找submit值。但是您没有在表单字段中输入任何值,这就是您在邮件中获取空值的原因。

答案 1 :(得分:0)

将此行替换为formmailer.php

if (isset($_POST['nt']) && isset($_POST['ntb']))

为:

if ($_POST)

我希望这会有所帮助。