2012-07-04 37 views
7

Tôi cần biết liệu một người đến trang web của tôi có đến từ một trang web cụ thể khác không. Ví dụ:Nhận trang cuối cùng truy cập

  • Người dùng A truy cập www.youtube.com/myvideo và nhấp vào liên kết đến trang web của tôi.
  • Người dùng B truy cập vào google, tìm kiếm trang web của tôi và nhấp vào liên kết.

Kết quả nhắn trên trang của mình:

  • dùng A: Welcome! You already know how it works, register now!
  • Người dùng B: Welcome! Please watch our video first at www.youtube.com/myvideo

Câu hỏi của tôi là:

  1. Có thể biết url cuối cùng mà người dùng đã truy cập trước khi vào trang của tôi?
    Tôi đã thử $_SERVER['HTTP_REFERER'] với PHP, nhưng nó không hoạt động chính xác và tôi đọc không hoạt động trên tất cả các trình duyệt.
  2. Có bất kỳ ngôn ngữ hoặc tập lệnh php nào để nhận url này, hoạt động trên tất cả trình duyệt chính xác không?
+0

Người giới thiệu là cách duy nhất để làm điều này và nó khá đáng tin cậy. Làm thế nào nó không hoạt động cho bạn, bạn nhận được gì? –

+0

Như @Pekka đã đề cập, người giới thiệu là khá đáng tin cậy, nó được hỗ trợ bởi tất cả các trình duyệt afaik. –

+0

nếu bạn kiểm soát liên kết được sử dụng bởi youtube bạn có thể thêm theo dõi nó –

Trả lời

14

Tiêu đề tham chiếu HTTP là cách duy nhất. Đây là dữ liệu được cung cấp cho bạn bằng PHP qua $_SERVER['HTTP_REFERER'].

Lưu ý rằng tiêu đề này sẽ hoạt động trong hầu hết các trường hợp. Cũng lưu ý rằng nó có thể dễ dàng giả mạo.

+0

Tôi biết điều đó, nhưng đó không phải là một vấn đề ... Cảm ơn bạn anyway. Chỉ muốn có ý kiến ​​nếu có thể sử dụng phương pháp khác. –

2

Tại sao không thêm một biến GET để liên kết trên youtube - www.yoursite.com/?referrer=youtube

Đối với sự thận trọng và xuất hiện bạn có thể viết lại URL để cái gì đó như www.yoursite.com/youtube

+3

Nó được gọi là tham số (GET). – Gant

0
<?php 
    if (strpos($_SERVER['HTTP_REFERER'],'youtube') !== false){ 
     echo 'Welcome! You already know how it works, <a href="/register">register now!</a>'; 
    } else { 
     echo 'Welcome! Please watch our video first at <a href="www.youtube.com/myvideo">www.youtube.com/myvideo</a>'; 
}?> 
Các vấn đề liên quan