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

Форум PHP

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

 

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

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

тема: Как совместить переход по ссылке и задание сессии?

Сообщения:  [1-7] 

 
 автор: Владимир55   (08.02.2008 в 20:20)   письмо автору
 
   для: Loki   (08.02.2008 в 15:33)
 

А если сделать так, чтобы сессия была нужна только на время перезапуска страницы:


<form method="POST" >
<input type=submit value="Вперед" name="start">
</form>

<form method="POST" >
<input type=submit value="Назад" name="start">
</form>



<?php

$url 
"kniga.php"// Этот же файл
    
if(isset($_POST['start_x']))
    {
        
session_start();
        if (
$_POST['start'] == "Вперед"$x "+1";
       if (
$_POST['start'] == "Назад")  $x "-1";
           
$_SESSION['flag'] = $x;
           echo 
"<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='0; 
          URL=
$url'></HEAD></HTML>";
    }
?>


   
 
 автор: Владимир55   (08.02.2008 в 15:37)   письмо автору
 
   для: Loki   (08.02.2008 в 15:33)
 

Да, Вы правы!

Совершенно правы!

   
 
 автор: Loki   (08.02.2008 в 15:33)   письмо автору
 
   для: Владимир55   (08.02.2008 в 15:31)
 

на первой странице помещать в сессию флаг и на остальных проверять его наличие. если флага нет - выкидываем на первую.
или можно листать постом - при помощи кнопок
только это все равно плохая идея: если я буду долго читать страницу (допустим, отвлекся), то при потере сессии меня будет кидать на первую.

   
 
 автор: Владимир55   (08.02.2008 в 15:31)   письмо автору
 
   для: Loki   (08.02.2008 в 15:15)
 

Да, хорошая идея, красивая!

Правда, я хотел от GET совсем уползти, чтобы в адресной строке совсем ничего дополнительного к урлу не было. Потому, что вход на первую страницу запаролен, а на другие свободный. И если человек раз войдет и увидит, как происходи листание, то потом просто будет обходить первую страницу.

   
 
 автор: Loki   (08.02.2008 в 15:15)   письмо автору
 
   для: Владимир55   (08.02.2008 в 13:44)
 

Сделать ссылки
index.php?next
index.php?prev

в коде

if (isset($_GET['next'])) $_SESSION['book_id']['page']++;
if (isset($_GET['prev'])) $_SESSION['book_id']['page']--;

   
 
 автор: MIchail1982   (08.02.2008 в 14:30)   письмо автору
 
   для: Владимир55   (08.02.2008 в 13:44)
 

мне кажется, только через какуюто страницу(типа "сейчас Вы будете перемещены .....")
, т.к в сессию записывается только сервером
можно Жаваскриптом через куки

   
 
 автор: Владимир55   (08.02.2008 в 13:44)   письмо автору
 
 

Идея такая: разместить многостраничную книгу в одном файле, а переход с одной странцы да другую вести невидимым для посетителя образом - через сессии (GET не хочу).

Как это сделать, в принципе ясно: открывается файл kniga.php и прочитывается переменная $str из сессии, в соответствии с которой идет echo текста соответствующей страницы.

А теперь нужно разместить ссылки ВПЕРЕД и НАЗАД для навигации по книге. Это будут ссылки на тот же файл kniga.php, но при переходе по ссылке ВПЕРЕД в сессию уйдет $str = 7 (к примеру), а при ссылке НАЗАД в сессию уйдет $str=5.

Вот как сделать такие ссылки, переход по которым прежде запустит механизм сессии?

   

Сообщения:  [1-7] 

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

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