Jump to content
  • 0

Как сделать - "Сообщение отправлено" на текущей странице.


Alarr
 Share

Question

Здравствуйте. Очень прошу помочь, так как PHP только начинаю учить.

Вешаю вёрстку на WP, есть простая форма в файле index.php:


<form action="<?php echo get_template_directory_uri(); ?>/quickResponseForm.php" method="post" name="quickResponse">
<label><span>Name:</span><input name="name" type="text"></label>
<label><span>Email:</span><input name="email" type="text"></label>
<label><span>Ph:</span><input name="phone" type="text"></label>
<input type="submit" value="Send" name="submit" title="Send">
</form>

Создан обработчик quickResponseForm.php:


<?php
$result1 = mail( "qweqweqwe@list.ru","Description", "Letter was sent from 'Quick Response' form: \nName: $_POST[name] \nEmail: $_POST[email] \nPhone number: $_POST[phone]");
if ($result1) {
echo "You Message Has Been Sent.";
}
else {
echo "You Message Hasn't Been Sent.";
}
?>

Письмо на почту приходит, всё работает, но при нажатии на Submit, открывается новая страница и в ней выводится текст "You Message Has Been Sent.".

Как можно сделать так, что бы это сообщение выводилось на текущей странице и никуда не перекидывало?

Этот вопрос на форуме уже поднимался: http://forum.htmlboo...ние +отправлено

Но как я не пробовал вставлять код обработчика под или над формой в index.php, ничего не менялось :(

Заранее спасибо добрым людям:)

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

поместите форму и обработчик в один файл.

то есть index.php


<?php
if(isset($_POST['submit'])){
$result1 = mail( "qweqweqwe@list.ru","Description", "Letter was sent from 'Quick Response' form: \nName: $_POST[name] \nEmail: $_POST[email] \nPhone number: $_POST[phone]");
if ($result1) {
echo "You Message Has Been Sent.";
} else {
echo "You Message Hasn't Been Sent.";
}
}else{
?>
<form action="" method="post" name="quickResponse">
<label><span>Name:</span><input name="name" type="text"></label>
<label><span>Email:</span><input name="email" type="text"></label>
<label><span>Ph:</span><input name="phone" type="text"></label>
<input type="submit" value="Send" name="submit" title="Send">
</form>
<?}?>

Edited by wwt
Link to comment
Share on other sites

  • 0

Ajax ом отправляйте. фишка в том что, если вы при нажатии кнопку возьмете текст


jQuery("#button").click(function(){
jQuery.post(
'/quickResponseForm.php',
{
name : jQuery("#name").val(),
mail : jQuery("#Email").val(),
phone : jQuery("#phone").val()
},
function (data) {
alert(data)
}
);
});

И отправите это на обработчик через аякс, методом пост,

то при завершении (если всё прошло удачно), вы сможете вставить любой текст в нужное вам место

Edited by Николя223
Link to comment
Share on other sites

  • 0

Спасибо большое господа:))) Помогло:) Ещё просто мешала фишка вордпресса:

нужно все "name", "email", поменять к примеру на "formname", "formemail", ибо у вордпресса

уже некоторые слова уже заняты по умолчанию. Вот:)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy