Php 提交表单重定向回index.html
我正在为一个朋友创建一个网站,这是我的第一个网站。目前已经启动并托管了它 创建了一个基本的“联系我”表单,用户可以在其中填写信息,然后发送电子邮件 问题是:单击submit后,如何让网页在收到php的“您的表单已提交”响应后重定向回index.html 以下是html表单部分:Php 提交表单重定向回index.html,php,Php,我正在为一个朋友创建一个网站,这是我的第一个网站。目前已经启动并托管了它 创建了一个基本的“联系我”表单,用户可以在其中填写信息,然后发送电子邮件 问题是:单击submit后,如何让网页在收到php的“您的表单已提交”响应后重定向回index.html 以下是html表单部分: <div class="contactme" id="contactme"> <form class="form-horizontal" method="post" name="my
<div class="contactme" id="contactme">
<form class="form-horizontal" method="post" name="myemailform" action="form-to-email.php">
<fieldset>
<h2>Let's Create Together</h2>
<hr class="small">
<div class="form-group">
<label class="col-lg-2 control-label">Name</label>
<div class="col-lg-10">
<input type="text" class="form-control" name="name" placeholder="Name">
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label">E-Mail</label>
<div class="col-lg-10">
<input type="email" class="form-control" name="visitor_email" placeholder="E-Mail">
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label">Message</label>
<div class="col-lg-10">
<textarea class="form-control" rows="8" name="message"></textarea>
</div>
</div>
<div class="form-group">
<div class="col-lg-10 col-lg-offset-2">
<button type="reset" class="btn btn-default">Cancel</button>
<button type="submit" name="submit" id="submitbutton" class="btn btn-primary mainButton">Submit</button>
</div>
</div>
</fieldset>
</form>
</div>
让我们一起创造
名称
电子邮件
消息
取消
提交
下面是单独的.php代码。这在另一个文件中
<?php
if (!isset ($_POST ['submit']))
{
//This page should not be accessed directly. Need to submist the form.
echo "error, you need to submit the form!";
}
$name = $_POST ['name'];
$visitor_email = $_POST ['visitor_email'];
$message = $_POST ['message'];
//Validation
if(empty ($name)||empty ($visitor_email))
{
echo "Name and email are mandatory!";
exit();
}
else {
echo "Submit Successful!";
header("Location: index.html");
exit();
}
$email_from = 'info@joshkelley.video'; //<== Put your email address here
$email_subject = "New Form Submission";
$email_body = "You have received a new message from the user $name.\n".
"E-mail Address: $visitor_email\n".
"Here is the message: $message\n".
$to = "brandontetrick@gmail.com"; // <==Put your email address here
$headers = "From: $email_from \r\n";
//Send the email!
mail($to,$email_subject,$email_body,$headers);
//done
?>
任何帮助或提示都会很棒。谢谢 header()函数如果输出任何内容,甚至前面有空格,则该函数将不起作用。但是您可以将成功消息存储到会话变量中
首先,您必须将index.html重命名为index.php
<?php
session_start();
if(isset($_SESSION['success_msg'])) {
echo $_SESSION['success_msg'];
unset($_SESSION['success_msg']); // unset this after outputting, else it will keep showing
}
将session_start()函数添加到index.php和表单脚本(使用$_session变量的任何地方)的最顶端(同样,以前从未输出任何内容):
为此
$_SESSION['success_msg'] = "Submit Successful!";
header("Location: index.html");
exit();
在index.php中
<?php
session_start();
if(isset($_SESSION['success_msg'])) {
echo $_SESSION['success_msg'];
unset($_SESSION['success_msg']); // unset this after outputting, else it will keep showing
}
为了更好地工作,请使用Ajax。这将防止页面重新加载,所有内容都将在几秒钟内在同一页面上执行谢谢,我将如何使用Ajax来做到这一点?谢谢,我将尝试一下。如果我将index.html文件更改为index.php文件,那么更改文本编辑器上的任何设置是否会更改代码中的任何内容?否:)它将保持不变。
<?php
session_start();
if(isset($_SESSION['success_msg'])) {
echo $_SESSION['success_msg'];
unset($_SESSION['success_msg']); // unset this after outputting, else it will keep showing
}