繁体   English   中英

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

[英]No values in $_POST variable after Submit HTML form

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

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

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

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

在HTML中我找不到ntntb字段。

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

将此行替换为formmailer.php

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

至:

if ($_POST)

我希望这有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM