所以基本上我正在尝试创建一个表单,用户可以输入他们的姓名,电子邮件,消息等,点击提交,信息被编译并发送到我的电子邮件地址。单击“提交”后会发生什么,您将被重定向到新页面joeyorlando.me/php/index.php。
点击“提交”后我想要的是在提交按钮旁边弹出一个小框,说“#34;感谢您提交的内容" (或类似的东西),页面不会被重定向,而是与页面保持同一页面。
如何阻止提交按钮将您发送到此新页面?任何建议将不胜感激!!
<?php
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$company = $_POST['company'];
$phone = $_POST['phone'];
$email = $_POST['email'];
$message = $_POST['message'];
$human = $_POST['human'];
$from = 'From: $firstname $lastname';
$to = 'joey@joeyorlando.me';
$subject = 'You Have a New Form Submission!';
$body = "From: $firstname $lastname\n Company: $company Phone: $phone \n E-Mail: $email\n Message:\n $message";
if ($_POST['submit']) {
if ($firstname != '' && $lastname != '' && $email != '' && $message != '') {
if ($human == '14') {
if (mail ($to, $subject, $body, $email)) {
echo '<p>Your message has been sent!</p>';
} else {
echo '<p>Something went wrong, go back and try again!</p>';
}
} else if ($_POST['submit'] && $human != '14') {
echo '<p>You answered the question incorrectly!</p>';
}
} else {
echo '<p>You need to fill in all required fields!!</p>';
}
}
?>
答案 0 :(得分:2)
您可以使用AJAX将表单发送到另一个脚本并等待显示错误或成功消息的响应。
<script>
$(document).ready(function() {
$('#my-form').submit(function() {
$.ajax({
url: 'script.php',
method: 'post,'
/* TODO: add data */
}).done(function(response) {
alert(response);
});
return false;
});
});
</script>
<form id="my-form" method="post" action="script.php">
<input type="submit" value="submit">
<form>
答案 1 :(得分:0)
正如Jake建议的那样,你可以使用Ajax,或者你可以在同一个php文件中编写表单。然后,在完成所有验证步骤后,如果一切正常,则回显成功;)
if(isset($_POST['submit']))
{
//the code you've posted + sucess message
}
<form name="name_of_form" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" >
//Input form
</form>
答案 2 :(得分:0)