Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Название кнопки submit и прочих input'ов
|
|||
|---|---|---|---|
|
#18+
Что будет если кнопка называется table, а все остальные поля в той же форме называются table[id], table[name], table[cat] и тп? Названия условны, чисто шаблон. Оказывается вы получите почти пустой $_POST. Прилетит только одинокая кнопка. При этом если посмотреть в заголовки то можно увидеть дружный полет всех остальных значений под названиями, но где они приземляются неизвестно. В RAW тоже нет. Вопрос бывалым. Что за байда? Потратил час методом научного самотыка отыскивая разницу между теми таблицами записи из которых постприниматель понимает, и теми которые не видит. Выяснил что выше изложено и еще кое-что. По идее вообще ничего не должно было работать если бы пхп сказочным образом бы не переводил названия таблиц в lowercase. Именно те, которые имели titlecase работали, а которые названы целиком в нижнем регистре - не долетали. Отсюда второй вопрос бывалым - где найти и вырезать эту фичу понижения регистра названия полей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2013, 14:55 |
|
||
|
Название кнопки submit и прочих input'ов
|
|||
|---|---|---|---|
|
#18+
автор При этом если посмотреть в заголовки то можно увидеть дружный полет всех остальных значений под названиями, но где они приземляются неизвестно. В RAW тоже нет. скриншот? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2013, 14:58 |
|
||
|
Название кнопки submit и прочих input'ов
|
|||
|---|---|---|---|
|
#18+
А, на слово не верите. Ну значит вы ответа не знаете. В общем суть-то и так понятна, но хотелось уточнить. Может кто уже наступал на такие грабли. Сутьтакова. Имена типа table[name], table[id] и тп компилируются php в связный массив. Что, собственно, я и использую на стороне обработчика. И вполне естественно что если приходит переменная точно с таким же именем, но другого рода, компилятор вынужден что-то выбрать - либо то, либо другое. Пишут что выбирает он тупо - кто последний, того и тапки. То есть если я перетащу кнопку наверх полей, то пропадет инфа о кнопке. Ее одноименная переменная будет убита последующей. Что касается ловеркейса. Оказывается это mysqli fetch_field так выдает orgname и orgtable. С какого перепуга - непонятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2013, 15:36 |
|
||
|
Название кнопки submit и прочих input'ов
|
|||
|---|---|---|---|
|
#18+
Самая мякотка тупости в том и заключается моей, что я же использовал массив как таковой. Раскурочивал $_POST в цикле по key value. Мог бы сразу допереть что если я получаю компилированную переменную, не RAW какой-нибудь, то условия меняются и надо следить за базаром в гтмл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2013, 15:38 |
|
||
|
Название кнопки submit и прочих input'ов
|
|||
|---|---|---|---|
|
#18+
ScareCrowскриншот? https://www.dropbox.com/s/lft59h9boorcdky/post.png ну в принципе логично, из нескольких одноимённых переменных, PHP берёт переменную, поступившую последней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2013, 15:53 |
|
||
|
Название кнопки submit и прочих input'ов
|
|||
|---|---|---|---|
|
#18+
deblogger, Примерчик, который иллюстрирует проблему, выложите плиз. Чтоб можно было скопипастить и запустить на своем компе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2013, 16:38 |
|
||
|
Название кнопки submit и прочих input'ов
|
|||
|---|---|---|---|
|
#18+
Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. vs Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2013, 17:56 |
|
||
|
Название кнопки submit и прочих input'ов
|
|||
|---|---|---|---|
|
#18+
Опять затупил по-черному с массивами. Циклы и массивы это не мое фсе. Нет, на явескрипте почему-то все шиколадно, а вот с пхп опять затык (как и раньше с басиком и си). Продолжение темы, немного может не по теме. Разобравшись с одноименными переменными решил усугубить и зафигачил все имена по одному шаблону, что дало массу полезной инфы для валидации и построения запроса. Сначала я хотел на яве все формировать, но мне все эти субмиты форм явой вообще не нравятся, как и аякс, потому что у меня богатый опыт написания скриптов на гризманке (greasemonkey). В общем амбула: прилетает такой элемент массива: Код: sql 1. Заране известно что первый ключ - имя поля, второй внутри массива - флаг, третий внутри массива - тип поля и его значение - значение поля. Как мне его превратить в человеческий массив с заранее известными ключами, типа Array("name"=>"Название_страны", "value"=>"Италия" ,"flags"=>16, "type"=>252); С тем массивом я ж ничего не знаю - ни одного ключа заранее, вообще. Известна только структура данных. Как выше описано. Помогите пжлста, функцию написать чтобы из того, в этот. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2013, 21:36 |
|
||
|
Название кнопки submit и прочих input'ов
|
|||
|---|---|---|---|
|
#18+
Забыл оформить для ясности цель. Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2013, 21:38 |
|
||
|
Название кнопки submit и прочих input'ов
|
|||
|---|---|---|---|
|
#18+
Про гризманку. Например надо взять в кавычки значение поля, ну вместо = Италия в запросе должно быть например = "Италия". Если я это сделаю на яве, то во-первых даже не знаю что с кавычками будет после этого пхп компилятора запроса, во-вторых чужой скрипт может кавычки не поставить, а написать что-то типа truncate и бла-бла-бла вместо = "Италия". Аналогично с идентификаторами полей. Может я и тут чего-то не понимаю, но как получить все интересующее от базы пользуясь загруженными в страницу функциями для аякса знаю прекрасно. У меня несколько скриптов для сайтов содержание которых меня вообще не волнует - оно сносится подчистую и на свободное место помещаются все интересующие меня данные в удобном для меня виде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2013, 21:50 |
|
||
|
Название кнопки submit и прочих input'ов
|
|||
|---|---|---|---|
|
#18+
Короче застрял, капец. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. Изнутри рекурсии последняя копия функции дает то, что мне надо. Но никак не соображу как вытащить результат из последней копии. Оригинальный компиленный в $post массив состоит только из нескольких ключей и ровно одного значения. Блин, ну кто-нить тут разбирается в рекурсиях и циклах? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2013, 07:27 |
|
||
|
Название кнопки submit и прочих input'ов
|
|||
|---|---|---|---|
|
#18+
Задача более ясно такова: Есть Код: sql 1. 2. 3. 4. 5. 6. надо Код: sql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2013, 07:28 |
|
||
|
Название кнопки submit и прочих input'ов
|
|||
|---|---|---|---|
|
#18+
debloggerС тем массивом я ж ничего не знаю - ни одного ключа заранее, вообще. Известна только структура данных. Как выше описано. Помогите пжлста, функцию написать чтобы из того, в этот. Спасибо. Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Код: php 1. 2. 3. 4. 5. 6. так ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2013, 07:57 |
|
||
|
Название кнопки submit и прочих input'ов
|
|||
|---|---|---|---|
|
#18+
Я понимаю что можно отразить структуру вложенными форичами, но глобальные условия таковы, что количество ключей величина изменяемая. Конечно карта имен должна совпадать, но она и делается в одном месте, откуда и берется во все остальные. Короче, чтобы достать значение последней копии массива вместо Код: sql 1. 2. надо присвоить [code] $res = _traverse($v, ++$cnt, $res); [code] Теперь остается выяснить как собрать весь индексный массив в этой _traverse, потому что вызывать ее форичем для значения родительского массива нельзя, потому что значением становится потомок и первый ключ пропадает втуне. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2013, 08:09 |
|
||
|
Название кнопки submit и прочих input'ов
|
|||
|---|---|---|---|
|
#18+
Кхе-кхе, тормоз все равно победил. Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. форич нужен, иначе критерий выхода из рекурсии растворяется. А чтобы все было когерентно и никакие ключи не терялись, первого потомка надо превратить в родителя. Всем спасибо. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2013, 08:53 |
|
||
|
Название кнопки submit и прочих input'ов
|
|||
|---|---|---|---|
|
#18+
Если кто захочет попробовать, исходный массив например такой Код: sql 1. Возвращаюсь к теме по просьбам читателей. Такая шняга получается если форму заполнить примерно так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. Кнопки в идентичной структуре передают имя базы и имя primary key. Я его не определяю, потому что определяю правило для данного клиента - любая таблица обязана иметь примари кей и точка. Нет примари - нет обслуживания. Имя pk, конечно, может быть любым. Для кнопочных данных смысл названий не совпадает, но это и не важно. В цикле с переключателем запрос строится по ключевым словам UPDATE-DELETE и тп. Следовательно никакое поле в таблице не имеет права называться UPDATE, DELETE и тп. Это еще одно правило. Вчера посмотрел устройство пхпмайадмина и вполне понятно стало почему он глючит. Когда нет четких правил глюки гарантированы как конец света. Кстати, наконец-то обучил винду искать в содержании файлов php. Оказывается есть примитивный хак описанный в официальном документе. В реестре присваиваете хэндлер фильтра от текстового файла чему угодно, лог-офф, лог-он и винда все ищет как из пушки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2013, 09:13 |
|
||
|
Название кнопки submit и прочих input'ов
|
|||
|---|---|---|---|
|
#18+
Писец, а чего этот бб-код code не варпит строки? Одуреть... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2013, 09:14 |
|
||
|
Название кнопки submit и прочих input'ов
|
|||
|---|---|---|---|
|
#18+
debloggerЯ понимаю что можно отразить структуру вложенными форичами, но глобальные условия таковы, что количество ключей величина изменяемая. Конечно карта имен должна совпадать, но она и делается в одном месте, откуда и берется во все остальные. сделать так и без разницы на количество ключей.. Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 07:17 |
|
||
|
Название кнопки submit и прочих input'ов
|
|||
|---|---|---|---|
|
#18+
14640879 ты абсолютно уверен что двигаешься в нужном направлении? мб как то так?! Код: php 1. 2. 3. 4. 5. 6. + на клиенте, наверное удобно использовать hidden поля Код: php 1. 2. 3. 4. 5. 6. конечно не видя твоей прямой задачи - это всего лишь предположение... $) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 13:54 |
|
||
|
Название кнопки submit и прочих input'ов
|
|||
|---|---|---|---|
|
#18+
предположение, Кнопки и так скрытые, цсс-ом, ява их потом собирает в тулбар, все какие найдет на странице, и елем.клик()м отгружает. --- Про форич все-таки надо доказать. Вы как будете добавлять или убирать обработку для элемента? Вопрос риторический - придется цикл править, кроме того в нем самом все эти ключи. Это жутький геморрой. В добитой рекурсии количество елементов значения не имеет и, если отключить еррор_репортинг(ОЛЛ) то скрипт молчком запишет пустые ключи когда их массив непредусмотрительно кончится. Стало быть если имена не нужны, то с цифрами вообще все полностью автоматически в рекурсии на любой размер структуры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 17:28 |
|
||
|
Название кнопки submit и прочих input'ов
|
|||
|---|---|---|---|
|
#18+
С целью прояснить и поделиться. Традиционный способ пересылки данных: form input name ="я_знаю_имя_переменной" input name ="это_известное_мне_имя_переменной" input name ="об_этой_тоже_мне_все_известно" post if isset($post['я_знаю_имя_переменной']) $за_каким_то_новая_переменная = $post['я_знаю_имя_переменной']; if isset($post['это_известное_мне_имя_переменной'])... if isset($post['об_этой_тоже_мне_все_известно'])... Получаются 2 скрипта в которых одинаковые данные взятые откуда-то и ВРУЧНУЮ разложены по полочкам. Если из БД - скрипт становится частью БД. Это - бред. Я пытаюсь делать так, чтобы скрипт вообще ничего не знал. В случае который обсуждается скрипт знает только О ВЕЧНОМ. О трех, пока что операторах update, insert & delete. Они да, прописаны в скрипте, по ним идут ветки и все такое. Но повторяю - это вечное. Сколько будет существовать SQL, столько в нем будут update, select & insert. Все остальное, в том числе русские эквиваленты для перечисленных операторов скрипт грузит из БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 17:41 |
|
||
|
Название кнопки submit и прочих input'ов
|
|||
|---|---|---|---|
|
#18+
Другими словами имя Страна[Фото_страны][32801][3] - абсолютно ничего не означает кроме того, что в тот момент была показана таблица Страна, выбрано поле Фото_страны, и данные этого поля были зафиксированы в еще двух ключах. Будет другая таблица, другие поля - все будет по-другому и заранее никакие данные неизвестны. Опять же можно вообще не мучить клаву, а закинуть все данные через одно поле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 17:48 |
|
||
|
Название кнопки submit и прочих input'ов
|
|||
|---|---|---|---|
|
#18+
deblogger, Собрать все данные и отправить их одним махом через JSON со стандартной структурой вида ключ->значение - тоже не? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 18:48 |
|
||
|
Название кнопки submit и прочих input'ов
|
|||
|---|---|---|---|
|
#18+
автор Если из БД - скрипт становится частью БД. Это - бред. вообще ничего не понятно... думаю не мне одному... каким образом (в каком виде) получаем данные из хранилища? как хотим разместить полученные данные на странице? как хотим отдать обратно на сервер для обработки? авторО трех, пока что операторах update, insert & delete. Они да, прописаны в скрипте, по ним идут ветки и все такое. Но повторяю - это вечное. Сколько будет существовать SQL, столько в нем будут update, select & insert. Вообще-то ветки по ним идти как бэ и не должны! удаляется по id - отдельная функция обновляется по id + данные - отдельная функция вставка - просто данные (автогенерация id) - отдельная функция... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 19:41 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=38348916&tid=1463557]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 339ms |

| 0 / 0 |
