如何重定向html页面表单的PHP页面?

问题描述 投票:0回答:4

这个代码打开index.html文件的两个文件mail_handler.phpmail_handler.php但我不想打开该文件直接打开HTML文件index.html的消息。

提交!!

在看到快速的"email sent“消息后,我希望用户被引导回index.htmlmailhandler_auto.php页面。

mail_handler.php

<?php
        if(isset($_POST['submit'])){
            $name=$_POST['name'];
            $email=$_POST['email'];
            $phone=$_POST['subject'];
            $msg=$_POST['msg'];

            $to='[email protected]'; // Receiver Email ID, Replace with your email ID
            $subject='Form Submission';
            $message="Name :".$name."\n"."Phone :".$phone."\n"."Subject :".$subject."\n"."Wrote the following :"."\n\n".$msg;
            $headers="From: ".$email;

    enter code here
            if(mail($to, $subject, $message, $headers)){
            echo '<script>alert("insert successfull");</script>';
          }
            else{
                echo "Something went wrong!";
            }
        }
    ?>

这是index.html文件我已经使用了动作方法,但在此代码中移动mail_handler.php页面,但我想去index.html页面index.html

    <form action="mail_handler.php" method="post" name="form" class="">
                  <div class="form-group ">
                    <div class="">
                      <input class="form-control input-lg" type="text" name="name" placeholder="Name*" required >
                    </div><br>
                    <div class="">
                      <input class="form-control input-lg" type="email" name="email" placeholder="Email Address*" required >
                    </div><br>
                    <div class="">
                      <input class="form-control input-lg" type="subject" name="subject" placeholder="Subject*" required >
                    </div><br>
                    <div class="">
                      <textarea class="form-control" name="msg" placeholder="Message*" required  rows="8" cols="80"></textarea>
                    </div><br>
                    <div class="">
                      <button class="btn btn-danger btn-lg" type="submit" value="send" name="submit">SUBMIT</button>
                    </div>
                  </div>
                </form>
php html email
4个回答
1
投票

发送邮件后,您可以通过两种方式重定向页面

1)使用像您在这里使用的JavaScript来显示警报。在这里,您只需添加下面给出的脚本即可。它会重定向

window.open("index.html","_parent"); 

2)通过使用PHP也可以做同样的事情。下面是示例。请在if循环中添加脚本

header('Location: index.html'); 

要么

header('Location: ./'); 

请试试这个。


0
投票

在html的标头标签中试试这个:

`<meta http-equiv="refresh" content="5;url=http://www.example.com/page2.php">`

这将在5秒后重定向。有关更多信息,请参阅here


0
投票

正如其他答案中已经建议的那样,您可以通过javascript与window.open重定向:

window.open("index.html","_self");

或通过php与header()

header('Location: index.html');

您还可以选择在同一个文件中执行所有操作:

$message=NULL;
if(isset($_POST['submit'])){
    $name=$_POST['name'];
    $email=$_POST['email'];
    $phone=$_POST['subject'];
    $msg=$_POST['msg'];

    $to='[email protected]'; // Receiver Email ID, Replace with your email ID
    $subject='Form Submission';
    $message="Name :".$name."\n"."Phone :".$phone."\n"."Subject :".$subject."\n"."Wrote the following :"."\n\n".$msg;
    $headers="From: ".$email;


    if(mail($to, $subject, $message, $headers)){
        $message= '<script>alert("insert successfull");</script>';
    }
    else{
        $message "Something went wrong!";
    }
}


<form action="index.php" method="post" name="form" class="">
<div class="form-group ">
    <div class="">
        <input class="form-control input-lg" type="text" name="name" placeholder="Name*" required >
    </div><br>
    <div class="">
        <input class="form-control input-lg" type="email" name="email" placeholder="Email Address*" required >
    </div><br>
    <div class="">
        <input class="form-control input-lg" type="subject" name="subject" placeholder="Subject*" required >
    </div><br>
    <div class="">
        <textarea class="form-control" name="msg" placeholder="Message*" required  rows="8" cols="80"></textarea>
    </div><br>
    <div class="">
        <button class="btn btn-danger btn-lg" type="submit" value="send" name="submit">SUBMIT</button>
    </div>
</div>

然后你可以创建一个条件

if ($message) {
    echo $message;
    } else {
//show the form
}

显示表单或消息

请注意,使用一个文件中的所有逻辑可以更容易,更快速,但在刷新页面时容易发生重复发送。

看看Post/Redirect/Get pattern了解更多


0
投票

尝试

  echo '<script>location.replace("index.html");</script>';
© www.soinside.com 2019 - 2024. All rights reserved.