使用一個小的聯繫表單,但是當表單被提交/發送時,我收到「無數據」消息。提交聯繫表單時顯示「無數據」?
<form method="post" action="mail.php">
<input type="text" placeholder="Name*" name="name" required>
<input type="email" placeholder="Email*" name="email" required>
<input type="text" placeholder="Subject" name="subject">
<textarea placeholder="Message" name="message" required></textarea>
<input type="submit" value="Send" name="submit">
</form>
的PHP:
<?php
// variable
$fromemail = '[email protected]_site_com'; // from mail
$to = "[email protected]"; // to mail
//
// check data
if (!isset($_POST["fields"])) {
die("No data");
}
$fields = $_POST["fields"];
if(empty($fields['name'])) {
die("No name");
}
if(empty($fields['email'])) {
die("No email");
}
if (!empty($fields['code'])) {
die("ok");
}
$subject = "Site mail: " . $fields['subject'];
// subject massege
$subject = '=?utf-8?Q?'."\"".urlencode($subject)."\"".'?=';
$subject= str_replace("%","=",$subject);
$subject = str_replace("+","_",$subject);
// content massage
$name = $name ? $name : 'unknown';
$from = 'Mail from'."<".$fromemail.">";
$mess = $mess ? $mess : 'unknown';
$message = "<b>Client name: </b> " . $fields['name'] . "<br>";
$message .= "<b>Client email: </b> " . $fields['email'] . "<br>";
/*$message .= "<b>Client phone: </b> ".$site."<br>";*/
$message .= "<b>Subject: </b> " . $fields['subject'] . "<br>";
$message .= "<b>Text:</b>\n" . $fields['text'] . "<br>";
$message .= "Sent: ".strftime("%a, %d %b %Y %H:%M:%S");
// end content massage
$headers = "Content-type: text/html; charset=utf-8 \r\n";
$headers .= "From: Site Mail <" . $fromemail . ">\r\n";
if(mail($to, $subject, $message, $headers)){
print 'ok';
} else {
print 'email not senta';
}
?>
我在它的眼前,只要它是一個模糊的,所以它可能是一個愚蠢的錯誤。任何幫助讚賞?
這是因爲你不'沒有任何名稱爲'fields'的輸入,所以'$ _POST ['fileds']'沒有在你的窗體中設置 –
沒有值名稱'fields'那就是爲什麼'if(!isset($ _ POST [字段「])){die(」No data「); }'總是如此,你什麼也沒得到 –
只檢查'$ _POST ['submit']',然後分配整個'$ fields = $ _POST'; – mitkosoft