![]() |
правильное обращение к бд или недоделаный модуль
Решила прописать свой модуль. В нём одна из частей (switch) представляет собой бланк для заказа услуг.
Ребята, у меня такой вопрос: с самим модулем я разобралась, а вот как правильно загнать информацию в ДБ и отобразить её на другой странице? Заодно подскажите какую таблицу нужно создать в MySQL Необходимая информация - Имя (простое поле ввода), мыло (простое поле ввода), исполнитель заказа (выбрать с помощью checkbox одного из трёх), суть заказа (подробное описание в textarea). Всю страницу писать не буду, выставлю только необходимый switch пункт (если потребуется вся страница - сообщите и я выставлю здесь-же): Код:
Может я чего не дописала, забыла - укажите на ошибки плз. Заранее огромное спасибо всем, кто откликнется :wink: |
Alie делайте по аналогии с каким нибудь другим модулем
т.е. должена быть обработ ка данных поступаемых через POST и запись в БД: PHP код:
соответственно нужно создать таблицу в БД, например так: Код:
|
Большое спасибо за ответ!
Ещё парочка мелких вопросов по этому поводу: первым делом - "id" - что это? Как я понимаю - это номер. Только вот чего? Второй вопрос: какой строкой я вывожу данные из БД? Код:
Правильный-ли это способ, может есть получше? Третий вопрос: как обезопасить поля ввода от инъекций? Что именно мне нужно прописать? Все эти вопросы я задаю чтоб понять как ПРАВИЛЬНО и НАИЛУЧШИМ образом писать модули. Если вы сможете привести в качестве примера одну строку со всеми возможностями: ввод данных в MySQL, вывод данных, создание админки для данных. Оптимальным вариантом мне послужит тест модуль с одной строкой ввода (больше ничего, никакой косметики), вывод строки в другом файле, админка для модуля. Я понимаю что последний вариант слишком "напрягает", но всё-же, если у кого-нибудь из желающих дойдут руки - буду только рада. Коментарии в файлах так-же приветствуются: чем больше - тем лучше. Такой примерчик кстати неплохо поместить в вашу школу будет. :wink: Заранее спасибо за ответ! |
Alie
id - номер записи, ставится автоматически. Првильный способ: PHP код:
Для безопастности использовать фильтры. Для цифр $id = intval($id); Для данных без хтмл $title = filter($title, "nohtml"); Для данных с хтмл $title = filter($title); Например если ты делаешь запрос в базу: $result = $db->sql_query("SELECT orderfrom,ordermail,orderto,ordertype,ordertext FROM ".$prefix."__ordering WHERE id='$id'"); А переменная $id - цифра, то и определить ее нужно как цифру перед этим: $id = intval($id); Обязательно фильтровать все пользовательские вводимые данные, которые записываются в БД (да и вообще все переменные, которые пишутся в базу и выводяться). Чтобы вместо текста простого не вписали что то нехорошее :) А так же прочитай про безопастность. Модуль с одной строкой как нибудь выложу, я себе писал для анекдотов. Но его сперва нужно под общую нюку переделать... А хорошим примером послужат примеры модулей с самой нюки. В самодельных и старых модулях много ошибок попадается. Посмотри как сделаны модули, как сделана админка, как идут запросы и т.д. Что непонятно спрашивай, ищи ответы на форуме или читай статьи. |
2 Alexander-V-Sh: первым делом - спасибо за оперативность и за подсказку.
Просьба подготовить столь специфический модуль у меня зародилась тогда, когда я собственноручно пыталась разобратся с каким-то файлом нюки. Возьмём простой пример: для того, чтоб полностью понять суть того-же запроса к БД, о котором говорилось выше, нужно предварительно "очистить" файл от огромного количества "шелухи" (графика, ненужные нам функции и т.п.). Лично я, работая по приведённому мной в пример методу - допускаю ошибки при написании и\или удалении кода, что приводит к полному отключению модуля. Причём причину мы сможем понять только предварительно обнаружив опечатку. В противном случае, вполне вероятно, что опечатка будет принята за неправильно описаную функцию. Кому я это обьясняю? Вы и так всё прекрасно понимаете ведь тоже когда-то начинали "с нуля"... :smile: Если выставите файл - укажите на форуме в какую категорию он будет залит... |
Часовой пояс GMT +4, время: 02:33. |
Copyright © 2005 by Soniks