HTML5 + PHP mail form probléma
Sziasztok!
Sajnos nagyon nem értek a PHP-hez, így lehet számotokra elég bagatell problémával fordulok hozzátok, viszont nekem ez elég fontos lenne:
Adott egy html5 weboldal egy szimpla email formmal, ami egy egyszerű php fájlt használ a levél elküldésére.
A probléma az, hogy sikeres levél küldés után egy üres oldalra irányít át, ahol a megadott "Message successfully sent!" üzenet jelenik meg.
Kérdésem a következő:
- hogy tudnám elkerülni az átirányítást, úgy hogy a sikeres üzenet akár a form alatt, felett jelenje meg, esetleg ahogy a html5 form validation üzenetek, buborékban.
- ha nem kerülhető el az átirányítás, hogyan állíthatom be, hogy 3 mp múlva automatikusan visszalépjen a kiinduló oldalra?
A php file kódja:
Kód:
<?php
// Clean up the input values
foreach($_POST as $key => $value) {
if(ini_get('magic_quotes_gpc'))
$_POST[$key] = stripslashes($_POST[$key]);
$_POST[$key] = htmlspecialchars(strip_tags($_POST[$key]));
}
// Assign the input values to variables for easy reference
$name = $_POST["name"];
$email = $_POST["email"];
$message = $_POST["message"];
// Send the email
$to = "email address";
$subject = "Contact Form: $name";
$message = "$message";
$headers = "From: $email";
mail($to, $subject, $message, $headers);
if (mail($to, $subject, $body)) {
echo("<p>Message successfully sent!</p>");
} else {
echo("<p>Message delivery failed...</p>");
}
?>
re: HTML5 + PHP mail form probléma
Talán az legegyszerűbb, ha AJAX ot használsz.
Kód:
$('form[name=kapcsolat]').submit(function(){
$.post($(this).attr('action'), $(this).serialize(), function(res){
if (res == '<p>Message successfully sent!</p>'){
alert('OK');
} else {
alert('Nem OK!');
}
});
return false;
});
re: HTML5 + PHP mail form probléma
Ezeket a sorokat rakd bele egy email.php fájlba, majd az oldalon ahol szükségvanrá includeold be oda, ahol szeretnéd hogy megjelenjen az üzenet
PHP kód:
<?php
include"email.php";
?>
Ne felejtsd el a küldő form actionjét átírni:
Kód:
<?=$SERVER["PHP_SELF"]?>" method="post ..
re: HTML5 + PHP mail form probléma
Nagyon köszönöm a válaszokat urak! Próbálkozok!