Mam taki formularz kontaktowy wszystko w jednym pliku. Mam jednak pytanie jak zrobić aby komunikat o powodzeniu echo $responseArray['message'] przenieść do kodu HTML. Teraz zawsze komunikat będzie się pokazywał nad formularzem, a chcę go umieścić we właściwym miejscu strony tam gdzie chciałbym aby się wyświetlał więc muszę umieć poprawnie przenieść to do właściwego miejsca w kodzie w HTMLu.
<?php
if(isset($_POST['submit'])) {
$from = htmlspecialchars(trim($_POST['email']));
$sendTo = '[email protected]';
$subject = htmlspecialchars(trim($_POST['temat']));
$fields = array('name' => 'Name', 'surname' => 'Surname', 'phone' => 'Phone', 'email' => 'Email', 'country' => 'Country', 'message' => 'Message'); // array variable name => Text to appear in email
$okMessage = 'Gracjasz poszło!';
$errorMessage = 'nie udało się wysłać';
try
{
$emailText = "Wiadomość ze strony \n=============================\n";
foreach ($_POST as $key => $value) {
if (isset($fields[$key])) {
$emailText .= "$fields[$key]: $value\n";
}
}
mail($sendTo, $subject, $emailText, "From: " . $from);
$responseArray = array('type' => 'success', 'message' => $okMessage);
}
catch (\Exception $e)
{
$responseArray = array('type' => 'danger', 'message' => $errorMessage);
}
if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
$encoded = json_encode($responseArray);
header('Content-Type: application/json');
echo $encoded;
}
else {
echo $responseArray['message'];
}
}
?>
<form action="" method="post">
First Name: <input type="text" name="first_name"><br>
Last Name: <input type="text" name="last_name"><br>
Email: <input type="text" name="email"><br>
Temat: <input type="text" name="temat"><br>
Message:<br><textarea rows="5" name="message" cols="30"></textarea><br>
<input type="submit" name="submit" value="Submit">
</form>
p.s. pytanie jeszcze jak wyśle się wiadomość to formularz staje się czysty, ale jak ktoś w pasku przeglądarki weźmie na przycisk odśwież F5 to ponownie wysyła maila czy jest sposób na wyeliminowanie tego? Chociaż nie jest to w sumie u mnie ważne ale pytam jako ciekawostka.