Дело в том, что где я вызываю $i - на экране выводит 0000000.
Правда for() считает их правильно - выдает соответствующее число нолей.
Но почему ноль ???
Подскажите кто знает, пожалуйста.
Заранее спасибо.
А вообще это я пытаюсь сделать динамическую форму, которая будет заполняться в зависимости существует запись или нет. Это лишь кусочек того кода. Может эта инфа пригодиться при решении вопроса...
Во-первых, вторым аргументом указывается список символов. У вас символы явно упорядочены, что похоже на логическую ошибку.
Во-вторых, вот этот вот   наводит на мысль, что и в запросе написана какая-то глупость в том же духе.
Дело в том, что когда я вставлял вторым аргументом "," ни чего не менялось. А мне надо было убрать последнюю запятую из строки. Вот так я и выкрутился. С   все сработало.
Но пытался с помощью конкатенации составить строку запроса из элементов массива.
Да, звучит как то глупо
Но все работало когда в массиве был один элемент.
И сама строка вроде как OK. В браузере строка выглядела как надо. Но вот в запросе выдает ошибку.
Я взял все запихал в массив, implode'нуллл его и все заработало.
Я пробовал и без `` то есть и экранировать там было не чего. Но все равно не работает.
DelphinPRO пишет:
Добавь строчку, чтобы увидеть сообщение ошибки, которое выдает база.
Вставил и вот что выдает:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' `isbn-sn`, `issue_date`, `author`, `publisher`, `descriptio' at line 1
Но где там ошибка синтекса .???
Еще один вопрос!!!
Где то прочитал, что просто вставлять переменные в sql запрос, не рекомендуют. На сколько я понял, дело лишь в БЕЗОПАСНОСТЬ.
Так ли это ??? (Добавление)
Не работает....
Пробовал скопировать var_dump($select) с браузера, вставить в консоль phpMyAdmin, и все работает...
Строка запроса собирается несколькими методами, но в итоге, содержание вроде бы в порядке...???
Пробовал подставить $get = "title, isbn-sn,........";
И все работает.
Так же пробовал экранировать вот так:
То есть если грамотно, то мне надо все методы связанные с работой в БД (и подключением конечно же) запихать в один класс ?????
Ну а дальше ?
Сделать производные от него и юзать те, что надо ???
Ну а что до конструктора и деструктора, я все понял... (Добавление)
Уже который раз убеждаюсь, в том, что все дело либо в мелочах либо в НЕВНИМАТЕЛЬНОСТИ
esterio спасибо здоровенное вам за помощь...
Все разобрался, просто невнимательность, из за которой я потратил 2 дня...
Это мне присуще
Единственно если бы вы могли мне подсказать что может означать эта цифра в скобках:
конуструктор Main ничего не возвращает (он и не должен) что вы хотите присвоить в $this->db_connect?
Ну,, в конструкторе Main класса, в $this->db_connect я запихиваю дескриптор подключения. А возвращает его - стат метод connect.
esterio пишет:
если вы про синглтон, то у вас никогда не будет екземпляров Admin и Login
Ну вот это я и не понял...
Я ведь могу создавать объекты этих классов и один из них работает даже очинь успешно.
esterio пишет:
плюс включение ошибок вам выведет ошибку при переопределении методов дочерних классов
В этом случае так у меня и получается. Тоже самое, когда обращаюсь к методу который находится в Main
esterio пишет:
ну и на последок, при создании каждого обьекта у вас будет создаваться коннект с базой а это плохая архитектура
Наверно вся идея синглтона в том, чтобы соединение открывалось только один раз...
А в этом случае, при попытке создать еще одно подключение, мне выдает, что "не может переопределить..." Поэтому хотя бы это работает
И вот изза чего я пытаюсь закрыть конект, чтобы открыть его во втором классе.
Ну и вообще, большое спасибо за помощь и ссылку на инфу. Буду изучать, если что вернусь с наболевшим )))
Буду всем признателен за комментарии к этому сообщению...
Еще раз спасибо
Функционал - подключение происходит через клсаа Main. Создается обьект статической функцией->конструктором и тд. Если объект создан, то второй не создается.
В конструкторе, подключение используется сначала классом Login, а затем Admin.
В первом из них, все ок.
А вот во второй никак не могу провести коннект.
Я понимаю, что в моем случае, надо unset обьект подключения. Но и это не выходит. Т.к. не могу обратиться ни к одному методу в классе Main. Даже через дочерние классы. Пробовал в test_method - не обращается. Пишет, что не определен Main::test_method.
А деструктор вообще не запускается...
Есть пару производных классов от этого, которые используют этот Main, для подключения к базе данных и дальнейшей абра-кадабры с ней.
ВОПРОС:
Если у меня есть 3 метода которые используют Main для подключения к БД, то к концу моего скрипта, у меня будет 3 открытых подключения или 1 ????
Если учесть, что подключаемся все время к одной и той же базе с тем же паролем и логином и хостом.
Всем привет.
Обращаюсь к мудрым людям етого сайта, так как не разу еще не подвели и в помощи не отказали. Не смотря на то какие глупые вопросы бы тут задавали )))
Он выдает опции выбора в выпадающем меню. Но проблема в том, что вставляется пустую строку между опциями. Не понятно откуда взявшись.
Дело наверно в самой строке <optio... Которая передается при удовлетворении условия if или else. Так как я вставлял просто echo $value; и все выводилось без проблем и лишних пустых строк.
Прописал value=""
И все равно не работает ....
При нажатии кнопки назад, форма все равно заполнена )))))
Может дело в каких нить локальных настройках.
Ну блин, я не знаю что еще предложить (Добавление)
Все !!!
Прокатило.
)))))
Я просто хреново обновлял все дело, когда вносил какие либо изменения )))))
Дурачино.
Кстати работает и без value=""
Просто прилепил к форме autocomplete="off" и пджфнг !!!
ВсеОК !!!
Всем - Всем Здоровенное спасибо за помощь...!!!! (Добавление)
Вот только вопрос...
Sail говорил про роботов и т.д.
Как от этого дела можно защитить совю форму ???
Щас сделал эксперимент. Зарегился на mail.ru после создания аккаунта, нажал кнопку "предыдущая страница". Меня вернуло на страницу с чистой регистрационной формой.
Спасибо за совет с JS. Но пока этой технологией еще не пользовался...
Цитата:
Пользователь (или бот) может бесконечно заполнять предоставленную ему форму одними и теми-же данными.
Или даже подменять данные в форме перед отправкой.
Как в таком случае предотвратить такую ситуацию?
У меня приложение - интернет витрина. Есть кнопка заказать, которая перекидывает на страницу с формой которую я выложил выше. После отправки формы, высылается письмо и редирект на главную.
Вопрос в том, можно ли сделать поведение такое как в mail.ru ?
Если нет, так как предотвратить отправку тех же данных в форме ?