/ / PHP Form Message - PHP, HTML, Formulare, E-Mail

PHP Form Message - PHP, HTML, Formulare, E-Mail

Ich habe also ein Formular:

<form method="post" action="contactus.php?message=ok" name="myForm" autocomplete="off">
<label for="Name">Name:</label>
<input type="text" name="Name" id="Name" maxlength="60" required/>

<label for="email">Email:</label>
<input type="text" name="email" id="email" maxlength="120" required/>

<label for="message">Message:</label><br />
<textarea name="message" rows="20" cols="20" id="message" required></textarea>

<input type="submit" name="submit" value="Submit" class="submit-button" onsubmit="displayMessage()" />

Und der Code, um die E-Mail zu senden:

<?php
if($_POST["submit"]) {
// The message
$message=$_POST["message"];
$email=$_POST["email"];
// In case any of our lines are larger than 70 characters, we should use    wordwrap()
$message = wordwrap($message, 70, "rn");
// Send
mail("myemail.co.uk", $email, $message);
$sent_mail = true;
}
?>

Und schlussendlich:

<?php
if (isset($sent_mail)) {
echo "Thank you. We will be in touch soon.";
}
?>

Wenn die E-Mail gesendet wird, wird sent_mail auf gesetzt"true" und daher sollte die Dankesnachricht wiederholt werden. Aber im Moment funktioniert das nicht. Die E-Mail wird zuerst gesendet, aber die Dankesnachricht wird nicht angezeigt. Grundsätzlich brauche ich nur eine Dankesnachricht, um irgendwo auf der Seite zu erscheinen, wenn der Senden-Button gedrückt wird.

Irgendwelche Ideen?

Antworten:

2 für die Antwort № 1

Verwenden Sie statt isset einfach if

So was

<?php
if ($sent_mail) {
echo "Thank you. We will be in touch soon.";
}
else
echo "Unale to send message";
?>

2 für die Antwort № 2

mail Die Funktion gibt einen Booleschen Wert (true / false) zurück

if (mail("myemail.co.uk", $email, $message)) {
echo "Thank you. We will be in touch soon.";
} else {
echo "Something went wrong, the email was not sent!";
}

Auch die Struktur von mail (Die Parameter) sind An-Adresse, Betreff, Nachricht. Was bedeutet, dass Ihr derzeitiger Betreff die E-Mail-Adresse ist? Ich bin mir nicht sicher, ob Sie dies beabsichtigt haben.


0 für die Antwort № 3

Benutzen

if(mail("myemail.co.uk", $email, $message))
$sent_mail = true;
else
$sent_mail = false;

Und schlussendlich:

<?php
if ($sent_mail) {
echo "Thank you. We will be in touch soon.";
}
else
echo "Message cannot be send";
?>

0 für die Antwort № 4

Sie weisen $ sent_mail einen Booleschen Wert zu und setzen ihn auf True.

<?php if($sent_mail){
echo "Email sent successfully";} ?>