Hướng dẫn php redirect without header - chuyển hướng php không có tiêu đề

21

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Biểu mẫu liên hệ này đang hoạt động để xử lý một gửi và sau đó chuyển hướng đến một trang mới và sau đó đột nhiên chỉ ngừng hoạt động. Tôi đã thử thêm xử lý lỗi và cũng di chuyển tiêu đề lên đỉnh trước tất cả các loại khác, nhưng không hoạt động. Biểu mẫu vẫn đang gửi dữ liệu như mong đợi, đó chỉ là chuyển hướng không hoạt động. Có những câu chuyện mới trên trang chủ.

<?php 
include 'config.php';
$post = (!empty($_POST)) ? true : false;
if($post)
{
    $email = trim($_POST['email']);
    $subject = "Downloaded Course Units";
    $error = '';
    if(!$error)
    {
        $mail = mail(WEBMASTER_EMAIL, $subject, $message, 
        "From: ".$email."\r\n"
        ."Reply-To: ".$email."\r\n"
        ."X-Mailer: PHP/" . phpversion());
        if($mail)
        {
            echo 'OK';
            header('location: http://www.google.com.au/');
            exit();
        }
    }
}
?>

Hướng dẫn php redirect without header - chuyển hướng php không có tiêu đề

Đã hỏi ngày 25 tháng 11 năm 2014 lúc 9:51Nov 25, 2014 at 9:51

3

Sử dụng JavaScript.

Thay vì

header('location: http://www.google.com.au/');

Use,

?>
<script type="text/javascript">
window.location.href = 'http://www.google.com.au/';
</script>
<?php

Nó sẽ chuyển hướng ngay cả khi một cái gì đó là đầu ra trên trình duyệt của bạn.

Nhưng, một biện pháp phòng ngừa sẽ được thực hiện: Chuyển hướng JavaScript sẽ chuyển hướng trang của bạn ngay cả khi có một cái gì đó được in trên trang.

Hãy chắc chắn rằng nó không bỏ qua bất kỳ logic nào được viết trong PHP.

Đã trả lời ngày 25 tháng 11 năm 2014 lúc 9:58Nov 25, 2014 at 9:58

Hướng dẫn php redirect without header - chuyển hướng php không có tiêu đề

Học tròPupil

23.7K5 Huy hiệu vàng42 Huy hiệu bạc65 Huy hiệu Đồng5 gold badges42 silver badges65 bronze badges

1

Thay thế dòng

header('location: http://www.google.com.au/');
3 bằng mã dưới đây để chuyển hướng trong PHP mà không cần sử dụng hàm tiêu đề.

$URL="http://yourwebsite.com/";
echo "<script type='text/javascript'>document.location.href='{$URL}';</script>";
echo '<META HTTP-EQUIV="refresh" content="0;URL=' . $URL . '">';

Nếu bạn đang tự hỏi rằng tại sao tôi đã sử dụng cả Meta Tag và JavaScript để chuyển hướng, thì câu trả lời rất đơn giản.why I have used both Meta tag and JavaScript to Redirect, then the answer is very simple.

Nếu JavaScript bị vô hiệu hóa trong trình duyệt, thì thẻ meta sẽ chuyển hướng trang.

Đã trả lời ngày 9 tháng 4 năm 2016 lúc 10:53Apr 9, 2016 at 10:53

4

Tiêu đề không làm việc sau khi bao gồm, Echo. Hãy thử lại mà không bao gồm, Echo. Hoặc thay vì sử dụng tiêu đề chức năng

echo '<meta http-equiv="refresh" content="0; URL=http://www.google.com.au/">';

Đã trả lời ngày 25 tháng 11 năm 2014 lúc 9:56Nov 25, 2014 at 9:56

Javlon Tulkinovjavlon TulkinovJavlon Tulkinov

5521 Huy hiệu vàng5 Huy hiệu bạc20 Huy hiệu đồng1 gold badge5 silver badges20 bronze badges

0

Tôi đã giải quyết điều này với:

function GoToNow ($url){
    echo '<script language="javascript">window.location.href ="'.$url.'"</script>';
}

Sử dụng: Gotonow ('http://example.com/url-&error=value');

Đã trả lời ngày 11 tháng 4 năm 2018 lúc 1:17Apr 11, 2018 at 1:17

Hướng dẫn php redirect without header - chuyển hướng php không có tiêu đề

Nếu bạn muốn chuyển hướng đến một trang khác sau mã HTML thì hãy sử dụng phương thức JavaScript

header('location: http://www.google.com.au/');
4.

Tham khảo mã mẫu này:

<html>
    <head>
        <title> Using the href property of the Location object</title>
    </head>
    <body>
        <script language="JavaScript">
        <!--
            function show(){
                 document.location.href ="http://www.java2s.com";
            }
        -->
        </script>
        <form name="form1">
            <br>
            <input type="button" name="sethref" value="Set href" onClick='show()'>
            <br>
        </form>
    </body>
    </html>

Skully

2.2403 Huy hiệu vàng17 Huy hiệu bạc 30 Huy hiệu Đồng3 gold badges17 silver badges30 bronze badges

Đã trả lời ngày 25 tháng 11 năm 2014 lúc 11:53Nov 25, 2014 at 11:53

jay.jivanijay.jivanijay.jivani

1.5641 Huy hiệu vàng15 Huy hiệu bạc33 Huy hiệu đồng1 gold badge15 silver badges33 bronze badges

Ngoài các câu trả lời trên, bạn có thể sử dụng mã JavaScript sau đây cho cả tài liệu và cửa sổ chính, cũng như trong ifRames:

<script type="text/javascript" >
        window.open('http://www.google.com.au/', '_self');
</script>

_ Tự mở tài liệu được liên kết trong cùng một khung với nó. Opens the linked document in the same frame as it was.

Trong lệnh trên, các giá trị của tham số thứ hai tương tự như các giá trị của thuộc tính đích trong thẻ A (____ 15) trong HTML, có thể sử dụng các giá trị sau cùng với giá trị _elf:_self value:

_blank mở tài liệu được liên kết trong một cửa sổ hoặc tab mới Opens the linked document in a new window or tab

_parent mở tài liệu được liên kết trong khung cha mẹ Opens the linked document in the parent frame

_TOP mở tài liệu được liên kết trong toàn bộ phần thân cửa sổ Opens the linked document in the full body of the window

Framename mở tài liệu được liên kết trong khung được đặt tên Opens the linked document in a named frame

Đã trả lời ngày 15 tháng 5 năm 2020 lúc 0:24May 15, 2020 at 0:24

Sidocosidocosidoco

8910 Huy hiệu Đồng10 bronze badges

Bạn nên sử dụng chức năng

header('location: http://www.google.com.au/');
6 để dừng mọi tập lệnh bên dưới chức năng chuyển hướng của bạn nếu bạn đang sử dụng JavaScript. Khác, nếu ai đó tắt
header('location: http://www.google.com.au/');
7 trong trình duyệt của họ, các câu dưới đây sẽ được thực thi.

Hướng dẫn php redirect without header - chuyển hướng php không có tiêu đề

Đã trả lời ngày 25 tháng 10 năm 2021 lúc 15:28Oct 25, 2021 at 15:28

Hướng dẫn php redirect without header - chuyển hướng php không có tiêu đề

Chỉ cần một tập lệnh nhanh sử dụng

header('location: http://www.google.com.au/');
8 với
header('location: http://www.google.com.au/');
9 cho phép bạn lưu trữ tập lệnh chuyển hướng vào một biến và khá dễ đọc và cải thiện khả năng tái sử dụng.

    $homePage = "'http://localhost:8000/'";
    $redirect = <<<REDIRECT
    <script type="text/javascript">
        window.location.href = $homePage;
    </script>
    REDIRECT;

Điều đó sau này trong mã của bạn, ngay khi bạn cần nhổ ra với

?>
<script type="text/javascript">
window.location.href = 'http://www.google.com.au/';
</script>
<?php
0

echo $redirect;

Thậm chí tốt hơn, chúng ta cũng có thể thêm nó vào một hàm gọi là chuyển hướng với một số biến mặc định.

header('location: http://www.google.com.au/');
0

Chuyển đến mặc định

?>
<script type="text/javascript">
window.location.href = 'http://www.google.com.au/';
</script>
<?php
1

header('location: http://www.google.com.au/');
1

Truy cập Google Maps

header('location: http://www.google.com.au/');
2

Đã trả lời ngày 7 tháng 1 lúc 20:14Jan 7 at 20:14

Hướng dẫn php redirect without header - chuyển hướng php không có tiêu đề

Federico Baùfederico BaùFederico Baù

4.4554 Huy hiệu vàng24 Huy hiệu bạc31 Huy hiệu đồng4 gold badges24 silver badges31 bronze badges