Как при повторном посещении отправлять посетителя на последнюю посещенную страницу?

1 23
S
На сайте с 08.02.2017
Offline
7
#21
A007MP:
Первая (главная) страница обязательно должна быть на php. Если все нужно на html, то скрипт проверки просто переписать на jscript.

Круто, но да весь сайт на html. Подскажите, а как переписать на jscript?

AP
На сайте с 12.06.2015
Offline
74
#22
siew:
Круто, но да весь сайт на html. Подскажите, а как переписать на jscript?

На самом деле файл index.html можно смело переименовывать в index.php и добавить туда этот текст (в самое начало). Все сразу заработает.

Либо распарсить куки на js. Так как там еще какие-то другие могут присутствовать, выцеплять надо по этому имени.

S
На сайте с 08.02.2017
Offline
7
#23
A007MP:
На самом деле файл index.html можно смело переименовывать в index.php и добавить туда этот текст (в самое начало).

Спасибо большое, все заработало! И если можно небольшое уточнение, если вставлять php код в самое начало, исходный код страницы останется валидным?

Вот такого вида:


<?php
if (isset($_COOKIE["page"])) {
header('Location:'.$_COOKIE["page"]);
}
?>

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta charset="utf-8" />
.........
AP
На сайте с 12.06.2015
Offline
74
#24
siew:
Спасибо большое, все заработало! И если можно небольшое уточнение, если вставлять php код в самое начало, исходный код страницы останется валидным?

Вот такого вида:


<?php
if (isset($_COOKIE["page"])) {
header('Location:'.$_COOKIE["page"]);
}
?>

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta charset="utf-8" />
.........

Код php отрабатывает на сервере, клиенту отсылается только то, что находится после ?>

Но лишнюю пустую строку можно убрать.

Ragnarok
На сайте с 25.06.2010
Offline
239
#25

siew, правильнее будет вот так


<?php
if (isset($_COOKIE["page"])) {
header('Location:'.$_COOKIE["page"]);
exit();
}
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta charset="utf-8" />
//TODO: перестать откладывать на потом
alphabro
На сайте с 26.10.2015
Offline
12
#26

Ещё нужно предусмотреть момент, чтобы не было постоянного редиректа. Проверить в условии, чтобы последняя страница в куках не должна быть равна текущий.

Предоставляю услуги по работе с технологиями: PHP, Javascript, CMS, WordPress, Joomla, DLE, MySQL, HTML, CSS и т.д. (/ru/forum/955675). Skype: albrazza. Jabber: albrazza@jabbim.cz. ICQ: 391087.
S
На сайте с 30.09.2016
Offline
469
#27
alphabro:
Ещё нужно предусмотреть момент, чтобы не было постоянного редиректа. Проверить в условии, чтобы последняя страница в куках не должна быть равна текущий.

Здесь не надо. У них там этот код только на главной, а куки с последней.

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
AP
На сайте с 12.06.2015
Offline
74
#28
Sitealert:
Здесь не надо. У них там этот код только на главной, а куки с последней.

В ТЗ у ТС да, именно так и звучит. Но на самом деле куки можно на любой странице ставить (кроме главной), не обязательно "на последней". Таким образом можно организовать "прохождение по этапу чтения" - то есть всегда загружать последнюю загруженную страницу, если пользователь решил заново уйти на главную. Ну и отрегулировать время, когда необходимо это перенаправление осуществлять. В моем примере это две минуты.

P.S. А вот код проверки обязательно только на главной. В противном случае действительно, вначале нужно сделать проверку текущей страницы, чтобы не было "зацикливания".

1 23

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий