В разделе "Первые папки и файлы. Добавление пунктов меню" предлагается создать две файла: - myquestions.php; - admin.myquestions.php с соответствуюшими адресами: - /components/com_myquestions/myquestions.php; - /administrator/components/com_myquestions/admin.myquestions.php; Так вот, при создании файла "admin.myquestions.php" В админке выдает ошибку - "Компонент не найден", а при переименовании его на "myquestions.php" в последующем шаге, в админке не выводятся кнопки редактирования. |
Варианты заданий для лабораторных работ
Варианты заданий для лабораторных работ
1. | Интернет-магазин | Для товара храните в базе данных его код, название, цену, описание и фотографию (можно хранить название файла с фотографией, а сами файлы помещать в какую-нибудь папку). Пользователь может заказать товар - для этого он нажимает на кнопку "Заказать" и вводит свой адрес. Для каждого заказа храните в базе данных его дату, адрес покупателя и код товара. Должна быть также возможность добавлять и удалять товары, а также просматривать список товаров, страницу с конкретным товаром и список заказов. При удалении товара заодно удаляйте с диска файл с изображением. | Формы: добавление товара, заказ товара. |
2. | Фотогалерея с категориями | Для фотографии храните в базе данных его код, название соответствующего файла, название фотографии, описание фотографии, место съемки, размер файла, код категории. Можно хранить в базе данных только название файла с фотографией, а сами файлы помещать в какую-нибудь папку. Для каждой категории храните в базе данных ее код и название. Обеспечьте возможность добавления и удаления фотографий и категорий, просмотра списка всех категорий, списка всех фотографий в конкретной категории, просмотра одной фотографии. При удалении записи о фотографии из базы данных заодно удаляйте с диска файл с фотографией. | Формы: добавление фотографии, добавление категории. |
3. | Архив mp3 с категориями | Для аудиофайла храните в базе данных его код, название файла, название песни, имя исполнителя, длительность звучания песни, размер файла, код категории. Сам файл храните в какой-нибудь папке на диске. Обеспечьте возможность просмотра списка категорий, списка песен в конкретной категории, просмотра определенной песни (то есть должна быть страница, на которой выводятся все данные об аудиофайле и можно прослушать песню). Должна быть также возможность добавлять песни и удалять их, а также добавлять и удалять категории. Для каждой категории храните в базе данных ее код и название. При удалении записи об аудиофайле из базы данных заодно удаляйте с диска сам файл. | Формы: добавление песни, добавление категории. |
4. | Видеогалерея с категориями | Для видеофайла храните в базе данных его код, название файла, название видеоролика, описание видеоролика, длительность видеоролика, размер файла, код категории. Сам файл храните в какой-нибудь папке на диске. Обеспечьте возможность просмотра списка категорий, списка всех видеофайлов в конкретной категории, просмотра определенного файла (то есть должна быть страница, на которой выводятся все данные о видеофайле и можно посмотреть это видео). Должна быть также возможность добавлять файлы, просматривать их список и удалять их, а также добавлять и удалять категории. Для каждой категории храните в базе данных ее код и название.
При удалении записи о видеофайле из базы данных заодно удаляйте с диска сам файл. |
Формы: добавление видеоролика, добавление категории. |
5. | Гостевая книга | Для каждой записи (сообщения) вашей гостевой книги храните в базе данных ее код, имя автора записи, e-mail автора записи, ICQ автора записи, дату добавления записи, текст записи. Для каждого ответа на запись храните его код, текст и код записи, к которой относится этот ответ. Должна быть страница, на которой выводятся все сообщения. Обеспечьте возможность просмотра одного сообщения со всеми ответами на него, добавления сообщения, удаления сообщения, ответа на сообщение. | Формы: добавление сообщения, добавление ответа на сообщение.
Обратите внимание, что на странице для ответа на сообщение выводится поле для ответа как textarea, в которое можно ввести текст, а остальные поля записи выводятся как текст (не для редактирования). |
6. | Форум | Для каждого сообщения в базе данных храните его код, автора, текст, дату добавления и код темы. Для каждой темы - ее код и название. Обеспечьте возможность создания темы, ответа на тему, просмотра списка всех тем, просмотр темы (то есть всех ее сообщений), удаления темы, удаления сообщения. Ответить на тему - значит добавить в нее сообщение. | Формы: добавление темы, добавление сообщения. |
7. | Новостная система с категориями | Для каждой новости храните в базе данных ее код, автора, текст, дату добавления и код категории. Для каждой категории - ее код и название. Обеспечьте возможность создания новости, создания категории, удаления новости, удаления категории, просмотра списка всех категорий, просмотра списка всех новостей в конкретной категории, просмотра конкретной новости. | Формы: добавление новости, добавление категории. |
8. | Ротатор баннеров | Для каждого баннера храните в базе данных его код, название файла с изображением, ссылка, на которую будет переходить пользователь по нажатию на баннер, количество кликов - нажатий на данный баннер, количество показов баннера, код категории. Сами файлы с изображениями хранятся в какой-либо папке. Для каждой категории храните ее код и название.
Обеспечьте возможность добавления и удаления баннеров, добавления и удаления категорий, просмотра списка категорий, списка баннеров в категории. При удалении баннера из базы данных заодно удаляйте с диска файл с изображением.На главной странице должен отображаться всегда только один баннер, выбранный случайным образом. Для этого сначала выберите случайным образом категорию, а затем, также случайным образом, - баннер, относящийся к этой категории. |
Формы: добавление баннера, добавление категории. |
9. | Доска объявлений с категориями | Для каждого объявления храните в базе данных его код, автора, текст, дату добавления и код категории. Для каждой категории - ее код и название. Обеспечьте возможность добавления объявления, добавления категории, удаления объявления, удаления категории, просмотра списка всех категорий, просмотра списка всех объявлений в конкретной категории, просмотра конкретного объявления. | Формы: добавление объявления, добавление категории. |
10. | Система управления контентом | Для каждой страницы храните в базе данных ее код, автора, текст, дату добавления и код раздела. Для каждого раздела - его код, название и текстовое описание. Обеспечьте возможность создания страницы, создания раздела, удаления страницы, удаления раздела. Физически страницу на диске можно не создавать, достаточно, чтобы ее текст хранился в базе данных. Ссылки на все страницы выводятся в левой части главной страницы как пункты меню сайта. При нажатии на какой-либо пункт меню справа отображается текст соответствующей страницы, а также имя автора, дата добавления и название раздела. При этом название раздела отображается как гиперссылка, при нажатии на которую загружается страница с описанием этого раздела.
Обеспечьте также возможность просмотра всех категорий и просмотра списка страниц в определенной категории. |
Формы: добавление страницы, добавление раздела. |
11. | Блог с облаком тегов | Для каждой дневниковой записи храните в базе данных ее код, название записи, текст записи, автора записи, дату добавления записи. Для каждого тега храните в базе данных его код и название. Создайте третью таблицу в базе данных, связывающую теги с записями блога (поля: код, код записи, код тега). Обеспечьте возможность добавления и удаления записей и тегов, просмотра блога как списка всех записей, просмотра одной записи, списка тегов. В форме добавления записи в блог должен выводиться список со множественным выбором, в который выводятся все названия тегов из соответствующей таблицы базы данных. | Формы: добавление записи в блог, добавление тега. |
12. | Статьи с облаком тегов | Для каждой статьи храните в базе данных ее код, автора, текст, дату добавления. Для каждого тега храните в базе данных его код и название. Физически страницу на диске можно не создавать, достаточно, чтобы ее текст хранился в базе данных. Создайте третью таблицу в базе данных, связывающую теги со статьями (поля: код, код статьи, код тега). Обеспечьте возможность добавления и удаления как статей, так и тегов, просмотра списка статей, просмотра конкретной статьи и просмотра списка тегов.
В форме добавления статьи должен выводиться список со множественным выбором, в который выводятся все названия тегов из соответствующей таблицы базы данных. |
Формы: добавление статьи, добавление тега. |
13. | Портфолио с категориями | Для каждой работы храните в базе данных ее код, название файла с изображением, название работы, описание работы, сроки, в которые выполнялась работа, код категории. Можно хранить в базе данных только название файла с фотографией, а сами файлы помещать в какую-нибудь папку. Для каждой категории храните в базе данных ее код и название. Обеспечьте возможность добавления и удаления работ и категорий, просмотра списка всех категорий, просмотра списка всех работ в конкретной категории, просмотра одной работы.
При удалении записи о работе из базы данных заодно удаляйте с диска файл с изображением. |
Формы: добавление работы, добавление категории. |
14. | Система "Вопрос-ответ" | Для каждого вопроса храните в базе данных его код, имя автора, текст вопроса, дату добавления. Для каждого ответа - его код, код вопроса и текст ответа. Обеспечьте возможность добавления вопроса в конкретную категорию, просмотра вопроса (с ответом, если есть ответ), удаления вопроса, ответа на вопрос (на один вопрос может быть несколько ответов), просмотра списка вопросов в конкретной категории, просмотра списка категорий, добавления и удаления категорий. | Формы: добавление вопроса, добавление категории, ответ на вопрос. |
15. | Блог с категориями | Для каждой дневниковой записи храните в базе данных ее код, название записи, текст записи, автора записи, дату добавления записи, код категории. Для каждой категории храните в базе данных ее код и название. Обеспечьте возможность добавления и удаления записей и категорий, просмотра блога как списка всех записей, просмотра списка записей в конкретной категории, просмотра одной записи. | Формы: добавление записи в блог, добавление категории. |
16. | Статьи с категориями | Для каждой статьи храните в базе данных ее код, автора, текст, дату добавления и код раздела. Для каждого раздела - его код, название и текстовое описание. Физически страницу на диске можно не создавать, достаточно, чтобы ее текст хранился в базе данных. Обеспечьте возможность добавления и удаления как страниц, так и разделов, просмотра статей по разделам, просмотра конкретной статьи и списка разделов. | Формы: добавление статьи, добавление раздела. |
17. | Календарь событий | Для каждого события храните в базе данных его код, описание, дату, код места проведения. Для каждого места проведения - его код, название и фотографию (можно хранить в базе данных только названия файлов с фотографиями, а сами файлы хранить в какой-нибудь папке на диске). Обеспечьте возможность создания события, создания описания места проведения, удаления события, удаления описания места проведения, просмотра списка мест проведения событий. При удалении описания места удаляйте с диска и соответствующий файл с изображением.
События должны просматриваться по одному либо в виде календаря. В случае, если на определенную дату есть события, дата в ячейке календаря должна выводиться в виде гиперссылки, при нажатии на которую загружается страница со списком всех событий, которые относятся к этой дате. |
Формы: добавление события, добавление места проведения. |
18. | Почтовая рассылка | Для каждого сообщения рассылки храните в базе данных его код, название, текст, дату добавления. Для каждого подписчика - его код, e-mail и имя. Обеспечьте возможность добавления сообщения, регистрации подписчика, удаления подписчика, просмотра списка всех сообщений и списка всех подписчиков.
При добавлении сообщения рассылки оно автоматически должно отсылаться на e-mail всем подписчикам. |
Формы: добавление сообщения рассылки, регистрация подписчика. |
19. | Регистрация пользователей | Для каждого пользователя храните в базе данных его код, имя, e-mail, пароль, дату регистрации и фотографию. Храните в базе данных только название файла с фотографией, а сами файлы помещайте в какую-нибудь папку на диске. При удалении учетной записи пользователя из базы данных заодно удаляйте с диска файл с его фотографией.
Обеспечьте пользователю возможность заносить других пользователей в список друзей. Для этого создайте вторую таблицу в базе данных, со следующими полями: код записи id, код первого пользователя id1, код второго пользователя id2, подтвержденность связи isChecked. При отображении профиля пользователя должна выводиться кнопка "Добавить в друзья". При нажатии на эту кнопку во второй таблице создается запись, в которую заносятся коды обоих пользователей и 0 для признака подтвержденности связи. Обеспечьте пользователю возможность просмотра списка предложений дружбы и принятия или отклонения каждого из них. Выбрать предложения дружбы для пользователя с кодом 35 можно путем следующего SQL-запроса: SELECT id1 FROM table2 WHERE id2=35 AND isChecked=0; |
Формы: регистрация, вход на сайт под логином и паролем. |
20. | Статьи с возможностью голосования | Для каждой статьи храните в базе данных ее код, автора, текст, дату добавления. Для каждого голосования - его код, код статьи и рейтинг - численную оценку статьи от 1 до 5. Физически страницу на диске для статьи можно не создавать, достаточно, чтобы ее текст хранился в базе данных. Обеспечьте возможность добавления и удаления статей, просмотра списка статей (отсортированных по рейтингу/по дате добавления), просмотра одной из статей и голосования за каждую из них. | Формы: добавление статьи, голосование (выпадающий список с числами от 1 до 5 и кнопка "Оценить"). |
21. | Фотогалерея с возможностью голосования | Для фотографии храните в базе данных его код, название соответствующего файла, название фотографии, описание фотографии, место съемки, размер файла. Можно хранить в базе данных только название файла с фотографией, а сами файлы помещать в какую-нибудь папку. Для каждого голосования храните в базе данных его код, код фотографии и рейтинг - численную оценку фотографии от 1 до 5. Обеспечьте возможность добавления и удаления фотографий, просмотра списка всех фотографий (отсортированных по рейтингу/по дате добавления), просмотра одной фотографии, голосования за каждую из них. При удалении записи о фотографии из базы данных заодно удаляйте с диска файл с фотографией. | Формы: добавление фотографии, голосование (выпадающий список с числами от 1 до 5 и кнопка "Оценить"). |
22. | Архив документов MS Office | Для каждого документа MS Office (*.doc, *.docx, *.ppt, *.pptx и т.д.) храните в базе данных его код, название файла, размер файла, код категории. Сам файл храните в какой-нибудь папке на диске. Обеспечьте возможность просмотра определенного файла со ссылкой для его скачивания, просмотра списка категорий и списка файлов в определенной категории. Должна быть также возможность добавлять файлы и удалять их, а также добавлять и удалять категории. Для каждой категории храните в базе данных ее код и название. При удалении записи о файле из базы данных заодно удаляйте с диска сам файл. | Формы: добавление файла, добавление категории. |
23. | Архив mp3 с возможностью голосования | Для аудиофайла храните в базе данных его код, название файла, название песни, имя исполнителя, длительность звучания песни, размер файла. Сам файл храните в какой-нибудь папке на диске. Обеспечьте возможность просмотра списка песен (отсортированных по рейтингу/по дате добавления), просмотра определенной песни (то есть должна быть страница, на которой выводятся все данные об аудиофайле и можно прослушать песню). Должна быть также возможность добавлять песни и удалять их, а также голосовать за них. Для каждого голосования храните в базе данных его код, код файла и рейтинг - численную оценку файла от 1 до 5. При удалении записи об аудиофайле из базы данных заодно удаляйте с диска сам файл. | Формы: добавление песни, голосование (выпадающий список с числами от 1 до 5 и кнопка "Оценить"). |
24. | Видеогалерея с возможностью голосования | Для видеофайла храните в базе данных его код, название файла, название видеоролика, описание видеоролика, длительность видеоролика, размер файла. Сам файл храните в какой-нибудь папке на диске. Обеспечьте возможность просмотра списка видеофайлов (отсортированных по рейтингу/по дате добавления), просмотра определенного файла (то есть должна быть страница, на которой выводятся все данные о видеофайле и можно посмотреть это видео) с возможностью проголосовать за него. Должна быть также возможность добавлять файлы и удалять их. Для каждого голосования храните в базе данных его код, код файла и рейтинг - численную оценку файла от 1 до 5.
При удалении записи о видеофайле из базы данных заодно удаляйте с диска сам файл. |
Формы: добавление видеоролика, голосование (выпадающий список с числами от 1 до 5 и кнопка "Оценить"). |
25. | Новостная система с возможностью голосования | Для каждой новости храните в базе данных ее код, автора, текст, дату добавления. Для каждого голосования - его код, код новости и рейтинг - численную оценку новости от 1 до 5. Обеспечьте возможность создания новости, удаления новости, просмотра списка всех новостей, отсортированного по рейтингу/по дате добавления, просмотра одной новости с возможностью оценить ее числом от 1 до 5. | Формы: добавление новости, голосование (выпадающий список с числами от 1 до 5 и кнопка "Оценить"). |
26. | Портфолио с возможностью голосования | Для каждой работы храните в базе данных ее код, название файла с изображением, название работы, описание работы, сроки, в которые выполнялась работа. Можно хранить в базе данных только название файла с фотографией, а сами файлы помещать в какую-нибудь папку. Для каждого голосования храните в базе данных его код, код работы и рейтинг - численную оценку работы от 1 до 5. Обеспечьте возможность добавления и удаления работ, просмотра списка всех работ, просмотра одной работы с возможностью оценить ее числом от 1 до 5.
При удалении записи о работе из базы данных заодно удаляйте с диска файл с изображением. |
Формы: добавление работы, голосование (выпадающий список с числами от 1 до 5 и кнопка "Оценить"). |
27. | Блог с возможностью голосования | Для каждой дневниковой записи храните в базе данных ее код, название записи, текст записи, автора записи, дату добавления записи. Для каждого голосования - его код, код дневниковой записи и рейтинг - численную оценку записи от 1 до 5. Обеспечьте возможность добавления и удаления записей, просмотра блога как списка всех записей (отсортированных по рейтингу/по дате добавления), просмотра одной записи с возможностью оценить ее числом от 1 до 5. | Формы: добавление записи в блог, голосование (выпадающий список с числами от 1 до 5 и кнопка "Оценить"). |
28. | Доска объявлений с возможностью голосования | Для каждого объявления храните в базе данных его код, автора, текст, дату добавления. Для каждого голосования - его код, код объявления и рейтинг - численную оценку объявления от 1 до 5. Обеспечьте возможность добавления объявления, удаления объявления, просмотра списка всех объявлений, отсортированных по рейтингу/по дате добавления. | Формы: добавление объявления, голосование (выпадающий список с числами от 1 до 5 и кнопка "Оценить"). |
29. | Система "Вопрос-ответ" с возможностью голосования | Для каждого вопроса храните в базе данных его код, автора, текст вопроса, текст ответа, дату добавления. Для каждого голосования - его код, код вопроса и численную оценку ответа от 1 до 5. Обеспечьте возможность добавления вопроса, удаления вопроса, ответа на вопрос (на один вопрос можно ответить только один раз), просмотра списка вопросов, отсортированного по рейтингу/по дате добавления, просмотра одного вопроса с возможностью оценить его числом от 1 до 5.
Очевидно, что при добавлении вопроса поле для ответа на него не выводится и записывается в базу данных пустым. Наоборот, на странице для ответа на вопрос выводится поле для ответа как textarea, в которое можно ввести текст, а остальные поля записи выводятся как текст (не для редактирования). |
Формы: добавление вопроса, ответ на вопрос, голосование (выпадающий список с числами от 1 до 5 и кнопка "Оценить"). |