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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ajax и сессии, Ajax и сессии 
:(
    Опции темы
Leoo
Дата 4.9.2007, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 270
Регистрация: 3.10.2005
Где: г. Обнинск

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



Проблема следущая!

в ходе работы скрипта идет формирование массива, который записываеться в сессию. Затем мне надо изменить данные в этом массиве с помощью AJAXа, но рнр-шный файл ajaxа не видит сессию, вот не знаю что делать.

помогите пожалуйста!!!!


--------------------
Если вы не страдаете паранойей, это не значит, что они за вами не летят!
PM MAIL WWW ICQ   Вверх
BuShaRt
Дата 4.9.2007, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Leoo, 
А если без AJAX, только в PHP сессия работает?
И пример надо бы.
PM MAIL   Вверх
Leoo
Дата 4.9.2007, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 270
Регистрация: 3.10.2005
Где: г. Обнинск

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



если без ajaxа то сессии работают

с примером посложнее, попробую выложить, но не обещаю что это будет рабочее smile 

index.php
Код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>Chapter 2: Scalable Navigation</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<link rel="stylesheet" type="text/css" href="<?=DIR?>/css/style.css"/>
<script src="./JsHttpRequest/lib/JsHttpRequest/JsHttpRequest.js"></script>
<script language="JavaScript">
function menu(page_id, str){
    var data = {'page_id': page_id, 'str': str};
    JsHttpRequest.query(
     'ajax_menu.php',
        data,
        function(result, errors) {
         var div = document.getElementById("menu");
            div.innerHTML = result["cont_menu"];
        },
        false 
    );
}
</script>
</head>

<body id="intro">
<div style="">
    <?=$menu?>
</div>
<div>
    <br>
    <br>
    <?=$content?>
</div>
</body>
</html>


файл который формирует меню, т.е. переменную $menu
Код

if(!isset($_SESSION['menuArr'])){
    session_register("menuArr");
    $query = 'SELECT *, 0 as open FROM '._NAME_PREFIX . 'menu';
    $menu = db_select($query);
    foreach($menu as $key => $val)
        $menu2[$val['page_id']] = $val;
    $_SESSION['menuArr'] = $menu2;
}

//далее код отрисовки меню, при нажатии на пунк меню вызываеться функция ajax


файл ajax
Код

require_once '../settings/config.php';
require_once "./JsHttpRequest/lib/JsHttpRequest/JsHttpRequest.php";

$JsHttpRequest =& new JsHttpRequest("windows-1251");

$page_id = $_REQUEST['page_id'];

$str = $_SESSION['menuArr'][$page_id];

$_RESULT = array(
    "str"    =>    $str,
);


вот попытался вынести основную часть, вроде ни чего не забыл


--------------------
Если вы не страдаете паранойей, это не значит, что они за вами не летят!
PM MAIL WWW ICQ   Вверх
sTa1kEr
Дата 4.9.2007, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


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

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



Leoo, в обоих примерах не вижу что бы страртовалась сессия session_start();
Крайне не рекомендуется использовать session_register(). Проще напрямую работать с супер глобальным массивом $_SESSION и меньше будет ошибок. К тому же session_register
Цитата

Caution


If you are using $_SESSION (or $HTTP_SESSION_VARS), do not use session_register(), session_is_registered(), and session_unregister(). 


Это сообщение отредактировал(а) sTa1kEr - 4.9.2007, 11:01
PM MAIL   Вверх
Leoo
Дата 4.9.2007, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 270
Регистрация: 3.10.2005
Где: г. Обнинск

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



я же говорил, что код не полный session_start() есть, я вот только не знаю в рнр-шном файле ajax-а нужно стартовать сессию или нет.

ну а вообще сессия должна быть видна?


--------------------
Если вы не страдаете паранойей, это не значит, что они за вами не летят!
PM MAIL WWW ICQ   Вверх
sTa1kEr
Дата 4.9.2007, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


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

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



Цитата(Leoo @  4.9.2007,  11:22 Найти цитируемый пост)
я вот только не знаю в рнр-шном файле ajax-а нужно стартовать сессию или нет.

А как же! Естественно нужно.
Цитата(Leoo @  4.9.2007,  11:22 Найти цитируемый пост)
ну а вообще сессия должна быть видна? 

Сразу после выполнения session_start() сессия должна быть видна.
PM MAIL   Вверх
Leoo
Дата 4.9.2007, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 270
Регистрация: 3.10.2005
Где: г. Обнинск

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



Цитата

Сразу после выполнения session_start() сессия должна быть видна.


вот тут то я и ******** забыл поставить, позор мне.

все заработало!!!!

Всем спасибо!!!!!


--------------------
Если вы не страдаете паранойей, это не значит, что они за вами не летят!
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.1543 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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