Усечение данных сериализованного массива

  • Автор темы Автор темы ElWhite
  • Дата начала Дата начала

ElWhite

Новичок
Усечение данных сериализованного массива

При передаче сериализованного массива через скрытое поле формы дальше в код скрипта, данные массива непонятным образом обрезаются.
Причем проверяю их перед передачей в самом конце формы - все на месте:
PHP:
$ser_tyre_size = a:4:{i:0;s:6:"295/80";i:1;s:6:"295/80";i:2;s:6:"295/80";i:3;s:6:"295/80";}

А при проверке сразу на входе, до какой-либо обработки, получаю:
PHP:
$ser_tyre_size = a:4:{i:0;s:6:

Подскажите, пожалуйста, чем это может быть вызвано? Что может произойти с данными массива?

Данные формы передаются методом POST.
 
ElWhite
Тем, что у тебя наверника хидден поле получается вида
<input type="hidden" name="some_name" value ="a:4:{i:0;s:6:"295/80";i:1;s:6:"295/80";i:2;s:6:"295/80";i:3;s:6:"295/80";}" >
Понял в чём фишка?
 
Ребята, спасибо.
Действительно дело в том, что в данных переменной есть кавычки, по которым они и обрезаются:
PHP:
<input type="hidden" name="ser_tyre_size" value="a:4:{i:0;s:6:"295/80";i:1;s:6:"295/80";i:2;s:6:"295/80";i:3;s:6:"295/80";}">
Надо было сразу в html посмотреть. Извините за беспокойство.

А извращение - это каждый раз удалять руками сессии при настройке работы скрипта или при возвращении на предыдущую страницу формы до удаления сессий скриптом.

Извращение наверное и передача масивов, созданных в одном условии - в другое условие в теле одного скрипта посредством формы. Но как по другому - не могу придумать :)

Еще раз спасибо.
 
А извращение - это каждый раз удалять руками сессии при настройке работы скрипта или при возвращении на предыдущую страницу формы до удаления сессий скриптом
гыгы
а что - типа, удалить массив из сессии после того, как он становится не нужен, в голову не приходило? =)
 
Он становится не нужен после завершения работы скрипта - только после третьего шага передачи формы.
 
ИМХО цикл поборки шин на колеса авто можно было бы реализовать на js без перезагрузок страницы... Эх, тебя бы посадить на модеме теститься :-)
 
Автор оригинала: _vampiro_
ИМХО цикл поборки шин на колеса авто можно было бы реализовать на js без перезагрузок страницы... Эх, тебя бы посадить на модеме теститься :-)
_vampiro_, почему ты так решил? Разве я описывал реализованный алгоритм выборки из базы? Есди бы можно было обойтись только javascript, я бы его использовал.
 
> Он становится не нужен после завершения работы скрипта только после третьего шага передачи формы.
А зачем их удалять вручную, если они не мешают?
 
Автор оригинала: SiMM
> Он становится не нужен после завершения работы скрипта только после третьего шага передачи формы.
А зачем их удалять вручную, если они не мешают?
Совершенно справедливый вопрос. Если не мешают - ручками удалять не обязательно :)
Но массивы в сессиях как раз ломают результат первого этапа работы программы, если до конца ее выполнения вернуться на предыдущую страницу и начать снова вводить данные.

Но описание работы программы не входило в мои задачи при создании этого топика :)
 
Да, только сейчас подумал, что это не нормально давать имена массивам, передаваемым через сессию, такие-же, какие они имели до передачи. Потому при откате формы и получаются неприятности.

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

Спасибо.
 
Сверху