![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Ravanger |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 26.6.2007 Репутация: нет Всего: нет |
такая проблема, есть кусок скрипта
проблема такая, в IE обрабатывается нормально и выполняет то, что что от него требуется, а вот опера и фф не распознают $_POST[$key] как массив подскажите что с этим делать, может сталкивался кто |
|||
|
||||
SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 32 Всего: 401 |
Ravanger, давайте так... Вы очень быстро прочитаете это и так же быстро исправите предыдущий пост на реальное описание проблемы: что у Вас за форма в HTML, как Вы ее отправляете из каждого браузера и какие данные в результате этого попадают в скрипт в каждом случае. И заодно попросите модераторов перенести этот вопрос в более подходящий раздел форума.
А этого вопроса мы будем считать, что не видели;). -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
vintyara |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 24.3.2005 Где: Ode$$a Репутация: 1 Всего: 2 |
Ravanger, а у тя опера и фф каких верисй
![]() |
|||
|
||||
Ravanger |
|
||||||||||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 26.6.2007 Репутация: нет Всего: нет |
"это" я уже читал, обьясняю, есть форма состоящяя из много го кол-ва полей нас интересует несколько <select> с одним именем в котором n <option>, селесты добавляются яваскриптом по мере надобности, дальше, массив преобразовуется в строку и пишется в базу данных одним полем... так вот, это все прекрасно работает в IE, начал тестить на опере в условие,
скрипт не попадает (проверял) поменял условие на
и получил ошибку
внимание вопрос, почему? да, кстати, в <select> есть дефолт <option value="-">-</option>, который в базу писатся не должен, отсюда и обработка функцией str_replace()
opera 9я, фф не помню Это сообщение отредактировал(а) Ravanger - 6.7.2007, 21:28 |
||||||||||
|
|||||||||||
teroni |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 15.5.2007 Где: Днепропетровск Репутация: 8 Всего: 22 |
Что-то я не пойму, почему у Вас этот селект должен передаваться массивом?
Это что-то вроде
|
|||
|
||||
Ravanger |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 26.6.2007 Репутация: нет Всего: нет |
teroni, именно
только не мультиплай, а просто несколько селектов имеют одинаковые имена Это сообщение отредактировал(а) Ravanger - 6.7.2007, 21:27 |
|||
|
||||
Alukard |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 14.11.2006 Репутация: нет Всего: нет |
Впринципе, что вы вцепились в браузеры...конечно странно что IE выполняет а остальные нет, но PHP является серверным и поэтому не зависит от браузера....
Могу дать совет использовать массив $_REQUEST вместо $_POST , в нем все переменные есть! И желательно посмотреть HTML код странички после выполнения PHP скрипта для определения проблемы... Да, только что заметил...вы что используете массив $_POST как свой локальный напрямую записывая туда собственные переменные из select ? Если да, то это глупо, создайте собственный массив и оперируйте с ним! Это сообщение отредактировал(а) Alukard - 6.7.2007, 21:46 --------------------
Блог блогу рознь: Алукардные РецептыPHP, Операционные системы, Россия & США...etc. |
|||
|
||||
Ravanger |
|
||||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 26.6.2007 Репутация: нет Всего: нет |
в силу определенных причин, это не глупо
это я знаю, но возвращают результаты обработки они по разному просто почему то опера и фф говорят, ЧТО ЭТО НЕ МАССИВ! |
||||
|
|||||
teroni |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 15.5.2007 Где: Днепропетровск Репутация: 8 Всего: 22 |
З.Ы. И что мешает посмотреть
Если они в ИЕ, ФФ и Моззиле отличаются - значит какой-то кривой хтмл у отсылающей странички. |
||||
|
|||||
SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 32 Всего: 401 |
Что мешает формировать эту строку на клиенте яваскриптом же и одним полем посылать? Но вообще, как правило, сама идея записи массива "одним полем" говорит об ошибке в проектировании базы... С квадратными скобками, надеюсь? 100% это ни при чем. А вот var_dump($_POST) сделать не помешает. Обработки чего и где? Вообще-то, они дело говорят. Чем бы ЭТО ни было, массивом PHP оно может стать лишь в принимающем PHP-скрипте - если передать ЭТО данному скрипту в правильном формате. Очевидно, браузеры просто отправляют ЭТО в разном формате - а возможно, даже формируют ЭТО по-разному. И PHP тут, действительно, абсолютно ни при чем... В том FAQе есть ссылки на плагины для просмотра HTTP-заголовков. Вы ставили их на свои браузеры и смотрели, что у Вас откуда и куда пересылается? -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
-=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 32 Всего: 69 |
Ravanger, прекрати говорить о браузерах, когда говоришь о массивах в PHP!!! -------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
ilyalyu |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 25.10.2006 Репутация: нет Всего: нет |
Очевидно, IE, обнаружив одинаковые имена у тэгов, автоматически добавляет к ним квадратрые скобочки "[]" (т.е. "name[]" вместо "name"), а FF и Opera этого не делают (можно послать форму с помощью метода GET, сделать var_dump переменной $_SERVER - там где-то должен быть текст запроса - и посмотреть так ли это). Что касается PHP, то, насколько я понимаю, он когда видит имя с квадратными скобками ("name[]=value1&name[]=value2"), то создает масив "name" и добавляет в него элемент "value" (соответствующий код на PHP выглядел бы так "$_GET['name'][] = 'value1'; $_GET['name'][] = 'value2';"). Если же он встречает несколько одинаковых имен без скобок ("name=value1&name=value2"), то он просто пишет новое значение поверх старого (код на PHP "$_GET['name'] = 'value1'; $_GET['name'] = 'value2';"). Мораль, думаю, такая: если в одной форме используются одинаковые имена, необходимо добавлять квадратные скобки самому и не надеятся на браузер.
Это сообщение отредактировал(а) ilyalyu - 8.7.2007, 11:02 |
|||
|
||||
Ravanger |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 26.6.2007 Репутация: нет Всего: нет |
да они там стоят, вобщем пока рассмотрение этой темы откладываю, как прийду на работу кину исходник HTML и будем разбиратся, всем спасибо |
|||
|
||||
WIPS |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 22.5.2006 Где: Украина, Киев Репутация: 1 Всего: 8 |
Ravanger, я еще наблюдал одну интересныую багофичу FF, когда он не отправлял из формы данные инпутов, кот. были сгенерированы JS. Отправлял только то, что было в форме при загрузке страницы.
Но... было это давно, т.е. FF был наверное версии так 1.0.x.x.x, и сейчас дела могут обстоять по другому. Однако... я до сих пор страхуюсь и все инпуты, кот. мне могут пригодиться генерирую заранее на сервере вместе со страницей, а JS их только прячет/показывает. Кстати... как вела себя в этой ситуации Опера, к сожалению не помню... --------------------
Автопроизводители, машины, марки, модели! |
|||
|
||||
SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 32 Всего: 401 |
WIPS, а эти инпуты, часом, не в таблицу добавлялись?
![]() -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |