[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Перенаправление страницы
copchic
Как правильно сделать перенаправление страницы через 30 секунд?



Спустя 32 минуты, 36 секунд (20.04.2010 - 10:31) NewBePhp написал(а):
copchic
если чисто перейти автомат с test1.php на test2.php то
<script>
setTimeout("location.href=\'./test2.php\';", 30000);
</script>

но если дело зайдет до конкретики и более сложной задачи то тут ajax и (ну пусть) сессии в помощь

Спустя 3 минуты, 27 секунд (20.04.2010 - 10:35) copchic написал(а):
Да нужен простой уход со страницы. Сейчас попробую скрипт.

Спустя 19 минут, 29 секунд (20.04.2010 - 10:54) copchic написал(а):
Скрипт работает, только если нажимаешь стрелку назад < то опять попадаешь на test1.php, а мне нужно уйти со страницы без возврата. Может подскажите что нибудь?

Спустя 1 час, 9 минут, 33 секунды (20.04.2010 - 12:04) phz написал(а):
А если попроб.:

<?php 
header("Refresh: 30 url=http://phpforum.ru");
?>

Спустя 28 минут, 30 секунд (20.04.2010 - 12:32) copchic написал(а):
Сейчас попробую.

Спустя 9 минут, 43 секунды (20.04.2010 - 12:42) copchic написал(а):
Не работает.

Спустя 4 минуты, 55 секунд (20.04.2010 - 12:47) Unlikely написал(а):
Думаю что браузер в любом случае воспримет переход на другую страницу и кнопка <Назад будет активна.

Можно попробовать открыть новое окно, а старое закрыть.

Спустя 4 минуты, 51 секунда (20.04.2010 - 12:52) Unlikely написал(а):
Можно ещё попробовать покопаться в referer заголовке. Хотя врятли

Спустя 20 минут, 53 секунды (20.04.2010 - 13:13) sergeiss написал(а):
Цитата (phz @ 20.04.2010 - 13:04)
header("Refresh: 30 url=http://phpforum.ru");

Тут надо точку с запятой поставить:
header("Refresh: 30; url=http://phpforum.ru");

Спустя 1 минута, 17 секунд (20.04.2010 - 13:14) copchic написал(а):
А как закрыть старое окно?

Спустя 5 минут, 52 секунды (20.04.2010 - 13:20) sergeiss написал(а):
Какое старое окно??? При рефреше новое окно открывается тут же, в "старом" окне.

Спустя 14 минут, 33 секунды (20.04.2010 - 13:34) copchic написал(а):
Не перенаправляет!!!

Спустя 22 минуты, 15 секунд (20.04.2010 - 13:57) Unlikely написал(а):
Цитата (copchic @ 20.04.2010 - 10:14)
А как закрыть старое окно?

С помощью js. Глянь в гугле

Спустя 11 минут, 7 секунд (20.04.2010 - 14:08) sergeiss написал(а):
Цитата (copchic @ 20.04.2010 - 14:34)
Не перенаправляет!!!

Код покажи...

И ответь: перед header(....) ты уже что-либо выводишь в браузер? Всякие там echo, print и тому подобное?

Спустя 9 часов, 45 минут, 41 секунда (20.04.2010 - 23:53) MatrixGod написал(а):
<?
sleep(30);
header("Location: http://phpforum.ru/");
?>

Спустя 6 часов, 16 минут, 6 секунд (21.04.2010 - 06:10) twin написал(а):
Да о чем вы вообще... Человек хочет историю угрохать, а вы ему редиректы.
Кнопка "назад" работает в браузере и вытаскивает страницу из кэша. Хоть заперенаправляйся, она там останется. Ему же кнопку заблокировать нужно.

Сделать этого нельзя впринципе.

Спустя 2 часа, 24 минуты (21.04.2010 - 08:34) NewBePhp написал(а):
MatrixGod
думаю так не желательно делать unsure.gif

copchic
вот не могу ручатся что правильно (!поправьте если что не так), но можно попробовать сделать ссылки с гет-кодами которые заносятся в сессию и при переходе на эту страницу проверяется была ли она создана перед началом перехода на эту ссылку а при возврате будет генерировать новые гет-коды. После неудачной проверки вывести пустую страницу
пример:
1) создаем ссылку
$_SESSION[gcode] = 'jvhg2jh42g4hg124hg';
test.php?gcode=$SESSION[gcode]
2) проверим
if($_GET[gcode] != $SESSION[gcode])
{
exit('Go out smile.gif');
}

Спустя 17 минут, 42 секунды (21.04.2010 - 08:51) twin написал(а):
что это даст?

Спустя 53 минуты, 33 секунды (21.04.2010 - 09:45) NewBePhp написал(а):
twin
я конеш не спец но думаю что на страницу без гет-кода вернется а на ту часть с гет-кодом не попадеш...

не скажу что норм но что то типа того:

// файл test.php
<?
session_start();
if(!isset($_GET[gcode])) $_SESSION[gcode] = '';
function code()
{
$gen_arr = array("0", "1", "2",
"3", "4", "5",
"a", "b", "c",
"d", "e", "f");

for($a = 0; $a < 10; $a++){
$gen1 = rand(0,5);
$gen2 = rand(6,11);
$gen3 = rand(0,11);
$gen_cook .= $gen_arr[$gen1].$gen_arr[$gen2].$gen_arr[$gen3];
}
return $gen_cook;
}

$t = code();

if(!isset($_SESSION[gcode]))
{
$_SESSION[gcode] = $t;
}
else
{
if($_SESSION[gcode] != $_GET[gcode])
exit("Go Out smile.gif");
else
{
$_SESSION[gcode] = $t;
if(isset($_GET[gcode]))
echo '<script>setTimeout("location=\'./newtest.php\';", 1000);</script>';
}
}

?>
<a href="test.php?gcode=<? echo $t; ?>">нажми</a>

Спустя 53 минуты, 17 секунд (21.04.2010 - 10:38) twin написал(а):
Или я не понял или ты. Его волнует кнопка браузера "назад". Ты тут средствами php ничего не решишь. Это можно сделать только открыв новое окно, но старое закрыть удасться вряд ли. Это прерогатива браузера и сервер тут бессилен. Так что это полу(если не сказать больше)мера.

Нет способов борьбы с этим. По крайней мере я не встречал. smile.gif

Спустя 4 часа, 54 минуты, 2 секунды (21.04.2010 - 15:32) MatrixGod написал(а):
че вы все паритесь?

чел спросил как сделать перенаправление через 30 сек.

<?
sleep(30);
header("Location: http://phpforum.ru/");
?>

чем плохо?





_____________
Я знаю, что ничего не знаю...
Быстрый ответ:

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