Админка на php для mysql
Админка позволяет делать копии и вставки таблиц базы данных mysql, печатать и портировать sql-запросы
Область применения
Практически любому разработчику web-приложений приходится переодически вносить изменения в базу данных, выполнять специфический поиск или обновление записей, предварительно сделав резервные копии таблиц. Если вы арендуете хостинг, то наиболее удобным способом работать с базой данных удаленно будет через web-интерфейс. Хотя админок для работы с базами данных на php существует довольно много, я решил сделать собственный, понятный и простой проект без лишних опций ориентируясь только на собственный опыт что нужно для web-разработчика.
Поддерживаемые модули
В связи с переводом моего сайта на php v7.2 админка была обнолена и теперь работает с аналогичной версией. Были устранены некоторые недочеты и изменена инструкция по настройке.
Установка
Скачать проект можно по ссылке https://github.com/rightJoint/simple-php-mysql-admin или клонировав репозиторий с помощью git.
git clone https://github.com/rightJoint/simple-php-mysql-admin sa.local
RewriteEngine on
RewriteBase /
Конфигурация:
Файл с именами и зашифрованными паролями пользователей админки должен располагаться по пути: /source/_conf/admin/adminUsers.php По умолчанию логин admin и пароль root, пример файла:
Файл с настройками для подключения к серверу и базе данных должен размещаться по пути /source/_conf/db_conn.php и иметь следующий вид:
Работа с админкой
После авторизации по адресу /admin вам будет доступен интерфейс админки, настройте подключения к вашему sql-серверу и базе данных с помощью интерфейса или изменив конфигурационный файл db_conn.php
Интерфейс и назначение каждого модуля админки понятны и описывать их не имеет смысла. Задайте настройки как в примере выше в модуле админки ‘Сервер’, после перейдите в модуль ‘SQL’ и выполните запрос на создание базы данных. Далее в настройках сервера укажите вашу базу данных в «CONN_DB». После успешного подключения к базе данных можно перейти к созданию таблиц.
Логин и пароль для OpenServer различных версий могут различатся, CONN_DB должно быть пустым для создания БД
CREATE DATABASE my_db CHARACTER SET utf8 COLLATE utf8_general_ci
Работа с таблицами
Удалять, очищать, копировать и вставлять таблицы можно с помощью модуля admin/tables Для создания таблиц или портируйте запрос в базу данных или используйте готовые скрыпты, которые в этом примере расположены по пути /data/db/tablesList
Admin roles in admin panel – PHP & MySQL
Let’s say you have an admin panel of your website where you can manage your website’s data. Now you want to have a functionality where you can create sub-admins with access to limited features. For example, one admin can manage posts (add, edit and delete), another admin can manage customers, another admin can manage employees and so on. And they all will be managed by super admin.
In this article, we will be creating a sub admin to manage posts. Create a table for admins where we will have a column named “roles”, it’s type will be ENUM so you can specify the roles. No roles other than specified in ENUM will be accepted.
Super admin will be created manually and for once only. Give the role “all” to super admin:
You can generate password hash from here. First we will create a login form for all admins:
This will show a button to logout if the admin is logged in and a login form if an admin is not logged in. Now we will write the code to login the admin and start his session:
This will first check if the email exists in database. Then it will compare the hashed password with plain text from input field. If credentials are okay then it will save the admin object in session variable. Now you will see the logout button.
When the logout button is clicked, we will remove this admin object from session variable and redirect the admin to the page where he came from. There are other methods to redirect the user to previous page and you will check those methods from here.
Now if the logged in admin is super admin then we will show him a form add a new admin:
This will ask for admin’s email and password along with the role that you want to assign to him. Now we will write the code to save his data in database:
First, this will check that the logged-in admin must have an access to create sub-admin. Then it will get all the fields, it also converts the plain text password into hashed string. Then it checks if an admin with same email already exists, if not then it saves the data in database and display a success message.
Now we need to show all sub-admins to super admin so he can know all his sub-admins along with their roles, and also an ability to delete any sub-admin. Below code should be written after the “Add admin” form:
This will show all sub-admins to super admin only. When the delete button is clicked, it will first ask for confirmation. When confirm, it will submit the form. Now we need to handle the form submission in PHP:
This will simply check that the logged-in admin must be a super admin. Then it will delete the admin from database. When a sub-admin is deleted, all his created posts will also be deleted as well. If you want the sub-admin posts to stay after his removal, you need to remove the “ON DELETE CASCADE ON UPDATE CASCADE” clause from “posts” table during creation.
Now we come to the sub-admin part. Sub admins can perform action based on their roles. For example, sub admin having role “manage_posts” can create, edit and delete posts. First we will create a form to add post:
This will check that the logged-in admin must either be a super admin or admin having role “manage_posts”. Now we need to handle its request in PHP:
We need to validate the sub-admin role in server side as well. Get all fields from input fields, and logged in admin ID so we can know which sub-admin created that post. Then we will insert the data in database.
Now we need to show all posts of sub-admin created by him so he can perform further actions like updating or deleting post.
This will fetch all posts created by logged-in admin from database and display their titles along with a button to delete. When the delete form is submitted, it will ask for confirmation, once confirm it will submit the form. Now we need to handle the form request on server side:
Again it will check if the logged-in admin is either super admin or has a role to manage posts. Additionally, it will also check if the post he is trying to delete is created by him. That’s how it will be secured. If all validations are passed then it will simply delete the post from database.
Как создать админку для сайта на PHP с нуля
Узнайте, для чего нужна панель управления сайтом, какие в ней есть функции и как её разработать самостоятельно.
Инструменты для управления сайтом:
Лучше всего собрать их в одном месте, которое и называется панелью управления сайтом.
Пишет о программировании, в свободное время создает игры. Мечтает открыть свою студию и выпускать ламповые RPG.
Как создать админку для сайта на PHP
В первую очередь создадим файл admin.php в корне сайта. Пока у него будет такой вид:
Основные элементы для работы админки сайта
Дополнительные возможности управления сайтом относятся к разным направлениям PHP, которые невозможно охватить в одной статье. Подробнее обо всём на свете в мире PHP мы рассказываем на курсе «PHP-разработчик с нуля до PRO».
Теперь приступаем к написанию функций, запросов и валидаций.
Авторизация
Чтобы ограничить доступ, создадим форму входа в панель управления:
Соответствия в запросе ищутся только среди администраторов, но можно давать ограниченный доступ и для других групп пользователей — например, для модераторов, чтобы они проверяли комментарии и статьи, но не имели доступа к глобальным настройкам и удалению записей.
Главная страница
Теперь создадим условия, чтобы пользователь делал что-то полезное. Для этого методом GET передаётся название страницы:
На главной странице админки размещают все компоненты сайта с возможностью управления:
Должна быть возможность редактировать и общие настройки сайта: поменять метатеги, изменить параметры капчи, обновить политику конфиденциальности и так далее.
Редактирование
Как вы могли заметить, в таблицах каждая строчка — это ссылка такого вида:
В переменной act передаётся значение edit_article, а в id — идентификатор статьи. Перейдя по ссылке, администратор попадает на страницу редактирования:
Сначала в базу данных отправляется запрос на получение статьи. Затем, если всё в порядке, выводится форма редактирования. Если перед этим пользователь отправил изменённый текст, то он отправляется на сервер, таблица обновляется, а потом с помощью ещё одного запроса выводится актуальная информация.
Добавление записей в базу данных
Чтобы создать функцию добавления пользователя (или любого другого элемента на сайте), парсим форму и её обработчик:
Сначала проверяем, свободен ли указанный логин. Если да, то в базу вносятся соответствующие данные. Также обратите внимание, что существование переменной regadmin не проверяется, потому что форма её не отправляет, если оставить чекбокс пустым.
Статистика
Чтобы смотреть статистику посещений, комментирования и другой активности, создаём в базе данных таблицу с полями:
В них записывается общее количество просмотров и комментариев за каждый день, которое выводится на графике. Чтобы это сделать, пропишем HTML-код таблицы:
В качестве источника картинки указывается PHP-файл с кодом:
Сначала создаются изображение, рамка и деления. Затем идёт запрос в базу данных, чтобы получить статистику, которая отрисовывается в виде графика. Изображение сохраняется для разового вывода, а потом удаляется. Когда пользователь обратится к статистике в следующий раз, информация будет визуализирована заново.
Дополнительные возможности
То, о чём мы успели поговорить, — лишь часть того, что должно быть в админке.
Например, дополнительно можно реализовать:
Не менее важно научиться тщательно проверять приходящие данные и сделать аутентификацию снова великой безопасной. Если хотите освоить все направления PHP, запишитесь на курс от Skillbox. Вы получите необходимые знания и закрепите их на практике — научитесь самостоятельно разрабатывать даже самые сложные приложения, не списывая что-то в интернете.
Admin php panel mysql
MAGE :: PHP MySQL Admin Panel Generator
Available for Python also: Python Mage
PHP MySQL Admin Panel Generator (MAGE), a PHP tool that helps you create a PHP Admin Panel for any MySQL database in seconds.
Mage is not PHPMyAdmin; it doesn’t contain all your databases. It physically creates an admin panel for a database.
A suggested use-case for the tool would be creating an admin panel for a PHP / MySQL project in seconds, and then you can tweak it before delivery.
You may use this tool for charity or school projects, for commercial use, please contact me.
MAGE is derived from M ySql A dmin panel GE nerator. Mage (meɪdʒ): a magician or learned person.
Disclaimer: Always backup your database.
Note: You need to make sure that you have php-mysql package that connects PHP with MySQL, and that you change the generated directory permissions to be 777.
| Step | Thumb | Instructions |
|---|---|---|
| 1 | ![]() | Start by providing your MySQL Server Info, then click Next Step button. |
| 2 | ![]() | The tool will scan the server for available databases and list them in a dropdown menu, select the database that you want, then check if you need full HTML editor or not, and then click «Generate Admin Panel» button |
| 3 | ![]() | After a few seconds, you’ll get a success message, with a link to the newly created admin panel, and a report of all the operations that were done. |
| 4 | ![]() | Click the link to the admin panel. You have to sign in using «admin» as an email and a password. |
You’ll get a clean bootstrap interface to control the website, check below screenshots: 

MAGE handles data using htmlentities as well as addslashes to prevent XSS attacks. This means that any HTML tags, especially those generated by the CKEditor, will be encoded.
If you want to display the original HTML code use html_entity_decode() around that specific field.
If you don’t need HTML tags at all, you can disable CKEditor by unchecking the checkbox before clicking «Generate Admin Panel».
Nothing happens when you provide credentials on home page
You need to install php-mysql package, the following installs the latest version.
Nothing happens when I click Generate button
Change the generated directory permission to 777
About
PHP MySQL Admin-panel Generator (MAGE), a PHP tool that helps you create a PHP CRUD system for any MySQL database in seconds.
Админ-панель сайта
Что такое админ-панель
Админ-панель располагается на отдельной странице, которая имеет примерно такой адрес:
На сайте не делают ссылки на эту страницу, Вы просто должны знать её URL. Вход в админ-панель производится через форму авторизации. От обычной авторизации она отличается тем, что вы входите не как обычный пользователь, а как администратор, и информация об этом должна быть записана в сессию. Доступ к админ-панели должен быть только у администратора.
Авторизация администратора
Авторизацию администратора можно сделать двумя способами. Если администраторов несколько, то в таблицу с пользователями можно добавить поле, в котором указывать, что пользователь является администратором. А можно в скрипте авторизации просто передавать права администратора конкретному пользователю. Мы используем второй вариант. Назовём страницу авторизации avtadministrator.html. Вот её код:
Форма отправляет данные в файл adminavt.php. Это скрипт авторизации. Его код такой:
Создание админ-панели
Админ панель выглядит примерно так.
Перед добавлением статьи в базу данных нужно поместить текст статьи в теги
. Сделаем это на стороне клиента, чтобы не расходовать ресурсы сервера. Добавим на страницу скрипт, в котором перед текстом статьи поставим тег
. Чтобы сохранились все абзацы, нужно вместо перехода строки закрыть тег
и открыть новый. Вот код скрипта:
При желании можно добавить в обработчик проверку заполнения полей.
Форма запускает скрипт newart.php, который добавляет статью в базу данных. Вот код скрипта:
Мы рассмотрели создание самой простой админ-панели. Чтобы ею было удобно пользоваться в неё желательно добавить определённые возможности:
На основе данного примера Вы сможете сделать любую админ-панель для Вашего сайта.
Коприрование материалов сайта возможно только с согласия администрации











