Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Может ли переменная, объявленная как $_SESSION['myvar']....
 
 автор: serqei35   (20.08.2010 в 01:41)   письмо автору
 
 

Здравствуйте. В ходе работы над сайтом возник такой вопрос: Может ли переменная, объявленная, например, как
$_SESSION['myvar']
, принимать в качестве значения ресурс, получаемый после обработки функцией
mysql_fetch_array()
, то есть:
$_SESSION['myvar'] = mysql_fetch_array($var);
?...

Заранее благодарен за ответы!

  Ответить  
 
 автор: Yuriev   (20.08.2010 в 01:54)   письмо автору
 
   для: serqei35   (20.08.2010 в 01:41)
 

Может, как и любая другая.

  Ответить  
 
 автор: Valick   (20.08.2010 в 02:24)   письмо автору
 
   для: Yuriev   (20.08.2010 в 01:54)
 

а будет ли доступен ресурс на "следующей странице"?
в противном случае нет смысла её туда пихать

  Ответить  
 
 автор: sl1p   (20.08.2010 в 03:05)   письмо автору
 
   для: Valick   (20.08.2010 в 02:24)
 

сессия это обычная переменная за исключением того что она таскается за клиентом всё время сессии.

  Ответить  
 
 автор: serqei35   (20.08.2010 в 04:32)   письмо автору
 
   для: Valick   (20.08.2010 в 02:24)
 

а будет ли доступен ресурс на "следующей странице"?

В том-то и дело, что на другой странице она показывает "кукиш", т.е. - 0

  Ответить  
 
 автор: sl1p   (20.08.2010 в 05:04)   письмо автору
 
   для: serqei35   (20.08.2010 в 04:32)
 

раз она показывает "0", значит вы гдето этот "0" ей присваиваете

  Ответить  
 
 автор: sim5   (20.08.2010 в 05:46)   письмо автору
 
   для: serqei35   (20.08.2010 в 01:41)
 

Сессию стартуйте, прежде чем....

  Ответить  
 
 автор: serqei35   (20.08.2010 в 12:04)   письмо автору
 
   для: serqei35   (20.08.2010 в 01:41)
 

Извините за ошибку: нужно сохранять результат не функции
mysql_fetch_array()
, а функции
mysql_query()

  Ответить  
 
 автор: Valick   (20.08.2010 в 12:07)   письмо автору
 
   для: serqei35   (20.08.2010 в 12:04)
 

зачем вам понадобилась такая противоестественная махинация?

  Ответить  
 
 автор: serqei35   (20.08.2010 в 13:14)   письмо автору
 
   для: Valick   (20.08.2010 в 12:07)
 

Эксперементирую... :) Сейчас я уже отказался от этой затеи, а данную тему открыл чтобы выяснить для себя: " может - не может..."
А идея заключалась в том, чтобы сделать сайт из одной, постоянно обновляющейся страницы, исользуя для этого массив
$_SESSION
Что-то типа того.

  Ответить  
 
 автор: nikita2206   (20.08.2010 в 13:29)   письмо автору
 
   для: serqei35   (20.08.2010 в 13:14)
 

Тогда ответ - нет. Ресурс, возвращаемый ф-ией mysql_query() живет пока живет соединение с базой. В принципе можно поэкспериментировать с pconnect'ом, но все-равно это глупо.

  Ответить  
 
 автор: serqei35   (20.08.2010 в 13:36)   письмо автору
 
   для: nikita2206   (20.08.2010 в 13:29)
 

Спасибо за разъяснение. Это же просто эксперемент. Эксперементы бывают и глупыми, но без них не рождалось бы ничего нового... ИХМО

Ресурс, возвращаемый ф-ией mysql_query() живет пока живет соединение с базой. А если он сохранен в обычную переменную, которая , в свою очередь, заносится в массив $_SESSION?...

  Ответить  
 
 автор: nikita2206   (20.08.2010 в 13:46)   письмо автору
 
   для: serqei35   (20.08.2010 в 13:36)
 

> А если он сохранен в обычную переменную, которая , в свою очередь, заносится в массив $_SESSION?...

Да куда хочешь можешь его сохранить, он уже ничто из себя не будет представлять.

  Ответить  
 
 автор: serqei35   (20.08.2010 в 13:54)   письмо автору
 
   для: nikita2206   (20.08.2010 в 13:46)
 

Да куда хочешь можешь его сохранить, он уже ничто из себя не будет представлять.

А разъяснить по-подробней можете?.

Ситуация такая: имеется форма на странице А, которая отправляет данные в скрипт Б. На основании этих данных скрипт Б делает запрос к БД и должен возвращать полученый результат обратно на страницу А. Как решить такую ситуацию не пребегая к методу GET?..

  Ответить  
 
 автор: nikita2206   (20.08.2010 в 14:08)   письмо автору
 
   для: serqei35   (20.08.2010 в 13:54)
 

Чем GET не нравится? Можно в сессию данные и загнать, но не результат mysql_query().

  Ответить  
 
 автор: serqei35   (20.08.2010 в 14:15)   письмо автору
 
   для: nikita2206   (20.08.2010 в 14:08)
 

