![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
exe1389 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 7.4.2011 Репутация: нет Всего: нет |
написал простейшее меню поиска по бд
выводит все варианты в таблице что бы я не забил
|
|||
|
||||
voral |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 16.3.2008 Где: Иваново Репутация: нет Всего: нет |
у вас два безымянных input неизвестного типа art. Переменных с именами art и factory не существует
Добавлено через 56 секунд
|
|||
|
||||
Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 2 Всего: 71 |
а что у тебя POST возвращает?
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
CruorVult |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 868 Регистрация: 24.9.2008 Где: г.Киев, Украина Репутация: 1 Всего: 28 |
||||
|
||||
exe1389 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 7.4.2011 Репутация: нет Всего: нет |
тогда каким способом мне нужно сделать, что бы все это заработало?
и искало по колонкам "art" и "factory" ? |
|||
|
||||
CruorVult |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 868 Регистрация: 24.9.2008 Где: г.Киев, Украина Репутация: 1 Всего: 28 |
||||
|
||||
voral |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 16.3.2008 Где: Иваново Репутация: нет Всего: нет |
Я ж привел тебе html часть твоего файла. Копируй вместо своей и используй
|
|||
|
||||
exe1389 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 7.4.2011 Репутация: нет Всего: нет |
voral, спасибо
|
|||
|
||||
voral |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 16.3.2008 Где: Иваново Репутация: нет Всего: нет |
Совет. Используй для отладки
можешь много нового узнать ![]() |
|||
|
||||
exe1389 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 7.4.2011 Репутация: нет Всего: нет |
ещё один вопрос по этому коду:
нужно ли устанавливать кодировку по умолчанию? |
|||
|
||||
Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 2 Всего: 71 |
это как? Ты в какой кодировке делаешь сайт?
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
exe1389 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 7.4.2011 Репутация: нет Всего: нет |
это не сайт а просто страничка, вот
пока в браузер'е не поставишь кодировку не отображается нормально Это сообщение отредактировал(а) exe1389 - 21.7.2011, 15:16 |
|||
|
||||
Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 2 Всего: 71 |
я лично всегда прописываю кодировку в .htaccess и потом проблем не возникает.
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
voral |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 16.3.2008 Где: Иваново Репутация: нет Всего: нет |
Браузеры очень демократично относятся к полноте кода страницы. Если чего то не хватает они ставят то, что считают необходимым. В принципе этим можно пользоваться, но до разу. Все просто: может в следующей версии одного из браузеров будет подставляться другое значние и ты получишь косяк. По этому нужно стараться придерживаться спецификаций html и сcs. И указывать не только кодировку, но и доктайп и теги html, head, title и body (и открывающие и закрывающие). Для FireFox есть плагин HTML Validator. Поставь его и в случе ошибок в HTML в статусбаре будет сигнальный значек - нажимаешь перечислены ошибки с коротким описанием. В общем с точки зрения браузеров это не обязательно, но сделай это обязательным для самого себя. Давать право "верстать" страницу браузерам - это плохо. |
|||
|
||||
Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 2 Всего: 71 |
К примеру, если сайт написан в кодировке UTF-8, то не на всех серверах помогает указание кодировки только в head
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
voral |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 16.3.2008 Где: Иваново Репутация: нет Всего: нет |
А тут дело не в html или UTF. Тут дело в кривой настройке сервера. И это не отменяет хорошего правила - следовать стандартам. Я по крайней мере последних лет 7 же и не встречал таких хостингов. |
|||
|
||||
Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 2 Всего: 71 |
и в том и другом и в браузерах.. всего по чуть-чуть и будет проблема.. так что не только спецификации следовать, но ещё и не особо полагаться на сервер.
![]() ![]() В любом случае код изначально не верен, вернее очень и очень опасный. Мало того, что запрос не обрабатывается после получения, но он ещё и напрямую вставляется в запрос к базе. exe1389, я так понимаю ты только начинаешь экспериментировать с передачей данных на сервер. Запомни, всё что приходит от клиента всегда опасно(!) А значит всегда нужно проверять на соответствие и экранировать. И насколько я понял по коду, если в базе данных нет то ты напечатаешь
Добавлено через 7 минут и 51 секунду кстати, а почему mysql_pconnect? Это сообщение отредактировал(а) Gold Dragon - 21.7.2011, 19:03 -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
exe1389 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 7.4.2011 Репутация: нет Всего: нет |
Да я только начинаю...
т.е. мне нужно создать файл с "конфигом" для подключения к базе и использовать такую схему? config.php:
и основной код:
Это сообщение отредактировал(а) exe1389 - 22.7.2011, 10:59 |
||||
|
|||||
voral |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 16.3.2008 Где: Иваново Репутация: нет Всего: нет |
Это зависит от задачи. Если у вас всего один скрипт - то можно и не надо. Плохое место не здесь. Простейшее и безобидное. Что будет если посетитель введет символ % в оба поля? Или просто энтер нажмет (по сути у вас это и было в начале). Заметье это очень безобидное - все го лишь увидят все ваши записи. А ведь можно добавит ввести символ кавычки (т.е. закончить ваше выражение и доработать sql запрос до состояния когда он будет, например, показывать гораздо больше информации |
|||
|
||||
Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 2 Всего: 71 |
exe1389, если разобрать всё по пунктам (конечно всё зависит от проекта, но будем считать что он будет большим, то вот что нужно сделать, вернее что бы сделал я:
1. Разделил бы PHP и HTML. т.е. одна функция выводит форму, другая обрабатывает, третья выводит результат. Плюс сюда же нужно вставить обработчик "что делать если ничего не введено" и обработчик при ошибки введённых данных 2. Для работы с базой воспользовался бы самостоятельным классом. Если не можешь или не хочешь писать свой, то их достаточное количество готовых. И в будущем если что-то будет меняться, то тебе достаточно просто внести изменения в класс, а не искать всё по всему коду. Да и не придётся обрабатывать всякое такое while($row= mysql_fetch_assoc($res)), а просто отправить к примеру запрос и на выходе получить уже готовый массив 3. Однозначно ввёл проверку входящих данных. Хотя бы элементарное, удалить лишние провебы в начале и конце, удалить скрипты, удалить тэги, экранировать спецсимволы. А самый лучший вариант пользоваться регуляркой и оставлять нужное.. Например если это телефон то там не может быть букв, и наоборот, если это фамилия, то там только буквы.. 4. Всё присваивал переменной и только в самом конце выводил бы на экран. Так тебе проще избежать ошибок.. например:
5. Хранил бы данные для подключения к базе в отдельном файле, например с правами 644. Так безопаснее. Да и всегда знаешь где у тебя данные по настройке. Это сообщение отредактировал(а) Gold Dragon - 22.7.2011, 16:32 -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
exe1389 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 7.4.2011 Репутация: нет Всего: нет |
Gold Dragon, спасибо большое!
|
|||
|
||||
exe1389 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 7.4.2011 Репутация: нет Всего: нет |
В общем получилось как то вот так:
только пока не знаю как реализовать в этом чтобы искал не по одной таблице, а по 2-м поможете ? |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |