Перейти к содержимому

Как добавить админ панель на сайт

  • автор:

Админ-панель сайта

Админ-панель сайта — это часть движка, предназначенная для автоматического добавления контента на сайт. На ней есть поле, куда Вы пишете текст статьи. Админ панель содержит скрипты, которые создают новые страницы сайта либо добавляют статью в БД, в зависимости от структуры сайта. В меню добавляется ссылка на статью. Обычно админ-панель даёт возможность добавлять не только текст, но и другой контент. Создавая движок сайта, Вы сами решаете, делать админ-панель или добавлять статьи самостоятельно.

Админ-панель располагается на отдельной странице, которая имеет примерно такой адрес:

На сайте не делают ссылки на эту страницу, Вы просто должны знать её URL. Вход в админ-панель производится через форму авторизации. От обычной авторизации она отличается тем, что вы входите не как обычный пользователь, а как администратор, и информация об этом должна быть записана в сессию. Доступ к админ-панели должен быть только у администратора.

Авторизация администратора

Авторизацию администратора можно сделать двумя способами. Если администраторов несколько, то в таблицу с пользователями можно добавить поле, в котором указывать, что пользователь является администратором. А можно в скрипте авторизации просто передавать права администратора конкретному пользователю. Мы используем второй вариант. Назовём страницу авторизации avtadministrator.html. Вот её код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Страница

Авторизация:

Форма отправляет данные в файл adminavt.php. Это скрипт авторизации. Его код такой:

Админ-панель. С чего начать?

Знания PHP пока на довольно низком уровне, и скажу сразу (чтобы никто не возмущался) — готового на блюдечке не требую. Прошу «указать» в каком направлении преимущественно двигаться в обучении чтобы быстрее подойти к написанию админки. Ссылки, литература. Пока моё жалкое «начало» админки лишь форма для логина/пароля на отдельной странице.

  • Вопрос задан более трёх лет назад
  • 19664 просмотра

2 комментария

Оценить 2 комментария

Начните по примерам каких либо простых приложений, посмотрите как там сделано. что непонятно — можете спрашивать (в почту)

А вообще после авторизации в админке это главное описать CRUD (CREATE READ UPDATE DELETE) это стандартыне операции. Самое простое создайте в базе данных таблицу статьи(с полями id, title, descrition). Теперь главное в админке это сделать форму, в которую ты забиваешь текст заголовок новой статьи и ее описание. Нажимая на кнопку «Создать», эта статья должна добавляться в базу данных. Следующий шаг это сделать страницу куда выводится список всех статей. У выведенной каждой статьи прикрути две ссылки: 1-я изменить, вторая — удалить. Т.е при нажатии у определенной статьи кнопки изменить, ты переходишь на уже заполненную форму для редактирования (везде работа с базой данных). После редактирования статья также должна сохраняться(точнее обновляться). Ну а удалить это само понятно. Почитай статьи и курсы, которые я скинул. Там найдешь практически все ответы.

Решения вопроса 2

На самом деле Админ панель это ограниченная часть сайта, вход в которую может осуществлять только, например, админ. Остальным пользователям запрещено. Если говорить про php и mysql, то мы заходим в меню входа в админку( обыно это форма с двумя полями логин и пароль), после обрабатывает форму, т. е ищем в базе данных пользователя с таким же логином и паролем, если есть, то мы должны дать сайту понять, что теперь этот пользователь может заходить в админку. Для этого можно создать сессию с определенным именем,а лучше в сессию записать случайную строку и в базу данных ее же записать. И каждый раз проверять есть ли в базе сессия с такой же строкой как и в базе, если есть то это админ. Вообще если ты на начальном уровне, то почитай статьи вот этого парня lifeexample.ru/php-primeryi-skriptov/pishem-intern. Там он делает интернет магазин. А еще есть курс от сайта webformyself «корпоративный сайт под ключ», можно его найти, скажем так, если постараться) Там вообще строится на ооп. Также хороший курс для понимания это курс geekbrains php. А после можно изучить фреймворк laravel, он простой на осовение и после еще и еще расти))

Ответ написан более трёх лет назад
Нравится 2 4 комментария

iNickolay

вы описали не админ панель, а простую систему авторизации.
Николай: А что еще нужно? Ведь дальше обычная работа с базами данных и вывод информации на экран.

iNickolay

