Saya menggunakan $_SERVER['HTTP_REFERER'];
untuk mendapatkan Url perujuk. Ini berfungsi seperti yang diharapkan sampai pengguna mengklik halaman lain dan perujuk berubah ke halaman terakhir.
Bagaimana cara menyimpan Url pengarah asli?
Saya menggunakan $_SERVER['HTTP_REFERER'];
untuk mendapatkan Url perujuk. Ini berfungsi seperti yang diharapkan sampai pengguna mengklik halaman lain dan perujuk berubah ke halaman terakhir.
Bagaimana cara menyimpan Url pengarah asli?
Jawaban:
Simpan baik dalam cookie (jika dapat diterima untuk situasi Anda), atau dalam variabel sesi.
session_start();
if ( !isset( $_SESSION["origURL"] ) )
$_SESSION["origURL"] = $_SERVER["HTTP_REFERER"];
http_referer
ada, karena seringkali tidak, yang dapat menyebabkan kesalahan "Indeks tidak ditentukan".
Seperti yang disarankan Johnathan, Anda mungkin ingin menyimpannya dalam cookie atau sesi.
Cara yang lebih mudah adalah dengan menggunakan variabel Sesi.
session_start();
if(!isset($_SESSION['org_referer']))
{
$_SESSION['org_referer'] = $_SERVER['HTTP_REFERER'];
}
Letakkan itu di bagian atas halaman, dan Anda akan selalu dapat mengakses pengarah pertama yang diarahkan oleh pengunjung situs.
Menggunakan Cookie sebagai tempat penyimpanan halaman referensi jauh lebih baik dalam banyak kasus, karena cookie akan menyimpan pengarah sampai browser ditutup (dan akan menyimpannya bahkan jika tab browser ditutup), jadi jika pengguna membiarkan halaman terbuka, katakanlah sebelum akhir pekan, dan dikembalikan setelah beberapa hari, sesi Anda mungkin akan kedaluwarsa, tetapi cookie akan tetap ada.
Letakkan kode itu di awal halaman (sebelum keluaran html apa pun, karena cookie hanya akan disetel dengan benar sebelum echo / print):
if(!isset($_COOKIE['origin_ref']))
{
setcookie('origin_ref', $_SERVER['HTTP_REFERER']);
}
Kemudian Anda dapat mengaksesnya nanti:
$var = $_COOKIE['origin_ref'];
Dan selain apa yang disarankan @pcp tentang meng-escape $ _SERVER ['HTTP_REFERER'], saat menggunakan cookie, Anda mungkin juga ingin meng-escape $ _COOKIE ['origin_ref'] pada setiap permintaan.
coba ini
(isset ($_SERVER['HTTP_CLIENT_IP']) ?
$_SERVER['HTTP_CLIENT_IP'] :
(isset ($_SERVER['HTTP_X_FORWARDED_FOR']) ?
$_SERVER['HTTP_X_FORWARDED_FOR'] :
$_SERVER['REMOTE_ADDR']
)
)
IP ADDRESS
tetapi posting tentang REFERER
halaman web yang mengarah ke yang dimaksud.