Post-Daten von Formular zu E-Mail
Ich würde gerne ein Formular, dass Beiträge, die Daten an meine E-Mail.
Fand ich den folgenden code und es funktioniert gut, aber ich wollen, löschen Sie einige nicht benötigte Felder. zB, wie kann ich löschen 'Nachname' und 'E-mail' Feld(N), ohne zu brechen den funktionierenden code?
HTML:
<html>
<head>
<title>Форма</title>
</head>
<body>
<form name="contactform" method="post" action="send_form_email.php">
<table width="450px">
<tr>
<td valign="top">
<label for="first_name">Name *</label>
</td>
<td valign="top">
<input type="text" name="first_name" maxlength="50" size="30">
</td>
</tr>
<tr>
<td valign="top">
<label for="telephone">Phone number</label>
</td>
<td valign="top">
<input type="text" name="telephone" maxlength="30" size="30">
</td>
</tr>
<tr>
<td valign="top">
<label for="comments">Comments *</label>
</td>
<td valign="top">
<textarea name="comments" maxlength="1000" cols="25" rows="6"></textarea>
</td>
</tr>
<tr>
<td colspan="2" style="text-align:center">
<input type="submit" value="Send">
</td>
</tr>
</table>
</form>
</body>
</html>
PHP:
<?php
if(isset($_POST['email'])) {
//EDIT THE 2 LINES BELOW AS REQUIRED
$email_to = "[email protected]";
$email_subject = "Order";
function died($error) {
//your error code can go here
echo "We are very sorry, but there were error(s) found with the form you submitted. ";
echo "These errors appear below.<br /><br />";
echo $error."<br /><br />";
echo "Please go back and fix these errors.<br /><br />";
die();
}
//validation expected data exists
if(!isset($_POST['first_name']) ||
!isset($_POST['telephone']) ||
!isset($_POST['comments'])) {
died('We are sorry, but there appears to be a problem with the form you submitted.');
}
$first_name = $_POST['first_name']; //required
$telephone = $_POST['telephone']; //not required
$comments = $_POST['comments']; //required
$error_message = "";
$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
$string_exp = "/^[A-Za-z .'-]+$/";
if(!preg_match($string_exp,$first_name)) {
$error_message .= 'The First Name you entered does not appear to be valid.<br />';
}
if(strlen($comments) < 2) {
$error_message .= 'The Comments you entered do not appear to be valid.<br />';
}
if(strlen($error_message) > 0) {
died($error_message);
}
$email_message = "Form details below.\n\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
$email_message .= "First Name: ".clean_string($first_name)."\n";
$email_message .= "Telephone: ".clean_string($telephone)."\n";
$email_message .= "Comments: ".clean_string($comments)."\n";
//create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
?>
<!-- include your own success html here -->
Thank you for contacting us. We will be in touch with you very soon.
<?php
}
?>
Nach presing Senden-button passiert nichts. Keine email, keine Nachricht. Nur saubere Seite.
Schritt eins;: formatieren. Sie brauchen nicht ein blockquote
InformationsquelleAutor Anton Gusar | 2012-05-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
HTML
PHP
Der PHP-mail-Funktion funktioniert möglicherweise nicht richtig, aus mehreren Gründen, einschließlich der Ihr hosting-provider zu deaktivieren, wenn es auf einem shared-server. Bitte, mehr Informationen über Ihre Umgebung. Ich habe bearbeitet den code so zu drucken, die Ausgabe der Funktion. Wenn es zeigt 0, dann E-Mails senden aus irgendeinem Grund fehlgeschlagen ist, und Sie werden sehen, an anderer Stelle von der code für das problem.
Wow!!! Es funktioniert jetzt. Danke!!! Leider kann ich nicht upvote für deine Antwort. Aber wissen, Sie hat mir sehr geholfen)
InformationsquelleAutor Jeshurun
Nur entfernen Sie alle Verweise auf Felder, die Sie nicht wollen. Wenn Sie eine Fehlermeldung erhalten, dann ist es Zeit, Fragen zu stellen.
Hinzufügen error reporting beim Debuggen, setzen Sie diese Zeile oben in Ihrem Skript:
error_reporting(E_ALL);
So ein post, was code, den Sie jetzt haben und die Fehlermeldung
dann sagen Sie genau, was nicht funktioniert. Alle Hinweise, Fehler, passiert nichts?
Getan. Jetzt können Sie sehen code, der nicht funktioniert
Entfernen Sie das @ vor dem mail-Funktion, überprüfen Sie die Protokolle auf Fehler
InformationsquelleAutor ilanco