[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Header("Location и $_SERVER['HTTP_REFERER']
111111
Знатоки помогите пожалуйста!Из стр1 отправляю форму в стр2. в стр2 после проверок возвращаю на стр1 через Header("Location Дальше хочу определить в стр1 что я именно из стр2 пришел. Но мне вызывая в стр1 $_SERVER['HTTP_REFERER'] показывает что я из стр1, а не из стр2.



Спустя 53 минуты, 26 секунд (10.08.2012 - 14:21) kamanch написал(а):
$_SERVER['HTTP_REFERER'] адрес страницы, с которой пришел пользователь по ссылке, а не был редиректнут.
Если нужно знать, откуда был редирект, записывай адрес покидаемой страницы в сессию, а на второй читай сессию.
Но вот что-то не могу придумать ни одну ситуацию, чтобы это пригодилось. Тебе это зачем?

Спустя 7 минут, 53 секунды (10.08.2012 - 14:29) Игорь_Vasinsky написал(а):
for($i=1;$i>0;$i++)
$_SESSION['referer'] = $_SERVER['HTTP_REFERER'];

Спустя 47 минут, 59 секунд (10.08.2012 - 15:17) 111111 написал(а):
Спасибо

Спустя 22 минуты (10.08.2012 - 15:39) killer8080 написал(а):
Цитата (kamanch @ 10.08.2012 - 15:21)
$_SERVER['HTTP_REFERER'] адрес страницы, с которой пришел пользователь по ссылке, а не был редиректнут.

Referer это заголовок, который выставляет браузер, при переходах с одной страницы на другую. Каким путем был совершен переход не имеет значения, даже при редиректах он будет работать. Другое дело, что он не является обязательным. Его можно отключить в настройках браузера, или может порезать фаервол, или анонимайзер. В общем полагаться на него особо не стоит, лучше передавать returnpath через GET.

Спустя 17 минут, 1 секунда (10.08.2012 - 15:56) kamanch написал(а):
killer8080

Пробуй:
session_start();
if(!$_SESSION['stop']) {
$_SESSION['stop'] = true;
header("location: ".$_SERVER['PHP_SELF']);
exit;
}

echo $_SERVER['HTTP_REFERER'];

Спустя 27 минут, 46 секунд (10.08.2012 - 16:24) killer8080 написал(а):
Цитата (kamanch @ 10.08.2012 - 16:56)
Пробуй:

Попробовал, работает smile.gif

Спустя 11 минут, 42 секунды (10.08.2012 - 16:35) kamanch написал(а):
научи smile.gif
Почему у меня не работает?
При переходе по ссылке рефер возвращается, а при редиректе нет.

Спустя 1 день, 1 час, 34 минуты, 25 секунд (11.08.2012 - 18:10) killer8080 написал(а):
Цитата (kamanch @ 10.08.2012 - 17:35)
Почему у меня не работает?

Браузер какой?

Спустя 34 минуты, 50 секунд (11.08.2012 - 18:45) kamanch написал(а):
На всех перепробовал. Опера, Мозила, Хром, Эксплорер
Выбирай любой smile.gif

Спустя 27 минут, 15 секунд (11.08.2012 - 19:12) killer8080 написал(а):
kamanch
хм, да действительно не передается, если тестить твой код в чистом виде.
Вчера я его запускал в своем дебагере,
Свернутый текст
header("Content-Type:text/html; charset=utf-8");
$_SERVER['REMOTE_ADDR'] == '127.0.0.1' || die('Restricted Access');

ob_start();
error_reporting(E_ALL | E_STRICT);

$php_tag = "<?php\r\n\r\n";
if(isset($_POST['eval']))
file_put_contents('eval.tmp.php', $php_tag . $_POST['eval']);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<
head>
<
meta http-equiv="content-type" content="text/html; charset=utf-8" />

<
title>PHP Debugger</title>
<
style type="text/css">
.
highlight{
background-color: #008;
color: #FFF;
font-size: 12px;
margin: 0;
padding: 12px 3px;
text-align: right;
font-family: sans-serif;
}
.php_code{
border: 2px solid #008;
background-color: #FDFDCA;
padding: 10px;
white-space: nowrap;
}
</style>
</
head>

<
body>

<
form action="" method="post">
<
textarea name="eval" cols="100" rows="20"><?php
if(isset($_POST['eval']))
echo $_POST['eval'];
elseif(file_exists('eval.tmp.php'))
echo file_get_contents('eval.tmp.php', false, null, strlen($php_tag));
?></textarea>
<
br />
<
input type="submit" />
</
form>

<
table border="0" cellspacing="0">
<
tr>
<
td class="highlight">
<?=implode('<br />', range(1, count(file('eval.tmp.php'))))?>
</td>

<
td class="php_code">
<?php highlight_file('eval.tmp.php'); ?>
</td>
</
tr>
</
table>
<
hr />
<?php

if(file_exists('eval.tmp.php'))
include('eval.tmp.php');

?>

</body>
</
html>

картина была совсем другая, странно user posted image

Спустя 3 часа, 39 минут, 2 секунды (11.08.2012 - 22:51) kamanch написал(а):
killer8080
От какая я кусочек западла happy.gif

Спустя 5 минут, 49 секунд (11.08.2012 - 22:57) killer8080 написал(а):
laugh.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.