[英]How can I send a user to another url without a header redirect?
我正在學習PHP並且一直在尋找這個。 我想要實現的是這樣的:
if (true/false) {
go to this url;
}
每次我搜索像php重定向或php鏈接等術語時,99%的時間我會得到一些“標題”。 我讀到頭重定向可以實現這一點,但沒有代碼可以在它之前,它必須首先在頁面上,否則它不會工作。
如果是這樣,那么我該如何實現呢?
我讀到頭重定向可以實現這一點,但沒有代碼可以在它之前。 它必須首先在頁面上,否則它不會工作。
那是錯的。 在此之前必須沒有輸出 。 因此,您必須確保,之前沒有echo
, print
, ?>something<?php
(或其他)。
if (true) {
header('Location: ' . $url, false, 302);
exit; // Ensures, that there is no code _after_ the redirect executed
}
請記住,在發送任何實際輸出之前,必須通過普通HTML標記,文件中的空行或PHP來調用header()。 使用include()或require(),函數或其他文件訪問函數讀取代碼是一個非常常見的錯誤,並且在調用header()之前輸出空格或空行。 使用單個PHP / HTML文件時存在同樣的問題。
echo '<script type="text/javascript"> document.location = "http://yoururl.com";</script>'
這將在執行此部分腳本時執行。
如果在重定向之前需要一些輸出,則可以使用此方法:
header("refresh: $time_in_seconds; url=$your_url);
但是,在輸出實際發送之前,您仍然必須調用它。 發送標題,然后發送您的輸出 - 頁面將在指定的時間內“重定向”。
免責聲明:我必須承認,我不確定這是什么含義,也無法找到它的文檔,所以我不一定會推薦它 - 但我可以驗證它是否有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.