Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.06.21;
Скачать: CL | DM;

Вниз

Совместный доступ   Найти похожие ветки 

 
dmk ©   (2009-04-16 01:10) [0]

Привет! Пишу галлерею изображений. Встал в тупик.
Если пользователь выбрал галлерею №1, то соответственно нужно это
записать где-то. Записываю в файл, но пользователь №2 в это же время
выбирает другую категорию и это надо куда то записать. В тот же
файл - порлучится ерунда. Пользователи будут видеть попытки друг-
друга сменить категорию. Если записывать в cookie, тоже вроде не
решение, т.к. кто-то их может отключить. Как быть в таком случае?
Единственное решение пришедшее на ум - создавать для каждого
пользователя на сервере свой файл. Как решают такие проблемы?


 
tButton ©   (2009-04-16 01:21) [1]

session_start();
$_SESSION["gal"] = $picked-gallery;


 
dmk ©   (2009-04-16 01:29) [2]

А "gal" это что? Уникальный идентификатор?
Как различать пользователей или это автоматически?


 
antonn ©   (2009-04-16 01:34) [3]

массив $_SESSION уникален для каждого юзера. в нем создается эта переменная.
так же неплохо зарекомендовал себя $_GET %)))


 
dmk ©   (2009-04-16 01:40) [4]

Ясно. Спасибо :-)


 
dmk ©   (2009-04-16 01:42) [5]

А кол-во переменных на сессию не ограничено?


 
KilkennyCat ©   (2009-04-16 03:04) [6]

Этот вопрос надо задавать хостеру. У него ресурсы не резиновые.


 
tButton ©   (2009-04-16 03:21) [7]

re [5]
в принципе - не ограничено
данные сессии хранятся на жестком диске
отталкивайся от этого


 
antonn ©   (2009-04-16 22:45) [8]

чем не нравится переменная в url? по крайней мере это более юзабельно, пользователь может сохранить ссылку и открыть ее потом, с сессией ему придется добираться снова


 
dmk ©   (2009-04-16 22:50) [9]

>чем не нравится переменная в url?
Так ведь изначально сделано так:
В html-код вставлен PHP-скрипт, в котором формируется список URL
с параметрами галлереи (ID и так далее). Этот код внедрен через SSI.
По умолчанию выделена категория №1. По клику этот же скрипт рисует
новые ссылки с новой выбранной категорией, но ее нужно сохранить,
иначе скрипт по молчанию выведет опять категорию по умолчанию, т.е. №1.
После прорисовки скрипт вызыват страницу содержащую этот же скрипт.


 
dmk ©   (2009-04-16 22:51) [10]

по молчанию -> Sorry очепятка


 
antonn ©   (2009-04-17 00:15) [11]

if(isset($_GET["cat"]) && isnum($_GET["cat"])){
 //рисуем ссылки с категорией cat
 //echo "<a href=\"index.php?galery&cat=".$_GET["cat"]."\">url</a>";
}else{
 //рисуем просто ссылки
 //echo "<a href=\"index.php?galery\">url</a>";
}

или я чего не понял? :)


 
dmk ©   (2009-04-17 00:49) [12]

У меня сейчас так:

$click = $_GET["category"];//В параметре выбор по клику
$call_page = "index.html";

$selected = GetSelectedCategory();//Читаем, что было записано в прошлый раз
if (!$click == 0) //Запустили по клику с параметром ?category=id <> 0
 {
  SetSelectedCategory($click);//Запись выбранной категории
  $selected = GetSelectedCategory();
  header("Location: $call_page");
  exit;
 };

 $num_records = GetCategoryCount();
 //phpinfo(INFO_VARIABLES);

 ob_start();//Начинаем кэшировать страницу
 echo "<span class=\"neg_small_cyan_u\">";//Используем свой стиль для вывода ссылок
 for ($i = 0; $i < $num_records; $i++)
   {
    $rec = ReadCategoryRec($i);//Читаем запись
 $data_id = $i + 1;//Индекс категории начинается с единицы
 $data_str = rtrim($rec["name"]);//Название категории
 if ($i == ($selected - 1)) { $sel = "›"; } else { $sel = ""; };
    echo "<a href=\"eg_category_load.php?category=$data_id"."\">".$data_str." </a> ".$sel.$br;//Выводим ссылки на запрос по категориям
   };//for
 echo "и еще...";
 echo "</span>";
 header("Location: $call_page");
 ob_end_flush();


 
antonn ©   (2009-04-17 00:57) [13]

можно сделать чпу на htaccess :)
site.ru/galery/12/index.html вебсервер перенаправляет запросы скрипту обычными параметрами урла :)


 
dmk ©   (2009-04-17 01:08) [14]

У меня $_SESSION отлично заработало. Думаю без выкрутасов надо.


 
antonn ©   (2009-04-17 01:20) [15]

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


 
dmk ©   (2009-04-17 01:44) [16]

Так у меня тоже выводится. Вот глянь: http://ns1.expert-graphics.ru


 
antonn ©   (2009-04-17 09:12) [17]

там мож рыба такая, я жму на ссылки в "Что мы делаем?", и ничего не происходит, страница просто обновляется, но в адресной строке все так же index.html


 
dmk ©   (2009-04-17 09:34) [18]

Это шаблон. Ссылки по категориям, рядом с картинками.



Страницы: 1 вся ветка

Текущий архив: 2009.06.21;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.018 c
15-1239829821
dmk
2009-04-16 01:10
2009.06.21
Совместный доступ


15-1239615526
vajo
2009-04-13 13:38
2009.06.21
Затруднения с Excel


2-1241502567
iiunbreakableii
2009-05-05 09:49
2009.06.21
координаты выделенного текста в Richedit


15-1239741954
Юрий
2009-04-15 00:45
2009.06.21
С днем рождения ! 15 апреля 2009 среда


2-1241507863
Zalum
2009-05-05 11:17
2009.06.21
Вызвать процедуру из другого модуля