ssrdop: что ещё нужно? Вы серьёзно?
По вашему нет разницы между админ-панелью и, скажем, новостной страничкой? (та же обычная работа с бд и вывод информации на экран)

Николай: Я имел ввиду набор в админке хотя бы операций CRUD. Остально вообще по желанию.

Админка чего? Админка зачем?

Написание админки вообще ничем не отличается от написание остального приложения. Так что изучайте общую литературу.

Ответ написан более трёх лет назад

PUNK_199

Александр @PUNK_199 Автор вопроса

Для добавления/удаления постов, и возможностью добавления изображений в альбомы сайта. Больше ничего. Без наворотов ВордПресовских, там конечно всё довольно неплохо с виду, но мне до этого далеко.

Александр: ну так это обычные операции. Вам надо знать HTML формы, работу с БД, работу с файловой системой.

Silm: Вот из за таких как Вы люди и боятся писать на подобные сайты. Можно подумать Вы сразу все знали. «Так что изучайте общую литературу.» — ну и написали бы какую, я что то не встречал в общей литературе, как строить админку. В основном чистый php. Конечно Вы можете мне ответить, что умный человек и с одним знанием php напишет, что нужно, но тогда почему все читают в обязательном порядке паттерны проектирования и прочее. Так что либо конкретно человеку помогите или вообще не высказывайте свое мнение. Оно никому не будет интересно.

PUNK_199

Александр @PUNK_199 Автор вопроса
Silm: это уже точнее, спасибо, буду в БД углубляться.

PUNK_199

Александр @PUNK_199 Автор вопроса

ssrdop: согласен, даже думал, стоит ли спрашивать, потому что видел ответы на другие вопросы. Но в общем, если сложить ответы, в сумме мне в принципе дали много полезного, сейчас сижу, пытаюсь понять.
PS
про админку подробно в сети тоже ничего толком не нашёл, всё кусками, и мне сложно сложить воедино всё прочитанное, ведь каждый по своему объясняет.

ssrdop: в своем ответе я привел сайт с лучшими практиками и литературой. В комментарии написал какие конкретно области надо изучить. В чем проблема?

Нет смысла браться писать админку, если банально не прочитал мануал по PHP. Если прочитал, то уже знаешь как работать с формами, как с БД, как с файлами. Что еще то нужно знать для админки? Это ведь самые примитивные вещи, разве нет?

> «конкретно человеку помогите»
насколько конкретным был вопрос, настолько конкретно я ответил. В админке нет никаких «особых» операций, все стандартно. Если у человека возник такой вопрос, значит ему стоит изучить то, что я указал.

> «. не высказывайте свое мнение.»
Приведите, где я высказал свое мнение?

Александр:
> «про админку подробно в сети тоже ничего толком не нашёл»
ну вот если вы с просите что именно вам не ясно и что вы пытались найти, то вам скорее помогут. Как я уже 3 раза сказал, никаких особых отличий от остального приложения в админке нет. Ну да, она закрыта от публичного просмотра, а в остальном там происходят самые банальные операции.

Silm: «Приведите, где я высказал свое мнение?» — я отвечу так же, как и Вы ответили: Перечитайте весь диалог, чтобы понять, что я имел ввиду. А если Вам непонятно, значит, надо читать психологию человека и другие материалы, а уже потом спрашивать. Вам такое ответ нравится? Я думаю нет. Вы тоже от меня конкретики не получили.

ssrdop: > что то не встречал в общей литературе, как строить админку
И не найдете. Что за бред? Чем админка отличается от всего остального oO?

ssrdop: такой ответ на риторический вопрос мне очень нравится и я даже кое что получил весьма конкретное про вас из него. Если бы не он, то я бы продолжал недоумевать чем же вам не понравился мой ответ в контексте следующих фактов:

Ваше сообщение «А что еще нужно? Ведь дальше обычная работа с базами данных и вывод информации на экран. «

При том что у ТС не было вопросов по теме аутентификации и даже было уточнение, что его в первую очередь интересует следующее:
«добавления/удаления постов, и возможностью добавления изображений в альбомы сайта. Больше ничего.»

entermix: А у Вас в голову не приходило, что человек хоть может и понимать общие концепции, но в некоторых местах, где фактически тоже самое с некоторыми незначительными модификциями, человек может не понять как решать. Это как учителя в школе, им главное, чтобы ученики услышали тему, а тот кто чего-то недопонял преподавателей не волнует. Если бы Ваш сын также пришел к Вам и сказал, мол, Папа, тут вроде тоже самое, но я не могу понять, Вы бы так и ответили , мол, Сын, чего здесь непонятного? Тоже самое. И, наверно, удовлетворившись своим ответом Вы бы послали Сына продолжать непонимать? Так бы было? Почему Вы все меряете людей по себе? Как будто Вы изначально все знали. Вообще не ходили бы в институты, ведь в книжках все есть, а в высших заведениях ничего не дают. Вот если Вы сами научились программировать, не ходили в институт и все сами постигаете, то Вы вправе так отвечать. А если не Так, то Вообще не отвечайте. Именно из за Вас Люди и стесняются написать. А ведь иногда человеку необходим маленький толчок, чтобы он сам смог взять себя в руки. А если Вы настолько знающие, то поразите мир своими фреймворками, супер быстрыми алгоритмами, и неведомо крутыми программными продуктами. Ведь концепции одни, нужно всего лишь подумать. Но я же думаю, что несмотря на всю свою крутость Вы будете ползоваться готовыми продуктами, оправдывая это нежеланием строить велосипеды.

Как создать админку для сайта на PHP с нуля

Узнайте, для чего нужна панель управления сайтом, какие в ней есть функции и как её разработать самостоятельно.

Евгений Кучерявый

Евгений Кучерявый

Пишет о программировании, в свободное время создаёт игры. Мечтает открыть свою студию и выпускать ламповые RPG.

Инструменты для управления сайтом:

  • phpmyadmin для работы с базой данных;
  • FTP-клиент, чтобы загружать или удалять файлы;
  • графический редактор, который сжимает изображения;
  • текстовый редактор, в котором оформляются статьи;
  • сервис аналитики для оценки эффективности контента и рекламы.

Лучше всего собрать их в одном месте, которое и называется панелью управления сайтом.

Как создать админку для сайта на PHP

В первую очередь создадим файл admin.php в корне сайта. Пока у него будет такой вид:

Чтобы ограничить доступ, создадим форму входа в панель управления:

Теперь создадим условия, чтобы пользователь делал что-то полезное. Для этого методом GET передаётся название страницы:

Как вы могли заметить, в таблицах каждая строчка — это ссылка такого вида:

Чтобы создать функцию добавления пользователя (или любого другого элемента на сайте), парсим форму и её обработчик:

Чтобы смотреть статистику посещений, комментирования и другой активности, создаём в базе данных таблицу с полями:

В них записывается общее количество просмотров и комментариев за каждый день, которое выводится на графике. Чтобы это сделать, пропишем HTML-код таблицы:

div class='table'> div class='table-wrapper'> div class='table-title'>Статистика div> div class='table-content'> img src='stats.php' class='statistics-img'> br> Красный: просмотры br> Синий: комментарии br> 1 шаг — 1 день div> div> div>

В качестве источника картинки указывается PHP-файл с кодом:

include("includes/db.php"); $width = 400; $height = 200; $canv = imagecreatetruecolor($width, $height); //Цвета $white = imagecolorallocate($canv, 255, 255, 255); $gray = imagecolorallocate($canv, 150, 150, 150); $black = imagecolorallocate($canv, 0, 0, 0); $red = imagecolorallocate($canv, 255, 0, 0); $blue = imagecolorallocate($canv, 0, 0, 255); imagefill($canv,0,0,$white); //Рисуется квадрат imagerectangle($canv, 15, 5, $width-5, $height-15, $gray); //Горизонтальные линии for($i = 1; $i 5; $i++) < imageline($canv, 15, $height-$i*35, $width-5, $height-$i*35, $gray); > //Вертикальные линии for($i = 1; $i 15; $i++) < imageline($canv, 15+($i*30), 5, 15+($i*30), $height-15, $gray); > //Получение статистики из базы данных $stats_result = mysqli_query($db,"SELECT * FROM statistics"); if($stats_result) < $last_y = [0,0]; $x = 15; //Рисуется график while($stats = mysqli_fetch_array($stats_result)) < imageline($canv, $x, ($height-15)-$last_y[0], $x+30, ($height-15)-($stats['views']/10), $red); imageline($canv, $x, ($height-15)-$last_y[1], $x+30, ($height-15)-($stats['comments']/10), $blue); $last_y[0] = $stats['views']/10; $last_y[1] = $stats['comments']/10; $x += 30; > > else echo mysqli_error($db);> //Вывод изображения header("Content-type: image/png"); imagepng($canv); //Освобождение памяти imagedestroy($canv); ?>

