使用php重定向到上一页

时间:2017-07-27 09:22:25

标签: php html post

提交按钮位于contact-us.html,代码位于contact-us.php

我尝试使用header('Location: example');但没有运气......(我也尝试使用网页的网址:header('Location: http://www.example.com/contact-us.html');

有什么想法吗?

<?php

if($_POST["submit"]) {

    $recipient="example@gmail.com";
    $subject="Form to email message";
    $sender=$_POST["firstname"];
    $senderlast=$_POST["lastname"];
    $senderemail=$_POST["senderemail"];
    $message=$_POST["message"];
    $mailBody="First Name: $sender\nLast Name: $senderlast\nEmail: $senderemail\n\nMessage: $message";

    header('Location: /contact-us.html'); /*Something Wrong?*/

    mail($recipient, $subject, $mailBody, "From: $sender <$senderemail>")
}

5 个答案:

答案 0 :(得分:0)

你有没有试过看看引用者? PHP有一个功能。

header('Location: ' . $_SERVER['HTTP_REFERER'])

这意味着如果它来自cnotact.html,它将会看到它是如何到达并返回的。如果您在另一页上有第二个联系表格,则易于使用。

我需要补充一点,虽然这可能不适用于安全页面。 (所以,如果你通过https运行它)可能会被劫持标头(特别是如果浏览器没有发送请求)。

答案 1 :(得分:0)

以下是我的表现:

我建议使用$ _SESSION存储以前的网址:

page1.php中

<?php
    $url                  = 'http://'. $_SERVER[HTTP_HOST]. $_SERVER[REQUEST_URI];
    $_SESSION['previous'] = $url;

使page2.php

<?php
    if ($_SESSION['previous'] !== '') {
        header('Location: '. $_SESSION['previous']);
    }

$ _ SESSION类似饼干,但效果要好得多。更容易使用,因为它只是使用数组 - 更多信息可以在这里找到:http://uk1.php.net/manual/en/reserved.variables.session.php

答案 2 :(得分:0)

您确定自己有一个名为submit的属性按钮吗?如果是,也可以试试这个:

<?php
if($_POST["submit"]) {

    $recipient="example@gmail.com";
    $subject="Form to email message";
    $sender=$_POST["firstname"];
    $senderlast=$_POST["lastname"];
    $senderemail=$_POST["senderemail"];
    $header = "MIME-Version: 1.0" . "\r\n";
    $header .= "Content-type:text/html;charset=UTF-8" . "\r\n";
    $header .= 'From: $sender <$senderemail>' . "\r\n";
    $message=$_POST["message"];
    $mailBody="First Name: $sender\nLast Name: $senderlast\nEmail: $senderemail\n\nMessage: $message";


    if(mail($recipient, $subject, $mailBody, $header)){

        header('Location:contact-us.html'); /*Something Wrong?*/
    }
}

如果没有,那么你的代码永远不会进入if块

答案 3 :(得分:0)

尝试使用JavaScript window.location重定向 注意:将window.location.href('contact-us.html');包装到脚本标记

示例:

echo "<script>window.location.href('contact-us.html');</script>";

答案 4 :(得分:-2)

header('Location:  contact-us.html'); /*Something Wrong?