Просмотр полной версии : Помогите с Php.
PEPSICOLA
12.05.2006, 14:56
Задача такая. =) Есть сайт. На сайте переменные, которые требуются постоянно при переходе на другую страницу. И что бы мне не делать на каждую ссылку по куче переменных и без использования mysql как мне передать некоторые значения?
Например такие переменные:
// Переменная указывает язык на который будет переводиться сайт.
$lang = rus/eng/de
// Указывает на цветовую схему.
$style = blackwhite/colour/psychedelic
// Указывает на пользователя
$username = sprite
$passmd5 = 389478sd6fg786df78g
При переходе по ссылке, надо что бы это как то группировалось и передовалось. Допустим есть вариант через get/post, но всё выйдет как то не компактно imho. Посоветуй пожалуйста какое решение в такой ситуации выбрать? Может куда то сохранять, в куки например, может что получше есть?
Со стороны безопасности тоже что лучше выйдет?
не сильно понял что нужно, но вроде оно, попробуй :
session_register("var") #после регистрации переменной она доступна
# в рамках всего сценария
PEPSICOLA
12.05.2006, 15:18
Спасибо, а что лучше использовать? Сессии или куки?
Zadoxlik
12.05.2006, 15:51
Куки юзай когда хочешь чтобы инфа сохранилась и после ухода юзера. А вообще при написании системы с юзерами/паролями - придется совмещать и то и другое, потому что обеспечивать, например, вход в админку через куки нехороший тон я считаю =)
Ну а вообще часто надо сохранять содержание некоторых переменных, значение/имя которых пользователю не только не нужно, но и нежелательно знать. Поэтому обычно даже в системах, где можно авторизироваться по кукам - далее все зносится в сессию и работа идет с ней
А меня бесит реализация сессий в php. У них очень много лишнего там понапихано, например перед загрузкой сессии он листает всю диру или поддриру, если каталоги сессий выстроены деревом. И подобной ерунды еще куча. Написал свою подобную систему и радуюсь =) работает как часы
PEPSICOLA
12.05.2006, 16:06
Спасибо Zadoxlik.
Всё равно я не понимаю кое что :) Допустим желательно что бы даже после выхода сохранялось в куках и язык сайта и цветовая схема. Но вы скажите, занеси это в настройки пользователя, он типа зайдёт и всё встанет на свои места. А если например чел региться не хочет, то ему теперь придется при каждом заходе выбирать язык и темку? default стоит english. В переменной $lang методом $_GET у меня будет задаваться значение. Тоесть выбор небольшой ;) rus/eng/de. Файлы перевода в папке. Например меню у меня полностью состоит из переменных, значения которых в rus.txt ; eng.txt ; de.txt, так же кодировка страницы там ; А схемы цветовые тоже в текстовиках, только там цвета указаны типа как background color и т.д.
Это самое главное, а пользователи это на втором месте, это уж не так важно. Можно обойтись только форумом.
Trinux, что за своя система? ;) Если можешь примерно в общем объяснить?
если например чел региться не хочет, то ему теперь придется при каждом заходе выбирать язык и темку? куки.
Что значит регаться не хочет? Всеравно впихнуть ему в куки его настройки. И всё тут.
При каждом заходе любого юзера куки проверяются. Если их нет то по дефолту. А так какая разница?
1. юзер зашёл на сайт и выбрал нужную цветовую схему и язык. тут же значения сохранились в куки.
2. вышел с сайта.
3. когда он снова зайдёт на сайт, скрипт прочитает его куки (если они уже имеются и это не первое посещение сайта) и сам установит схему.
Developer
13.05.2006, 21:08
1. Постетитель зарегился
2. Выбрал настройки, они прописались в MySQL
3. При заходе юзера настройки один раз сзавались из MySQL и записались в COOKIE
Вариант как и у Дикс-а, только если юзер потрет куки, а потом задет - найтроки остануться.
ferryman
14.05.2006, 15:29
serialize + session()
Developer
пиши пожлалуйста мой ник слитно. он русский.
По мойму достаточно просто кук. В случае удаления кук можно снова установить язык и стиль. Уж не сдохнет юзер от этого :)
Dracula4ever
17.05.2006, 14:31
Спасибо, а что лучше использовать? Сессии или куки?
куки конечно
ferryman
17.05.2006, 14:39
Лучше всего использовать комбинацию $_SESSION + $_COOKIE
if (isset($_SESSION))){
$var = $_SESSION['var'];
}else{
$var = $_COOKIE['var'];
}
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot