Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Организация навигации между страницами, Переходы между страницами сайта 
:(
    Опции темы
KonstRuctor
Дата 25.8.2011, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 31.3.2006
Где: Россия, Санкт-Пет ербург

Репутация: нет
Всего: нет



Привет!
Есть работающий сайт, хочу переделать в красивые url.
Столкнулся с проблемой -- не понимаю, как организовать переходы между страницами сайта.
Схему см. в приложении (картинка).
Описание:
Есть несколько разделов сайта, на которых отображается одна и та же фотография юзера:
- на главной
- в категории
- в стране
- в перечне всех фото юзера
- в поиске
Везде на всех страница стоит ссылка foto18.html, которую mod_rewrite преобразует
в show_user_foto.php?id=18, где id = айдищник фото.
На этой странице есть две красные кнопки "туда" и "сюда".
У меня не получается придумать алгоритм работы этих кнопок.
В зависимости от того, откуда пришел посетитель, кнопки должны листать в разные места.
- если с главной, листать все фото вообще
- если с определенной категории, листать фото именно этой категории
- если со страны ... и так далее.
Все это можно было бы красиво организовать так: show_user_foto.php?id=18&from=category&category_id=2345&ещекучапараметров
Но у меня задача сделать красиво: просто foto18.html.
Вопрос: какую технологию использовать и как можно решить данную задачу?
Помещаю в тему php, так как решать буду именно на php, скорее всего.
Спасибо!

Это сообщение отредактировал(а) KonstRuctor - 25.8.2011, 13:18

Присоединённый файл ( Кол-во скачиваний: 12 )
Присоединённый файл  Nace_Day.jpg 70,37 Kb
PM MAIL WWW ICQ   Вверх
KonstRuctor
Дата 25.8.2011, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 31.3.2006
Где: Россия, Санкт-Пет ербург

Репутация: нет
Всего: нет



Пока придумал решение с помощью сессий:
index.php
Код

session_start();
$_SESSION["status"] = "index";
echo "<p>
        <a href=\"/index.php\">Главная</a>
        <a href=\"/categories.php\">Категории</a>
        <a href=\"/countries.php\">Страны</a>
        </p>\n";
echo "<h1>ГЛАВНАЯ</h1>";
echo "<p><a href=\"/gallery/foto11.html\">Перейти к фото</a></p>";

То же самое файлы categories.php и countries.php
Код

session_start();
$_SESSION["status"] = "categories";

То есть устанавливаем переменную в сессии в начале того файла, из которого может быть переход
И файл, куда переходим:
Код

session_start();
if ( isset ( $_GET["gallery_id"] ) )
{
    echo "<p>
        <a href=\"/index.php\">Главная</a>
        <a href=\"/categories.php\">Категории</a>
        <a href=\"/countries.php\">Страны</a>
        </p>\n";
    
    $gallery_id = intval ( $_GET["gallery_id"] );
    echo "<h1>Выводим фото с номером <b>".$gallery_id."</b></h1>";
    
    if ( !empty($_SESSION["status"]) )
    {
        if ( $_SESSION["status"] == "index" )
        {
            echo "Листаем все фото подряд";
            echo "<div>
            <p><a href=\"/gallery/foto12.html\">Туда листать12</a></p>
            <p><a href=\"/gallery/foto13.html\">Туда листать13</a></p>
            </div>\n";    
        }
        elseif ( $_SESSION["status"] == "categories" )
        {
            echo "Листаем все фото категории Портрет";
            echo "<div>
            <p><a href=\"/gallery/foto12.html\">Туда листать12</a></p>
            <p><a href=\"/gallery/foto13.html\">Туда листать13</a></p>
            </div>\n";
        }
        elseif ( $_SESSION["status"] == "countries" )
        {
            echo "Листаем все фото страны Африка";
            echo "<div>
            <p><a href=\"/gallery/foto12.html\">Туда листать12</a></p>
            <p><a href=\"/gallery/foto13.html\">Туда листать13</a></p>
            </div>\n";
        }
    }
    else
........................................... тут что-то делаем

Проверил на этих тестовых файлах, вроде бы работает.
Надо попробовать на реальном сайте.
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0635 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.