Нельзя посредством GET. Информация секретная :))

Спасибо за ответы!

  Ответить  
 
 автор: serqei35   (20.08.2010 в 14:16)   письмо автору
 
   для: nikita2206   (20.08.2010 в 14:08)
 

Нельзя посредством GET. Информация секретная :))

Спасибо за ответы!

  Ответить  
 
 автор: Valick   (20.08.2010 в 14:26)   письмо автору
 
   для: serqei35   (20.08.2010 в 13:54)
 

Как решить такую ситуацию не пребегая к методу GET?..
нужно всего-лишь научиться программировать ;)
все зависит от конкретной задачи

  Ответить  
 
 автор: serqei35   (20.08.2010 в 14:35)   письмо автору
 
   для: serqei35   (20.08.2010 в 13:54)
 

Да куда хочешь можешь его сохранить, он уже ничто из себя не будет представлять.

Здесь вы не правы. Только что проверил: передал результат запроса к БД методом $_POST

Скорее всего, массив $_SESSION не может сохранять в себе данные типа ресурс. ИХМО

  Ответить  
 
 автор: sim5   (20.08.2010 в 14:46)   письмо автору
 
   для: serqei35   (20.08.2010 в 14:35)
 

А что такое по вашему ресурс?

  Ответить  
 
 автор: serqei35   (20.08.2010 в 14:51)   письмо автору
 
   для: sim5   (20.08.2010 в 14:46)
 

А что такое по вашему ресурс?

Что-то вроде массива.

Но дело уже не в этом. Хотя скрипт и получает переданную переменную, хотя он и показывает ее тип как ресурс, но ресурс этот - пуст.

Так-что мои доводы о неправоте nikita2206 [беру назад.

  Ответить  
 
 автор: sim5   (20.08.2010 в 15:01)   письмо автору
 
   для: serqei35   (20.08.2010 в 14:51)
 

Даже массив?! Ну тогда понятно почему вы пытаетесь его записать в сессию.
Дело как раз в этом. Вы не понимаете, что ресурс - это специальная переменная, содержащая ссылку на внешний ресурс. Из чего следует, что сохранять саму ссылку, где бы то нибыло, занятие бессмысленное.

  Ответить  
 
 автор: serqei35   (20.08.2010 в 15:05)   письмо автору
 
   для: sim5   (20.08.2010 в 15:01)
 

Спасибо! Теперь будем знать.

Это значит, что сначала нужно обработать результат запроса, например, функцией mysql_fetch_array(), сохранить полученое в виде массива, а затем уже можно передавать этот массив в том же массиве $_SESSION?..

  Ответить  
 
 автор: sim5   (20.08.2010 в 15:22)   письмо автору
 
   для: serqei35   (20.08.2010 в 15:05)
 

Да, сперва надо получить данные ресурса, вас интересующие, а затем сохранить их. Только в случае вашего ресурса, не mysql_fetch_array(), а mysql_fetch_assoc().

  Ответить  
 
 автор: serqei35   (20.08.2010 в 15:28)   письмо автору
 
   для: serqei35   (20.08.2010 в 15:05)
 

Возник еще один вопрос. Какм образом можно преобразовать массив - в строку вида:
array[value1], array[value2], array[value3]
и сохранить результат в переменной
var

  Ответить  
 
 автор: sim5   (20.08.2010 в 15:34)   письмо автору
 
   для: serqei35   (20.08.2010 в 15:28)
 

Вы почитайте о функциях работы с массивами. array[value1], array[value2], array[value3] - это что-то резиновое, только вам понятное.
Если это сложный массив, то либо:
$str = json_encode($array)
либо:
$str = http_build_query($array)

  Ответить  
 
 автор: serqei35   (20.08.2010 в 15:39)   письмо автору
 
   для: sim5   (20.08.2010 в 15:34)
 

Массив не сложный. В нем будут сохранены, например, только названия организаций.

Спасибо вам за ответы!

  Ответить  
 
 автор: sim5   (20.08.2010 в 15:42)   письмо автору
 
   для: serqei35   (20.08.2010 в 15:39)
 

Дело не в том, что хранится, а в том, как хранится. Если это массив типа array('a','b','c'), то достаточно implode. Читайте мануал.

  Ответить  
 
 автор: serqei35   (20.08.2010 в 15:46)   письмо автору
 
   для: serqei35   (20.08.2010 в 15:39)
 

array[value1], array[value2], array[value3] - это что-то резиновое, только вам понятное.

Я имел в виду следующее: имеется массив с перечнем названий организаций
$org
.
Нужно преобразовать элементы этого масва в стоку :
$org[1], $org[2]...

  Ответить  
 
 автор: serqei35   (20.08.2010 в 15:48)   письмо автору
 
   для: serqei35   (20.08.2010 в 15:46)
 

Всем спасибо за ответы! Буду зубрить книжки. :))

  Ответить  
 
 автор: Valick   (20.08.2010 в 15:45)   письмо автору
 
   для: serqei35   (20.08.2010 в 15:28)
 

на кой кляп Вам преобразование
сохраняете в сессию массив и дело с концом
(скажу по секрету данные сесии сериализуются автоматически ;) )

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования