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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не присваивается значение в сессии 
:(
    Опции темы
Gold Dragon
Дата 1.4.2011, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



У меня есть файл в котором формируется код безопасности и выводится картинка. Всё отлично работает когда я этот файл просто вызываю.

Но я этот файл вызываю через Ajax (через JQuery $.get...), картинка формируется, а вот сессия не присваивается.

Почему?


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
bars80080
Дата 1.4.2011, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



присваивается, к тебя скорее всего напутан порядок действий.
разбери пошагово, наверное найдёшь выпадающий этап

Добавлено через 3 минуты
да, как-то раз встретился с проблемой. на сайте выставлялось собственное имя сессии, и пока ты работал в пределах сайта - всё было ок. но стоило запустить скрипт, который не подключал стандартные библиотеки - как сессии уже не работали. проверь имя сессии
PM MAIL WWW   Вверх
Gold Dragon
Дата 1.4.2011, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



при запуске скрипта если делаю это
Код

session_start();

include_once('code.php');

print_r($_SESSION);


и если обновлять страницу, видно что значение в сессии существует и меняется

если подключаю файл через это
Код

function code_change(){
    $("#img_code").html("<img src='images/tpl/ajax-loader.gif' />");
    $.get("code.php", function(data){
        $("#img_code").html("<img src='images/code_image.png?"+time()+"' />");
    });
    $.get("ajax.php?page=fcodetest", function(data){
        $("#test").text(data);
    });

    return false;
}

то ничего... вообще ничего.. Скрипт запускается, т.к. защитный код формируется и записывается постоянно новый в файл, но сессии нет. Т.е. ничего не меняется кроме способа подключения файла


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
bars80080
Дата 1.4.2011, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



session_name() проверь. для скрипта, и для картинки
PM MAIL WWW   Вверх
Gold Dragon
Дата 1.4.2011, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



вот файл code.php на всякий случай

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  code.rar 1,46 Kb


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Gold Dragon
Дата 1.4.2011, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



Цитата(bars80080 @  1.4.2011,  20:05 Найти цитируемый пост)
session_name() проверь. для скрипта
а что я должен увидеть?



--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
KIRINDORF
Дата 1.4.2011, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 11.2.2011

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



Имя сессии везде должно быть одно и тоже. Вот что ты должен увидеть.
PM MAIL   Вверх
Muerto
Дата 1.4.2011, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

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



Подозриваю что проблема в том что у тебя в том файле нету session_start();
Не достаточно просто в начале страницы вызвать, то куда отправляет гет это совершенно другая страница


--------------------
user posted image
PM MAIL   Вверх
Gold Dragon
Дата 1.4.2011, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



Цитата(KIRINDORF @  1.4.2011,  21:12 Найти цитируемый пост)
Имя сессии везде должно быть одно и тоже. Вот что ты должен увидеть. 
echo session_name(); выдаёт PHPSESSID

Цитата(Muerto @  1.4.2011,  21:18 Найти цитируемый пост)
Подозриваю что проблема в том что у тебя в том файле нету session_start();
а в этом файле этого и нет.. это есть в index.php



--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
KIRINDORF
Дата 1.4.2011, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 11.2.2011

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



Цитата(Gold Dragon @ 1.4.2011,  20:38)
а в этом файле этого и нет.. 
так может должно быть? Иначе откуда взяться переменным сессии если для этого скрипта сессия не стартует?

Это сообщение отредактировал(а) KIRINDORF - 1.4.2011, 20:55
PM MAIL   Вверх
Gold Dragon
Дата 1.4.2011, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



это ещё почему?
У меня есть основной файл index.php
все остальные подключаются к нему в виде модулей, библиотек, классов.. в т.ч. и шаблоны тоже

закачал сейчас то что наработал на сайт http://ооотигрис.рф/ --- меню Обратная связь
Сайт полностью на Ajax, так что прямых ссылок нет..

Добавлено через 5 минут и 39 секунд
внизу есть поле
Код

<div id="test"></div>

сейчас если наживать на "обновить" код там должно появляться 
Код

echo '<'.session_name().$_SESSION['qqq'].'>';


Это сообщение отредактировал(а) Gold Dragon - 1.4.2011, 20:59


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
KIRINDORF
Дата 1.4.2011, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 11.2.2011

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



Я вижу у тебя перенаправление в файл ajax.php. Там сессия стартует?
PM MAIL   Вверх
Gold Dragon
Дата 1.4.2011, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



так... в общем докумекал... Как же всё такие всё запутано получилось... 

При нормальной работе, достаточно просто запустить в начале скрипта сессию.. А тут при условии что всё работает через Ajax получается что сессию нужно запускать в каждом файле который подгружается...

KIRINDORF, изначально я подключал именно в файле который подгружал, но что-то сначала у меня не пошло.. Сейчас ещё раз попробовал и получилось. Т.е. если я подгружаю ajax.php и code.php то и там и там должен быть старт сессии... 

Не совсем грамотно получается.. нужно наверное все погрузки осуществлять через index.php с перенаправлением


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
KIRINDORF
Дата 1.4.2011, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 11.2.2011

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



Рад за вас.

Это сообщение отредактировал(а) KIRINDORF - 1.4.2011, 21:41
PM MAIL   Вверх
Gold Dragon
Дата 1.4.2011, 21:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



KIRINDORF, ну что я могу сказать... просто невнимательность и просто не совсем осознал работу того что навертел smile Спасибо за простые решения...

зы
Как же всё на PHP просто, стоит только подключить Javascript и начинаются проблемы... Есть ошибка в коде, а сайт всё равно работает. На Php хоть видно что что-то сломано smile

думаю вопрос решёл ;)


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
KIRINDORF
Дата 1.4.2011, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 11.2.2011

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



Цитата(Gold Dragon @ 1.4.2011,  21:42)
 Есть ошибка в коде, а сайт всё равно работает. На Php хоть видно что что-то сломано smile
Может в такой ситуации использовать инструмнты отладки? Голова не резиновая, в уме все не удержишь.


Добавлено @ 22:03
Цитата(Gold Dragon @ 1.4.2011,  21:42)
Спасибо за простые решения...
Отдадим должное bars80080, он подтолкнул нас в правильное направление.

Это сообщение отредактировал(а) KIRINDORF - 1.4.2011, 22:04
PM MAIL   Вверх
Muerto
Дата 1.4.2011, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

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



Цитата(Muerto @ 1.4.2011,  20:18)
Подозриваю что проблема в том что у тебя в том файле нету session_start();
Не достаточно просто в начале страницы вызвать, то куда отправляет гет это совершенно другая страница

Таки в яблочко   smile 
Это bad practice , создавать отдельные странички под get нисчем не связанные вроде forGet.php и отсылать на них... надеюсь вы так не делайте...

Правильно будет MVC , где страница полноценный контроллер с моделями, и видом...
Вид может быть хоть xml , а можно по большому счету и ничего не выводить...

Сессия должна стартоватся по ло любому, потому что когда ты получаешь что то через get или Post, это отдельный instance 
И то что у тя там где то в индексе что то открыто - эт не важно...

НО если у тя MVC и Front-Controller или раутер, ну или какая то точка через которую всё проходит - и там стартовать, то проблем не будет тоже...

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

Это сообщение отредактировал(а) Muerto - 1.4.2011, 23:20


--------------------
user posted image
PM MAIL   Вверх
KIRINDORF
Дата 2.4.2011, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 11.2.2011

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



Цитата(Muerto @ 1.4.2011,  23:19)
Таки в яблочко
 Вообще-то первым куда копать, указал bars80080.

Добавлено @ 00:38
Цитата(Muerto @ 1.4.2011,  23:19)
Это bad practice , создавать отдельные странички под get нисчем не связанные вроде forGet.php и отсылать на них... 
Советую не торопиться с выводами, а дождаться комментариев автора темы. Полной картиной владеет только он.

Это сообщение отредактировал(а) KIRINDORF - 2.4.2011, 00:39
PM MAIL   Вверх
Muerto
Дата 2.4.2011, 01:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

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



Цитата(KIRINDORF @ 2.4.2011,  00:36)
Цитата(Muerto @ 1.4.2011,  23:19)
Таки в яблочко
 Вообще-то первым куда копать, указал bars80080.

Добавлено @ 00:38
Цитата(Muerto @ 1.4.2011,  23:19)
Это bad practice , создавать отдельные странички под get нисчем не связанные вроде forGet.php и отсылать на них... 
Советую не торопиться с выводами, а дождаться комментариев автора темы. Полной картиной владеет только он.

Да на самом деле не имеет значения, нам здесь не платят  smile 
Все молодцы  smile 

Это сообщение отредактировал(а) Muerto - 2.4.2011, 01:38


--------------------
user posted image
PM MAIL   Вверх
Gold Dragon
Дата 2.4.2011, 07:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



сегодня попытался переделать всё через index.php, но не покатило :(
пока не разобрался как всё это организовать и вернулся к прежнему варианту...

Сайт-визитка и просто не хотелось супер-пупер всё наворачивать.. Да и первый раз делаю сайт полностью на технологии Ajax... ещё не до конца осознал структуру управления


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
KIRINDORF
Дата 2.4.2011, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 11.2.2011

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



Цитата(Gold Dragon @ 2.4.2011,  07:49)
сегодня попытался переделать всё через index.php, но

то есть приписал к 
Код

$.get("code.php", function(data)
 id сессии и вышло, к примеру так 
Код

$.get("code.php?session=session_id()", function(data) ...
в  самом code.php 
Код

session_name('session');
session_start();

 и не работает?

Тогда надо запустить в режиме отладки и посмотреть, при исполнении jQery.get() и после session_start() в code.php, лежат ли для code.php в массиве $_SESSION данные, записанные в index.php. Они просто должны там быть! Ведь если все сделано как описано выше, то code.php получил доступ именно к index-ной сессии.

 Принцип работы http никто не отменял - get(url) это новый запрос на сервер, как ни крути. Следовательно id сессии надо передать запрошенному url.

Самое важное, если использовать новое имя сессии для запрашиваемых скриптов, то и в вызывающем скрипте имя сессии должно быть тем же. Т.е. если в вышеописанном примере сессии дано имя session, то и в index.php должно быть:
Код

session_name('session');
session_start();


Это сообщение отредактировал(а) KIRINDORF - 2.4.2011, 09:52
PM MAIL   Вверх
Gold Dragon
Дата 2.4.2011, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



нет, просто в файле ajax.php и code.php прописал session_start();
а имя сессии по умолчанию PHPSESSID


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
KIRINDORF
Дата 2.4.2011, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 11.2.2011

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



Цитата(Gold Dragon @ 2.4.2011,  09:52)
нет, просто в файле ajax.php и code.php прописал session_start();
так этого не достаточно. 

Тебе же нужна не новая сессия в code и ajax, а доступ из этих скриптов к index-ной сессии. 

Для этого и нужно передать ид сессии в get().

Пусть имя сессии во всех трех скриптах стандартное.
Но дописать ид сессии к url в jQuery.get()  все равно надо, чтоб передать id сессии. Тогда session_start()  для code и ajax стартует не новые сессии, а откроет им index-сессию.
PM MAIL   Вверх
Gold Dragon
Дата 2.4.2011, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



так...
т.е. я в index.php задаю имя сессии, потом в любой из подгружаемых файлов должен передавать с запросом имя и в файлах code и ajax создавать сессию именно с этим именем? 

что-то голова кругом... Вот я передал имя (id) сессии, а в файлах мне её как использовать без session_start() ?


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Muerto
Дата 2.4.2011, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

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



Gold Dragon, Не изобретай велосипед, возьми CodeIgniter к примеру, он очень прост...
Единственная цель индекса это запустить раутер, и создать Instance ядра фреймворка  smile 


--------------------
user posted image
PM MAIL   Вверх
KIRINDORF
Дата 2.4.2011, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 11.2.2011

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



Если задано новое имя сессии:
в index.php
Код

session_name('твое_новое_имя_сессии');
session_start();

Код

$.get("code.php?твое_новое_имя_сессии=session_id()", function(data) ...

в code.php и ajax.php
Код

session_name('твое_новое_имя_сессии');
session_start();


Если имя сессии стандартное:
в index.php
Код

session_start();

Код

$.get("code.php?PHPSESSID=session_id()", function(data) ...


в code.php и ajax.php
Код

session_start();

PM MAIL   Вверх
Muerto
Дата 2.4.2011, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

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



KIRINDORF, А какая роль session name?
Это что  то вроде namespace для сессий?
Не приходилось такое использовать... чем плохо тупо session_start() ?



--------------------
user posted image
PM MAIL   Вверх
Gold Dragon
Дата 2.4.2011, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



Цитата(Muerto @  2.4.2011,  11:46 Найти цитируемый пост)
Не изобретай велосипед, возьми CodeIgniter к примеру, он очень прост...
Без обид, но это к чему в этой теме? Если ты предлагаешь мне воспользоваться фремворком, то я отлично программирую на Joostina`е, хорошо знаю её код и свободно могу написать практически любой нужный мне компонент. smile

А тут стоит конкретная задача smile

KIRINDORF, а вообще, какой смысл передавать имя если по умолчанию всегда создаётся одно и тоже PHPSESSID


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Muerto
Дата 2.4.2011, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

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



Gold Dragon, Ну с ваших слов я понял, что вы не хотите использовать монстров, делайте структуру где все идет через индекс, но есть отдельные файлы вроде getBlah.php которые просто страница которая держит в себе и логику и представление в одном флаконе

Так я хотел подметить что есть очень легкие фреймворки вроде ci (легкие в плане памяти и размера в первую очередь)
Которые сделают для вас всю черную работу!

И не важно пишем ли мы фейсбук, или личную страничку... 


Это сообщение отредактировал(а) Muerto - 2.4.2011, 11:25


--------------------
user posted image
PM MAIL   Вверх
Gold Dragon
Дата 2.4.2011, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



Muerto, это простой сайт-визитка, пара страниц, пара форм отправки сообщений. Любой даже супер-пупер маленький фреймворк будет монстром для этого сайта ;) Да и задачу я уже озвучил.. Просто этот сайт я выбрал для своего развития и изучения, не совсем ещё понятной для меня, технологии Ajax (на основе JQuery).. 

Тут действительно основной (почти) файл index.php, можно сказать управляющий.. А остальные это не отдельные страницы smile Есть класс для управления шаблонами, есть языковой класс, есть класс с необходимыми мне функциями... и всё ;) Ну и ещё конечно несколько типа формирования защитного кода


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
KIRINDORF
Дата 2.4.2011, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 11.2.2011

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



Общепринято в программировании, что имя переменной ассоциируется с ее значением.
PHPSESSID воспринимается как имя сессии, или любое другое, установленное при помощи session_name(). Имя сессии это переменная. 
В get(url) мы присвоили этой переменной значение, конкретно, идентификатор сессии.
При отсылке запроса jQuery.get(url) мы отослали серверу эту переменную.
Получив ее, сервер действует по принципу имя=значение, т.е. извлекает из переменной ее значение. В вашем случае это идентификатор сессии, стартованной для index.php - чего и добивались.

Итак, к моменту запуска code.php сервер имеет для этого скрипта (code.php) идентификатор index-ной сессии. Исполняя code.php находит session_start(). Поскольку в запросе на code.php пришел id index-сессии то новая сессия стартована не будет - для code.php сервер откроет доступ к index-сессии.

Вопрос всегда в том, получает ли сервер с запросом на ресурс идентификатор сессии. Если да, то для ресурса стартует сессия, сохраненная на сервере под пришедшим с запросом id. Если с запросом id не приходит, а ресурс требует старт сессии, серевер создает новую сессию.

Это сообщение отредактировал(а) KIRINDORF - 2.4.2011, 11:47
PM MAIL   Вверх
Gold Dragon
Дата 2.4.2011, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



KIRINDORF, механизм то я понял.. вопрос малость в другом.. если сейчас всё работает, то есть ли вообще смысл в передаче? Или при каких условия это не будет работать?


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Muerto
Дата 2.4.2011, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

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



KIRINDORF, У вас на сервере php 4 или 3 что ли?
Вся процедура которую вы описывайте лишняя... (возможно я что то упускаю?)
Возможно у вас так север настроен что обязано передавать идентификатор методом get... Тоже вариант, слышал о таком но не использовал, ибо смысла в этом не вижу.

Это сообщение отредактировал(а) Muerto - 2.4.2011, 12:02


--------------------
user posted image
PM MAIL   Вверх
KIRINDORF
Дата 2.4.2011, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 11.2.2011

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



Теперь не понял я - так в get(url)  передается id сессии или нет.
 Т.е. дело идет так:
Код

$.get("code.php?PHPSESSID=session_id()", function(data) ...


или все прекрасно вот так:
Код

$.get("code.php", function(data) ...


То что сессии в code и ajaz должны стартовать, похоже разобрались - должны.

Это сообщение отредактировал(а) KIRINDORF - 2.4.2011, 12:05
PM MAIL   Вверх
KIRINDORF
Дата 2.4.2011, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 11.2.2011

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



Muerto, дайте красивый, изящный пример (иначе я не понимаю, с чего ваши протесты), а мы порадуемся.

Это сообщение отредактировал(а) KIRINDORF - 2.4.2011, 12:55
PM MAIL   Вверх
Gold Dragon
Дата 2.4.2011, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



хватит спорить у кого "пи..ська" больше  smile 

у меня пока всё работает на сервере.. и во всех браузерах (основных)


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Muerto
Дата 2.4.2011, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

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



KIRINDORF, вот вам пример в page.php в самом верху
Код

session_start();


Больше ничего не нужно.

Ваши гет-вопросы отсылайте просто как заходите на сайт без всяких Id
Т.е.    
Код

$.get("code.php", function(data) ...



--------------------
user posted image
PM MAIL   Вверх
KIRINDORF
Дата 2.4.2011, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 11.2.2011

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



Цитата(Gold Dragon @ 2.4.2011,  11:46)
если сейчас всё работает, то есть ли вообще смысл в передаче? 

Полагаю, что есть когда куки выключены. Когда же куки включены, id пойдет в них. Т.е. все стандартно.
PM MAIL   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.1099 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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