|
Замена . на _ в $_POST
|
|||
---|---|---|---|
#18+
Добрый день. Может вопрос и очень глупый, но ответа на него так и не нашел( в форме имена поле имеют такой формат : name="insurerPersonForm.lastName" При отправке формы, приходит $_POST['insurerPersonForm_lastName'] = Вывожу print_r в самом верху, до подлючения каких либо файлов. пытаюсь пронать пост массив через функцию в которой заменяю _ на . на выходе получаю пустой массив (не присваюиваются ключи с .) Но при этом делаю выборку из базы в ней поля имеют такие-же имена, массив с точками живет и все норм. например: $data['insurerPersonForm.lastName'] содержит значения, с ним можно работать. В чем может быть проблема? При этом на другом сайте форма с такими-же именами (почти у всех Страховых одинакомые имена), все работает, charles отлавливает что пост отправляется с ., а не _ ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2018, 12:41 |
|
Замена . на _ в $_POST
|
|||
---|---|---|---|
#18+
Zhenekпытаюсь пронать пост массив через функцию в которой заменяю _ на . на выходе получаю пустой массив (не присваюиваются ключи с .)Покажите код, которым пытаетесь сделать замену. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2018, 12:58 |
|
Замена . на _ в $_POST
|
|||
---|---|---|---|
#18+
Zhenekв форме имена поле имеют такой формат : name="insurerPersonForm.lastName" При отправке формы, приходит $_POST['insurerPersonForm_lastName'] =Строго говоря, это не совсем так. При отправке браузер отправляет точки как есть. А преобразование точки в подчеркивание делает PHP и об этом есть упоминание в документации: http://php.net/manual/ru/language.variables.external.php Замечание: Точки и пробелы в именах переменных преобразуется в знаки подчеркивания. Например, <input name="a.b" /> станет $_REQUEST["a_b"]. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2018, 13:21 |
|
Замена . на _ в $_POST
|
|||
---|---|---|---|
#18+
vkle, Вот, для теста набросал на вентилятор вот так) Код: php 1. 2. 3. 4. 5. 6. 7.
Обычные ключи проходят, а с "." нет ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2018, 13:35 |
|
Замена . на _ в $_POST
|
|||
---|---|---|---|
#18+
Сдается мне, что-то не так с вентилятором. Да и функцию Вы не удосужились протестировать. А то бы заметили лишнюю букву "p" в str_repplace(). Ладно, протестирую за Вас. Код: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Рзультат выполнения: Код: php 1. 2. 3. 4. 5.
Что не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2018, 14:04 |
|
Замена . на _ в $_POST
|
|||
---|---|---|---|
#18+
vkleЧто не так? Мой косяк( из-за буквы "р". Я когда тестировал комментировал это строку. Странно, что php ошибку не выдал. Проблема решена)) , спасибо) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2018, 14:26 |
|
Замена . на _ в $_POST
|
|||
---|---|---|---|
#18+
ZhenekЯ когда тестировал комментировал это строку.Гхм... А зачем? Эта строчка отражает саму суть оной функции. ZhenekСтранно, что php ошибку не выдал.Странные у Вас настройки PHP. Возможно, Вы просто не хотите видеть его сообщения об ошибках. После копипаста Вашего кода при первом запуске было сообщение: Код: php 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2018, 14:39 |
|
Замена . на _ в $_POST
|
|||
---|---|---|---|
#18+
авторГхм... А зачем? Эта строчка отражает саму суть оной функции. Я понимаю))) я перед этим тестировал кучу других вариантов, мне нужно было понять природу этих замен. а т.к. потом сформированный массив мне нужно отправить на другой сервер, то возможно и нет смысла меня т.к. у них должны быть такие-же изменения, но нет, у них вроде как на ASP.net крутится все. Вообщем к этой функции я пришел уже в конце и до сих пор считаю такой вариант не самым удачным т.к. помимо таких проблем, с именами с точкой не хочет работать jquery.validator. Вообщем уже в суматохе я и проглядел, что опечатался( мой косяк( ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2018, 16:24 |
|
Замена . на _ в $_POST
|
|||
---|---|---|---|
#18+
ZhenekВообщем к этой функции я пришел уже в конце и до сих пор считаю такой вариант не самым удачным т.к. помимо таких проблем, с именами с точкой не хочет работать jquery.validator.ПМСМ символ точки довольно часто является служебным (таким же, же как плюс, минус, слеш, амперсанд, кавычки и т.д.). В этом смысле лучше по возможности воздержаться от его использования в именах вовсе. Кроме того, внутренний механизм преобразования имен в PHP не позволяет простым способом однозначно восстановить исходное имя поля - неизвестно, что там было до замены (пробел или точка) или вовсе не было никакого преобразования. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2018, 16:58 |
|
Замена . на _ в $_POST
|
|||
---|---|---|---|
#18+
vkleZhenekВообщем к этой функции я пришел уже в конце и до сих пор считаю такой вариант не самым удачным т.к. помимо таких проблем, с именами с точкой не хочет работать jquery.validator.ПМСМ символ точки довольно часто является служебным (таким же, же как плюс, минус, слеш, амперсанд, кавычки и т.д.). В этом смысле лучше по возможности воздержаться от его использования в именах вовсе. Кроме того, внутренний механизм преобразования имен в PHP не позволяет простым способом однозначно восстановить исходное имя поля - неизвестно, что там было до замены (пробел или точка) или вовсе не было никакого преобразования. Спасибо за разъяснения. Наверно откажусь от такого именования, заменю его сразу на _ и перед отправкой на сервер просто 1 раз прогоню через функцию и заменю на "." ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2018, 17:38 |
|
Замена . на _ в $_POST
|
|||
---|---|---|---|
#18+
А в чем глобальный и тайный смысл использовать именно точку в именах полей? В мускуле это традиционно служебный символ, отделяющий имена базы.таблицы.поля. В PHP в ряде случаев это десятичный разделитель, с которым есть некоторые особенности в именах ключей массива. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2018, 22:37 |
|
|
start [/forum/topic.php?fid=23&msg=39674118&tid=1460227]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
55ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 327ms |
total: | 468ms |
0 / 0 |