Непонятка с передачей строки сессиями

Статус
В этой теме нельзя размещать новые ответы.

forre

Новичок
Непонятка с передачей строки сессиями

Здраствуйте. Ситуация следующая:
есть 2 страницы. На 1 происходит формирование строки запроса MySQL и далее записывается в $_SESSION['query']. Далее редирект на 2 страницу, где должен использоваться этот запрос. На localhost проблем нет, у в инете (версию ПХП4.хх к сожалению узнать не получится) выдает ошибку, а на
PHP:
echo $_SESSION['query']
выдает Resource id #6.
Кто нть знает как бороться?
Спасибо.
 

forre

Новичок
Автор оригинала: Eduard
Код покажи
1 страница:
PHP:
<?php
session_start();
...
$_SESSION['result'] = 'SELECT DISTINCT id,club_id,res_name,type FROM '.$club.' WHERE '.$where.' ORDER BY res_date LIMIT '.$next_page.','.$aff_ev;
...
?>
2 страница:
PHP:
<?php
session_start();
...
$query = $_SESSION['result'];
include('../inc/query.php');
...
?>
Какой конкретно кусок кода нужен?
 

Eduard

Новичок
Попытайся сделать на простых примерах, если не получится разберемся и ты перенесешь их на свою задачу. И не надо будет спрашивать про конкретный кусок!
 

forre

Новичок
Автор оригинала: Eduard
Попытайся сделать на простых примерах, если не получится разберемся и ты перенесешь их на свою задачу. И не надо будет спрашивать про конкретный кусок!
OK.
1 страница:
PHP:
$_SESSION['query'] = "SELECT * FROM Table WHERE $condition";
2 страница:
PHP:
echo $_SESSION['query'];
и получаем Resource id #6
 

Crazy

Developer
Автор оригинала: forre
OK.
1 страница:
PHP:
$_SESSION['query'] = "SELECT * FROM Table WHERE $condition";
2 страница:
PHP:
echo $_SESSION['query'];
и получаем Resource id #6
Ты гонишь.

Я еще могу поверить, что ты пишешь что-то типа такого:

$_SESSION['query'] = mysql_query(....

или такого:

echo mysql_query($_SESSION['query']);
 

forre

Новичок
Автор оригинала: Crazy
Ты гонишь.

Я еще могу поверить, что ты пишешь что-то типа такого:

$_SESSION['query'] = mysql_query(....

или такого:

echo mysql_query($_SESSION['query']);
Проблема не в том, что я пишу - как я и написал постом выше. Проблема с тем, что передается по сессии, причем с другими переменными такой проблемы нет.
 

Demiurg

Guest
Ресурсы в сессии передовать нельзя.
 

forre

Новичок
По подробнее можно? Я передаю строковое значение.
Чем отличается
$_SESSION['query'] = "SELECT * FROM Table WHERE $condition" от $_SESSION['query'] = "Какая то строка" ?
и почему на LocalHost все работает? Помогите плиз...
 

Фанат

oncle terrible
Команда форума
forre
Не надо думать, что ты умнее всех на этом форуме.
Тебе подробно ответил Crazy.
Внимательно вчитайся в его ответ.
И найди, где ты в своем скрипте допустил ошибку.
Никакие сессии и пхп тут не при чем.
ПРОБЛЕМА В ТВОЕМ СКРИПТЕ. Пойди и исправь.
Я доступно объясняю?
 

Ibanez

Guest
forre

А ты попробуй для начала вывести то, что ты назначаешь переменной сессии на экран. Может проблема совсем не в том, о чем ты спросил? Скорее всего ты просто не правильно работаешь с массивом. Crazy прав. Скорее проблема не в той строке которую ты нам написал
 

forre

Новичок
Я нашел в чем была проблема. Если интересно, то вот...
Посмотрите мой ответ с куском кода (это в самом верху). Там есть $_SESSION['result']. Так вот проблемы была именно в нем: как только я поменял result на другое result1, все заработало. Я так понимаю $_SESSION['result'] зарезервировано, иначе чего бы ему не понравилось.
Спасибо.
 

Фанат

oncle terrible
Команда форума
мда.
Как я понимаю, объяснять такому человеку, что неправльно хранить запросы в сессии, бесполезно.
 

forre

Новичок
Фанат, ты о запросах как о строках говоришь или о результатах выполнения запросов. Если о последнем, то я повторяю - Я ПЕРЕДАВАЛ ТОЛЬКО СТРОКУ - что в этом не так??? И почему же теперь все работает? Запрос я не менял, только имя сессии поменял. Объясни тогда почему проблема ушла, если считаешь что все вышенаписанное мной фуфло.
Спасибо.
 

Фанат

oncle terrible
Команда форума
О строках, о строках.
Если приложение кладет запрос в сессию, значит, оно неправльно спроектировано.

А проблема твоя была конечно же, в регистер глобалс и совпадающем имени переменной.
 

Crazy

Developer
Автор оригинала: forre
Я нашел в чем была проблема. Если интересно, то вот...
Посмотрите мой ответ с куском кода (это в самом верху). Там есть $_SESSION['result']. Так вот проблемы была именно в нем: как только я поменял result на другое result1, все заработало. Я так понимаю $_SESSION['result'] зарезервировано, иначе чего бы ему не понравилось.
Спасибо.
И этот человек утверждал, что не гонит. Родной, покажи мне в этой цитате слово 'result':

$_SESSION['query'] = "SELECT * FROM Table WHERE $condition";
2 страница:
echo $_SESSION['query'];
 

forre

Новичок
Crazy, ты слепой?
Здесь я приводил по просьбе Eduard на упрощенном примере. А если ты удосужишься посмотреть в самое начало, там где я вопрос задавал (3 пост сверху), то увидишь о чем шла речь.

Спасибо.
 

StUV

Rotaredom
forre
имхо, ты что-то там недоговариваешь о своих скриптах....

проверь такой вариант:
1.php
PHP:
session_start();
$_SESSION['result'] = "SELECT * FROM Table WHERE $condition";
header('Location: 2.php');
exit;
2.php
PHP:
session_start();
echo $_SESSION['result'];
что выдает ?
неужели:
Resource id #..
?
=)))
 

forre

Новичок
Да, именно это на Unix и выдает. А почему так происходит, популярно Фанат объяснил

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

Crazy

Developer
Автор оригинала: forre
Crazy, ты слепой?
Может быть. Но есть и другое мнение: что мой собеседник не только гонит, но и тормозит. Безумное сочетание. Ибо:

Здесь я приводил по просьбе Eduard на упрощенном примере.
Не упрощенном, а вымышленном. Если бы ты действительно испытал свой пример, то обнаружил бы, что ошибки в нем нет.

А если ты удосужишься посмотреть в самое начало, там где я вопрос задавал (3 пост сверху), то увидишь о чем шла речь.
Если ты удосужишься почитать ответы в начале треда, то увидишь вот это:

Попытайся сделать на простых примерах, если не получится разберемся и ты перенесешь их на свою задачу. И не надо будет спрашивать про конкретный кусок!
Здесь не написано "нахреначь какую-нибудь туфту и кинь на форум без проверки". Здесь написано, что нужно СДЕЛАТЬ на простых примерах. И на этих примерах -- РАЗОБРАТЬСЯ. Чем отличается смысл слов "разобраться" и "кинуть на форум не глядя" ты сам осознаешь, или тоже объяснить медленно и два раза?

-~{}~ 09.10.04 00:32:

Автор оригинала: forre
Да, именно это на Unix и выдает.
Ты ПРОВЕРИЛ два скрипта, которые тебе дали, или продолжаешь фантазировать?

Совет: больше не кури эту траву.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху