Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: REFERER

Сообщения:  [1-10]   [11-14] 

 
 автор: sim5   (01.09.2007 в 16:40)   письмо автору
 
   для: brokonyer   (01.09.2007 в 16:32)
 

Зачем вам редирект? Вам идет на сервер запрос на страницу - вы ведь как-то определяете есть или нет такая страница. Неужели нельзя сразу перенаправить пользователя в нужное место, если запрашиваемой страницы нет?

   
 
 автор: brokonyer   (01.09.2007 в 16:32)   письмо автору
 
   для: sim5   (01.09.2007 в 16:23)
 

Дело в том что при помощи редиректа Реферер теряется в IE, по крайном мере используя эти 3 варианты, нужен такой способ редиректа чтоб он не терялся в IE, к чему я уже не уверен что есть такой способ.

   
 
 автор: sim5   (01.09.2007 в 16:23)   письмо автору
 
   для: brokonyer   (01.09.2007 в 15:46)
 

Я за своим IE такой странности не наблюдаю, у меня как не странно $_SERVER['HTTP_REFERER'] не возвращает пустой строки, а от вашего условия проверки у меня мозги закипели :)

   
 
 автор: brokonyer   (01.09.2007 в 15:46)   письмо автору
 
   для: sim5   (01.09.2007 в 15:33)
 

Именно зависить

if($HTTP_SERVER_VARS) $__url['referer'] = $HTTP_SERVER_VARS['HTTP_REFERER']; 
     elseif($_SERVER) $__url['referer'] = $_SERVER['HTTP_REFERER']; 
          else $__url['referer'] = "";


Реферер регулируется браузером
$__url['referer'] во всех случиях возвращается пустой в IE, в остальных браузерах почти нормально (нормально варианте 2, Реферер показывает в Opera и в Firefox)

   
 
 автор: sim5   (01.09.2007 в 15:33)   письмо автору
 
   для: brokonyer   (01.09.2007 в 14:58)
 

Я не понимаю, в чем у вас проблема - получить реферер? А чем вас не устраивает $_SERVER['HTTP_REFERER']? Уж этот элемент массива $_SERVER никак не будет зависить от браузера.

   
 
 автор: brokonyer   (01.09.2007 в 14:58)   письмо автору
 
   для: sim5   (01.09.2007 в 14:41)
 

У меня стоит функция

<?php
 
function GoURL($url){

// вариант 1
?>
<HTML>
<HEAD>
        <META HTTP-EQUIV='Refresh' CONTENT='0; URL=<?=$url?>'>
 </HEAD>
</HTML> 
<?
}
?>


И если какой то раздел не найден, то пользуясь этим функцием направляю на index.php?p=error&num=404

Тут я вместо Рефреш протестил эти варианты, результат тот же, IE не получает Реферер.


<?php
 
function GoURL($url){

// вариант 2
?>
<Script language="JavaScript">window.location = '<?=$url?>';</Script>
<?
}
?>



<?php
 
function GoURL($url){

// вариант 3
header("location: ".$url); 
}
?>


Тестил на IE, Opera, FireFox. Результаты выложил на верху .

На данный момент главная задача получить Реферер на IE при редиректе.

   
 
 автор: sim5   (01.09.2007 в 14:41)   письмо автору
 
   для: brokonyer   (01.09.2007 в 14:06)
 

На стороне сервера проверяйте - есть такой раздел или нет, если нет делайте перенаправление куда вам нужно с помощью header, зачем вообще вам refresh нужен в этом случае?

   
 
 автор: brokonyer   (01.09.2007 в 14:06)   письмо автору
 
   для: Bouncer   (01.09.2007 в 00:21)
 

Скажу суть для чего это, тогда может вам будет понятно.

На сайте есть разделы, когда какой то раздел не найден, он ссылается на index.php?p=error&num=404
А в этом странице стоит Реферер, где он должен определить с какой страницы был редирект, и пишет что это страница не найден. Как параметр и так можно добавить, в этом случае даже Реферер не понадобиться, а это не желательно.

   
 
 автор: Bouncer   (01.09.2007 в 00:21)   письмо автору
 
   для: brokonyer   (31.08.2007 в 17:21)
 

Примерная схема такова:
(1) Сайт -> (2) Твой сайт -> (3) Твой сайт нужная страница

На этапе (2) прописываешь:
<?
header("Location: /index.php?referer=".$_SERVER['HTTP_REFERER']);
exit;
?>

На этапе (3) прописываешь:
<?
echo $_GET['referer']; // будет выведен адрес (1) Сайта
?>

Если сайт (1) был поисковой системой, то полезно узнать по какому запросу пришел посетитель, для этого использую систему Referer: http://referer.mixed.ru
На сайте подробная инструкция.

   
 
 автор: Lelik   (31.08.2007 в 18:31)   письмо автору
 
   для: brokonyer   (31.08.2007 в 18:07)
 


<META HTTP-EQUIV='Refresh' CONTENT='0; URL=/index.php?pam=param'> 

[поправлено модератором]

   

Сообщения:  [1-10]   [11-14] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования