Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Автоизменение темы.

Ответить
Настройки темы
Автоизменение темы.

Аватара для CTEPBA

Старожил


Сообщения: 231
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: CTEPBA
Дата: 05-09-2006
у меня на сайте например есть несколько тем, как сделать так чтобы они ставились случайно при каждом заходе на сайт, т.е. один вошел у него такая тема потом вошел друггой, а у него другая. Можно применять php, javascript.

Отправлено: 22:30, 05-09-2006

 

Аватара для XCodeR

Ветеран


Сообщения: 878
Благодарности: 53

Профиль | Сайт | Отправить PM | Цитировать


Что Вы подразумеваете под словом "тема"? Строка? или графическое оформление?
проверю свою навыки телепатии и предположу что имеется ввиду графическое оформление.

Мой вариант решения проблемы на PHP.

1. Создаем массив со всеми необходимыми нам элементами дизайна:

$tpl['name_of_design_part'][id] = "путь к изображению";

name_of_design_part - название части дизана например menu_item,top,logo и т.д. и т.п.

2. в начале страницы запускаем генератор случайных чисел и выбираем id, записываем его в переменную $rid

$rid=rand(0,max_ids) ;

max_ids - максимальное количество дизайнов(т.е. кол-во элементов массива)

3. В дизайне каждую изменяемую картинку описываем ввиде:
<img src=<?=$tpl['name_of_design_part'][$rid]?>>

Полный "собранный" пример:
HTML код: Выделить весь код
<? $tpl[top][0]="top0.jpg"; $tpl[top][1]="top1.jpg"; $tpl[top][2]="top2.jpg"; $tpl[left][0]="left0.jpg"; $tpl[left][1]="left1.jpg"; $tpl[left][2]="left2.jpg"; $tpl[right][0]="right0.jpg"; $tpl[right][1]="right1.jpg"; $tpl[right][2]="right2.jpg"; $rid=rand(0,2) ; ?> <html> <body> <table> <tr> <Td colspan=2> <img src=<?=$tpl['top'][$rid]?> </tr> <tr> <td><img src=<?=$tpl['left'][$rid]?> <td><img src=<?=$tpl['right'][$rid]?> </tr> <tr> <td colspan=2> <img src=<?=$tpl['bottom'][$rid]?> </tr> </body> </html>


Отправлено: 22:57, 05-09-2006 | #2



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

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для CTEPBA

Старожил


Сообщения: 231
Благодарности: 0

Профиль | Отправить PM | Цитировать


XCodeR
Большое спасибо. всё верно поняли!

Отправлено: 23:44, 05-09-2006 | #3


Аватара для CTEPBA

Старожил


Сообщения: 231
Благодарности: 0

Профиль | Отправить PM | Цитировать


А вот такой впорос:
Еслия это всё запихну в header.php, а при переходе пользвателя на другую страницу оформление может скорей всего смениться.
Как сделать так чтобы оформление выбиралось только при заходе на сайт и не менялось пока пользователь не закроет блаузер?
Мне кажеться что для это нужно каждому пользователю открывать сессию, в которой будет храниться текущая тема.

Отправлено: 18:27, 06-09-2006 | #4


Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Отправить PM | Цитировать


Достаточно сохранять идентификатор темы в кукисах, сессия для этого - громоздкое оружие. Конечно имя темы в куках надо будет проверять с точки зрения безопасности.

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Отправлено: 19:10, 06-09-2006 | #5


Аватара для Strange_V

Старожил


Сообщения: 222
Благодарности: 29

Профиль | Отправить PM | Цитировать


Или открывать сессию или передавать Get параметр.
И первое и второе имеет свои недостатки…
Можно просто ставить куки, но это почти та же сессия.

-------
Жизнь-это шахматная партия, по окончании которой и короли, и пешки ложатся в один ящик.


Отправлено: 19:13, 06-09-2006 | #6


Аватара для CTEPBA

Старожил


Сообщения: 231
Благодарности: 0

Профиль | Отправить PM | Цитировать


Ладно, всё понятно, буду скорей всего делать через куку и придеться ее фильтровать!

Отправлено: 20:58, 06-09-2006 | #7


Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Отправить PM | Цитировать


Strange_V, э нет, "не таже" и не "почти". Для сессии кукис это по сути "транспорт". Сессия это именованная идентификатором область данных (в файловой системе, базе данных и т.д. в зависимости от обработчиков сессий) с одной общей чертой - область находится на стороне сервера. кукис же - на стороне клиента. В общем случаем в кукисах (если выбран этот способ хранения идентификатора сессии) хранится указатель на сессию.

В данном случае гораздо проще хранить строку или число идентификатора темы в кукисах, нежели хранить в них ссылку на сессию в которой хранится этот идентификатор.

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Отправлено: 00:04, 07-09-2006 | #8


Аватара для Strange_V

Старожил


Сообщения: 222
Благодарности: 29

Профиль | Отправить PM | Цитировать


2Prisoner Полностью согласен.
Только нужно не забывать что куки в пользователя могут бить отключены... хотя это не смертельно (ну не будут у него рендом тем…)

-------
Жизнь-это шахматная партия, по окончании которой и короли, и пешки ложатся в один ящик.


Отправлено: 00:58, 07-09-2006 | #9


Аватара для CTEPBA

Старожил


Сообщения: 231
Благодарности: 0

Профиль | Отправить PM | Цитировать


Будет у него рендом, только при открытии новой страници, будет новая тема, ну или при попаданиии еще раз на главную.

Отправлено: 21:20, 07-09-2006 | #10



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Автоизменение темы.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Интерфейс - Темы виндовс Shurikss123 Microsoft Windows 2000/XP 2 18-07-2008 08:03
темы для xp falas Программное обеспечение Windows 11 25-07-2007 23:13
Темы XP Tory Microsoft Windows 2000/XP 10 16-04-2003 22:53




 
Переход