Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Получение массива из $_POST 
V
    Опции темы
Vreden
  Дата 28.7.2007, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Idiotic Admin
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 12.7.2006

Репутация: нет
Всего: 1



Ситуация такая, отправляю данные следующим образом

Код

...
<input type=text name=money[$key] size=6>
...
<input type=text name=money[$key] size=6>
...
<input type=text name=money[$key] size=6>
...


Вбиваю к примеру: "100000", и вместо корректных данных приходит "00". Другими словами, всегда исчезают первые четыре символа, вобще не пойму что происходит. С кодом точно всё в порядке. $key всегда уникальна. 

print_r выводит такую вот муть:
Array ( [1185617914] => 00 [1185618112] => [1185620897] => [1185621262] => [1185622305] => ) 

Как быть, уважаемые?


--------------------
Чё? Как? ©
PM MAIL WWW   Вверх
smartov
Дата 28.7.2007, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 7
Всего: 259



Vreden, если я не ошибаюсь, получается что ты данные пытаешься писать в одно поле. 
Насколько я вижу надо так
Код

...
<input type=text name=money[$key][] size=6>
...
<input type=text name=money[$key][] size=6>
...
<input type=text name=money[$key][] size=6>
...

PM MAIL   Вверх
Vreden
Дата 29.7.2007, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Idiotic Admin
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 12.7.2006

Репутация: нет
Всего: 1



В каком смысле в одно поле? Имена полей всегда разные!
И я не совсем понял что это у Вас.


--------------------
Чё? Как? ©
PM MAIL WWW   Вверх
smartov
Дата 29.7.2007, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 7
Всего: 259



Vreden
Цитата(Vreden @  29.7.2007,  08:52 Найти цитируемый пост)
Имена полей всегда разные!

да ну? если я что-то смыслю в php, то 
1) предположим что
Код

$key = 'vasya';


2) что мы получаем по Вашему коду
Код

...
<input type=text name=money['vasya'] size=6>
...
<input type=text name=money['vasya'] size=6>
...
<input type=text name=money['vasya'] size=6>
...


Если меня не обманывают органы зрения, то имена полей идентичны до мозга костей.
А для того, чтобы получить массив, нужно добавить в конце имени каждого поля пустые квадратные скобки.
И вообще неплохо было бы придерживаться хорошего тона и брать параметры в кавычки
Код

...
<input type="text" name="money[$key][]" size="6">
...
<input type="text" name="money[$key][]" size="6">
...
<input type="text" name="money[$key][]" size="6">
...


Таким образом при подстановке $key в мой код, получим
Код

...
<input type="text" name="money['vasya'][]" size="6">
...
<input type="text" name="money['vasya'][]" size="6">
...
<input type="text" name="money['vasya'][]" size="6">
...


Каждое поле будет новым элементом массива. 

Аналогичный пример приведен в документации, которую неплохо было бы почитать.
PM MAIL   Вверх
Vreden
Дата 29.7.2007, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Idiotic Admin
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 12.7.2006

Репутация: нет
Всего: 1



Цитата(smartov @  29.7.2007,  11:18 Найти цитируемый пост)
да ну? если я что-то смыслю в php, то 


Я говорю, что 100% имена разные смотрите сами
Array ( [1185617914] => 00 [1185618112] => [1185620897] => [1185621262] => [1185622305] => ) 
Вы видите здесь одинаковые ключи?
Я просто выложил кусочек кода, на самом деле он огромный и все инпуты выводятся циклами и условиями, которые на 100% исключают повторяемость ключей это видно из выводимого массива также. Тем более что если я во все инпуты введу разные данные... к примеру:

12374
850385
92835759
8363845
100000

то приходит следующее

Array ( [1185617914] => 4 [1185618112] => 85 [1185620897] => 5759 [1185621262] => 845 [1185622305] => 00)

видно что куда-то исчезают первые четыре символа. А сами данные доходят нормально, т.е нет повторяемости
Может я действительно не понимаю чего-то и ключи одинаковые, только я не вижу, где они повторяются....
инпутов может быть 1 или 2, а может быть и несколько сотен, и код которые эти инпуты выводит исключает повторяемости ключей.
И даже если допустить повторяемость, то в массиве бы отсутствовал один из ключей, а пропадают именно первые четыре символа.
 smile

Добавлено @ 12:33
Цитата(smartov @  29.7.2007,  11:18 Найти цитируемый пост)
2) что мы получаем по Вашему коду
...
<input type=text name=money['vasya'] size=6>
...
<input type=text name=money['vasya'] size=6>
...
<input type=text name=money['vasya'] size=6>
...


Там Вы видите стоят "..." означающие, что здесь циклы и условия. И по моему коду мы получим следующие

Код

...
<input type=text name=money['1185617914'] size=6>
...
<input type=text name=money['1185618112'] size=6>
...
<input type=text name=money['1185620897'] size=6>
...


Это сообщение отредактировал(а) Vreden - 29.7.2007, 12:34


--------------------
Чё? Как? ©
PM MAIL WWW   Вверх
smartov
Дата 29.7.2007, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 7
Всего: 259



Vreden
Цитата(Vreden @  29.7.2007,  11:29 Найти цитируемый пост)
означающие, что здесь циклы и условия

Простите, моя телепатия меня подвела smile не догадался что там циклы и уловия.

Проведите снитетический тест: создайте простенький html с несколькими полями отошлите их постом на простенький скрипт php, который только и сделаей, что print_r($_POST) и посмотрите, доходят ли значения нормально.
Если доходят нормально - ищите ошибку у себя в коде.
PM MAIL   Вверх
Vreden
  Дата 29.7.2007, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Idiotic Admin
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 12.7.2006

Репутация: нет
Всего: 1



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

Добавлено через 5 минут и 9 секунд
Цитата(smartov @  29.7.2007,  13:09 Найти цитируемый пост)
Проведите снитетический тест: создайте простенький html с несколькими полями отошлите их постом на простенький скрипт php, который только и сделаей, что print_r($_POST) и посмотрите, доходят ли значения нормально.

У меня есть куча других форм, где данные доходят нормально, только там они идут не массивами, т.е. если массив, то приходит вот такой вот бреддд. Хотя у хоста работает всё. :( 


--------------------
Чё? Как? ©
PM MAIL WWW   Вверх
Anarki
Дата 29.7.2007, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 14.3.2005

Репутация: 7
Всего: 11



Могу сказать лишь, что если у вас приходит
Код

Array ( [1185617914] => 4 [1185618112] => 85 [1185620897] => 5759 [1185621262] => 845 [1185622305] => 00)

и это часть print_r($_POST);

то вас html получается таким
Код

<input type=text name=money[1185617914] size=6>
...
<input type=text name=money[1185618112] size=6>
...
<input type=text name=money[1185620897] size=6>


Да и $key по умолчанию в html никак не интерпретируется

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

Это сообщение отредактировал(а) Anarki - 29.7.2007, 15:23


--------------------
PM WWW   Вверх
Vreden
Дата 29.7.2007, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Idiotic Admin
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 12.7.2006

Репутация: нет
Всего: 1



Anarki, я же уже говорил, что это не html код а php. Вся эта бадяга выводится print.  Так на хосте всё работает, вывод, косячный php. Другими словами проблему решил. У меня стоял php 4.2.3 поставил 4.4.7 и всё заработало  smile, а у хоста стоит 4.4.4  smile

Добавлено через 50 секунд
Всем большое спасибо!

Добавлено через 2 минуты и 41 секунду
Кстати, избавившись от этой версии php, избавился ещё от целой кучи траблов  smile


--------------------
Чё? Как? ©
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0782 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.