Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Передача и прием методом POST - несовместимо с session_stsrt
Покинул форум
Сообщений всего: 34
Дата рег-ции: Март 2012
Помог: 0 раз(а)
Когда я формирую форму метод POST скриптом, а потом запускаю session_stsrt, выдается и форма и нотис:
Notice: A session had already been started - ignoring session_start() in E:\wamp\www\Gallery_DB\headsets.php on line 113,
как раз в 113 строке после выдачи формы. И НИЧЕГО НЕ РАБОТАЕТ, данные формы не передаются в скрипт-обработчик. А не запускать session_stsrt я не могу, потому что просто не вижу другого способа автоматически, без действий пользователя передать данные дальше, для выдачи фоток в другом фрейме (я делаю фотогалерею на фреймах. Кто-нибудь из знатоков может подсказать выход - передать надо 2 длинные строки, длиннее, чем позволяет метод GET. Точнее, небольшую строку и большой массив.
И вдогонку вопрос: можно было бы обойти эту проблему, но в одном Фрейме данные с фоток-ссылок передаются в виде значений, а в другом - только идентификаторы переменных, без значений.
Спасибо.
sKaa
Отправлено: 11 Мая, 2012 - 05:30:06
Частый посетитель
Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011 Откуда: Россия г. Нижний Новгород
Помог: 25 раз(а)
[+]
translate.google.ru - хотя-бы там учись пока ошибки свои переводить и вникать.
тебе явно говорят, что заголовки уже отправлены, а поскольку сессии это механизм завязанный на куках в основном, то он тебя прямым текстом и посылает. А вообще такие проблемы, от того, что не может отделять html от php.
Вставь свою session_start() до вывода любой информации пользователю, будь то обычный хтмл или пхп. самый самый верх скрипта куда-нибудь.
Las
Отправлено: 11 Мая, 2012 - 17:08:07
Новичок
Покинул форум
Сообщений всего: 34
Дата рег-ции: Март 2012
Помог: 0 раз(а)
Нотис я перевел, заголовки отправлены. Но какие - та информация, что отправлялась через сессию - да, отправлены. А данные формы игнорируются или отправляется пустая форма, пока я ее еще не успел заполнить.
Если запучтить сессию до отправки формы, будет скорее всего то же самое. Другой вопрос, можно ли запустить сессию и остановить ее до отправки формы?
И второй вопрос - из левой колонки-фрейма по ссылке меню я перехожу в основной фрейм и формирую там набор фоток-ссылок. Так вот, при первом переходе в адресной строке передаются значения переменных. А со сформированных фоток-ссылок не передаются - в адресной строке только идентификаторы переменных. Я так думаю, это связано с повторным использованием массива GET. Можно ли егл как-нибудь очистить, чтобы передавались значения с фоток-ссылок (т.е. по второму разу). Нет никаких соображений.
Спасибо за ответ.
sKaa
Отправлено: 11 Мая, 2012 - 17:21:18
Частый посетитель
Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011 Откуда: Россия г. Нижний Новгород
Помог: 25 раз(а)
[+]
Las, ты там чем себе голову забил, какое еще начало сессии до отправки ПОСТ??? Пост это исключительно евент в первую очередь и пока пользователь не нажмет "отправить" никакой пост не будет отправлен.
Я сегодня кому-то уже пытался объяснить. Итак постараюсь еще раз, правда я изрядно пьян ) Сори если что не так.
Сессии в первую очередь завязаны как правило на значении куки PHP_SESSIONID - или как-то так Все куки в скрипте могут быть созданы до того момента как был отправлен первый символ, бывает даже пробел или перенос строки всё портит
Значит! Логический вывод - сессия завязана на куках, куки не могут быть созданы после отправки первого символа, будь то путем echo 'symbol'; или print .. или вообще обычный html :
Покинул форум
Сообщений всего: 34
Дата рег-ции: Март 2012
Помог: 0 раз(а)
sKaa пишет:
Вставь свою session_start() до вывода любой информации пользователю, будь то обычный хтмл или пхп. самый самый верх скрипта куда-нибудь.
Я не забил голову, ты сам посоветовал.
А как сделать (вторая часть вопроса), чтобы использовать массив $_GET повторно?
Его можно как-нибудь очищать: открыть, закрыть, занести туда NULL, чтобы работала передача данных в адресной строке по второму разу - с фоток-ссылок?
Спасибо, ты мне очень морально помогаешь.
Только пойми, какая необходимость возиться с $_SESSION, если этот массив и тка работает. Именно на основе переданной через нее я формирую здоровенный массив фоток - собственно галерею. Но при этом надо еще и отправить форму, в которую пользователь занесет данные по выбранной фотке.
Не работает передача формы при включении сессии. Если я сессию не включаю, то форма передается, но в нее пользователю нечего занести - ему надо выбраь фотку и внести данные по ней.
Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011 Откуда: Россия г. Нижний Новгород
Помог: 25 раз(а)
[+]
Ну у тебя форма передает данные в скрытый iframe, так?
Так ты и указывай в этой самой форме, что именно и каким методом ПОСТ\ГЕТ она должна передать в этот iframe данные..
Там уже совсем другой массив ГЕТ и ПОСТ
Я могу ошибаться сейчас в синтаксисе хтмл, но в целом картина должна выглядеть как-то так :
<formaction="xz 4to tam y teb9 iframe.."method="GET"
(Добавление)
Вообще конечно я чет затупил по синей теме и фигни тебе насоветовал ака костыли, самое правильное тут будет добавить внутрь формы скрытых инпутов, их можно наштамповать внутри формы сколько душе угодно, присвоить каждому id для простоты управления значениями с помощью jQuery :
Именно ключ qwe со значением 15 в таком случае форма и передаст в твой фрейм!
А в самом пхп фрейма уже ловить как-то так, в зависимости от метода формы (ПОСТ/ГЕТ)
А из пхп кода твоего iframe нужно обращаться к объектам родительской страницы (фрейм - дочерняя ) как-то так :
window.parent.getElementById('elem_id') ... - я не особо силен в джава скрипт когда выпью пару бокалов, сорри, по аналогии нагугли
Покинул форум
Сообщений всего: 34
Дата рег-ции: Март 2012
Помог: 0 раз(а)
Нет, не в скрытый ифрейм, а в обработчик для занесения в базу данных. У меня нет плавающих фреймов, все фреймы обычные. Может, попробовать в той же форме указать метод ГЕТ? Сама форма ведь от этого не изменится.
Да только вряд ли я чего этим достигну - запуск сессии пресекает любые другие передачи.
sKaa
Отправлено: 11 Мая, 2012 - 18:02:03
Частый посетитель
Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011 Откуда: Россия г. Нижний Новгород
Помог: 25 раз(а)
[+]
Las, чет ты там явно косячишь, 100% тебе говорю. Щя я найду какой-нибудь пример жди тут!) (Добавление)
Короче вот, я нашел, все подробно и с примерами : http://forum.php.su/topic.php?fo...=46&topic=17
Las
Отправлено: 11 Мая, 2012 - 18:08:52
Новичок
Покинул форум
Сообщений всего: 34
Дата рег-ции: Март 2012
Помог: 0 раз(а)
Косячу 100%.
Жду.
sKaa
Отправлено: 11 Мая, 2012 - 18:09:27
Частый посетитель
Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011 Откуда: Россия г. Нижний Новгород
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.