0

我有一个 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…&lt;/p>");
  }

?>

如果我使用这个 if 语句

if (isset($_POST["submit"]))

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

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

4

2 回答 2

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

在 html 中我找不到ntntb字段。

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

于 2013-08-23T19:34:59.523 回答
0

将此行替换为formmailer.php

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

到:

if ($_POST)

我希望这有帮助。

于 2013-08-23T19:57:23.053 回答