Сначала создаются изображение, рамка и деления. Затем идёт запрос в базу данных, чтобы получить статистику, которая отрисовывается в виде графика. Изображение сохраняется для разового вывода, а потом удаляется. Когда пользователь обратится к статистике в следующий раз, информация будет визуализирована заново.

Дополнительные возможности

То, о чём мы успели поговорить, — лишь часть того, что должно быть в админке.

Например, дополнительно можно реализовать:

  • премодерацию комментариев;
  • удаление записей из базы данных;
  • работу с файлами;
  • продвинутый редактор статей;
  • подробную статистику каждой отдельной страницы и так далее.

Читайте также:

  • Для чего используют PHP и почему его ненавидят
  • Жучки и печеньки: краткая история IT-терминов
  • Как начать программировать на PHP

Разработка административных панелей

Досконально анализируем и прорабатываем требования перед началом работ. Создаем админ-панель в соответствии с задачами управления.

Масштабируемость

Закладываем возможность масштабирования на раннем этапе создания панели. Развивайте без кардинальных переработок.

Интеграция

Выгрузка из 1С, или другой учетной системы, информации о товарах и услугах. Интеграция с любыми платежными системами.

Особенности создания админ-панели

Админ-панель сайта или приложения — это система управления информацией, через нее можно редактировать разделы, название функций, изображения и пр. Например, админ-панель новостного сайта позволяет журналисту оперативно размещать новости. Админ-панель маркетплейса предоставляет продавцу добавить новые карточки товаров.

У разработки админ-панели есть несколько особенностей. Расскажем о них подробнее:

  1. В разработке админ-панели для сайта прежде всего стоит учитывать ее удобство и комфорт для того, кто будет ею пользоваться. Именно поэтому функционал админ-панели должен быть прост и понятен пользователю. При необходимости можно снабдить основные разделы подсказками в виде всплывающих окон, чтобы облегчить навигацию.
  2. При необходимости анализа размещаемой на сайте информации можно добавить и возможность аналитики данных. Для того, чтобы представляемые сведения были удобными, стоит разработать возможность вывода данных в графической форме. Например, в виде графика или диаграммы.
  3. Дизайн админ-панели должен быть простым, без сложных графических решений по двум причинам. Первая заключается в том, что обычным пользователям она не видна, только владельцу или редактору сервиса. А вторая причина состоит в необходимости не отвлекать дизайном от выполнения непосредственных задач.

Этапы создания административной панели сайта

При разработке панели администратора сайт а или приложения можно выделить несколько этапов создания продукта:

  1. Аудит. На данном этапе собирается информация о сервисе, его целевой аудитории и предназначении. Изучаются требования заказчика к административной панели.
  2. Составление ТЗ. Здесь проектируется техническое задание непосредственно для команды специалистов, которая будет заниматься разработкой. Все требования прописываются в однозначных формулировках. Точное техзадание поможет синхронизировать видения заказчика и исполнителя, уложиться в сроки и бюджет.
  3. Дизайн. Проектируем интерфейс панели. Дизайн для данного типа продукта несложный и содержит лишь основные элементы для удобства пользователя.
  4. Программирование. После утверждения дизайна разработчики приступают к созданию административной панели сайта . Для реализации выбирается фреймворк, подходящий для решения конкретных задач.
  5. Тестирование. Для избежания ошибок в работе админ-панели, до ее запуска тестируется функционал как вручную, так и с помощью специальных программ. Моделируются различные ситуации, в которых изучается поведение системы.
  6. Интеграция и запуск. После готовности и тестирования административной панели она интегрируется в сайт или приложение. После чего можно пользоваться ею и оперативно редактировать и вносить информацию в свой продукт. При желании заказчика, разработчики могут продолжить техническую поддержку и развитие сервиса.

Схемы работы и оплаты

При создании админ-панели можно выделить следующие схемы работы и оплаты:

Fixed Price: здесь стоимость разработки, как и дедлайны выполнения работы прописаны и оговорены заранее. Есть точное ТЗ, где в достаточной и однозначной форме зафиксированы требования.

Time&Materials: в такой модели взаимодействия сроки и стоимость оцениваются постфактум для каждого этапа. Такая схема работы чаще выбирается на проектах, где нет времени на разработку ТЗ, где необходима гибкость по ходу проекта или есть задачи, которые не поддаются оценке.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *