Mit einem kleinen Kontaktformular, aber wenn das Formular gesendet/gesendet wird, bekomme ich eine "No data" Nachricht."Keine Daten" beim Absenden des Kontaktformulars?
<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>
Die 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';
}
?>
Ich habe so lange auf sie gestarrt es ist verschwommen, so ist es wahrscheinlich ein dummer Fehler. Irgendwelche Hilfe geschätzt?
folgen ist dies, weil Sie don 't haben keine Eingabe mit dem Namen 'Felder' so' $ _POST [' fileds '] 'ist nicht gesetzt –
in Ihrer Form kein Wert gibt es mit Namen' Felder' deshalb 'if (! isset ($ _ POST [" Felder "])) { sterben (" keine Daten "); } 'ist immer wahr und du bekommst nichts –
überprüfe nur nach' $ _POST ['submit'] ', dann weise ganze' $ fields = $ _POST' zu; – mitkosoft