Как сделать админку php

Админка на php для mysql

Админка позволяет делать копии и вставки таблиц базы данных mysql, печатать sql-запросы и редактировать записи

Область применения

Практически любому разработчику web-приложений приходится переодически вносить изменения в базу данных, выполнять специфический поиск или обновление записей, предварительно сделав резервные копии таблиц. Если вы арендуете хостинг, то наиболее удобным способом работать с базой данных удаленно будет через web-интерфейс. Хотя админок для работы с базами данных на php существует довольно много, я решил сделать собственный, понятный и простой проект без лишних опций ориентируясь только на собственный опыт что нужно для web-разработчика.

Поддерживаемые модули

В последнем обновлении код админки был переписан под mvc-шаблон. Добавлены опции выбора базы данных через меню, опции поиска в таблицах с помощью фильтра, возможность редактирования записей в таблицах в всплывающем окне.

Аминка тестировалась локально на Open Server v 5.3.6.0, также развернута и работает на хостинге, поддерживает следующие версии:

  • Серверная часть
    • Сервер: Apache-2.4+Nginx-1.17
    • php-версия: PHP-7.2
    • mysql-версия: MySQL-5.6
    • Кодировки: HTTP-сервер — utf-8, mysql-сервер — utf8_general_ci
  • Код
    • php: mvc-шаблон, на чистом php без использования каких-либо cms
    • javascript: jQuery
    • css: чистый css

Установка

Скачать проект можно по ссылке https://github.com/rightJoint/simple-php-mysql-admin или клонировав репозиторий с помощью git.

git clone https://github.com/rightJoint/simple-php-mysql-admin sa.local

Настройка .htaccess

Для работы с админкой необходимо корректно настроить файл .htaccess в корне проекта: запретить доступ к служебным каталогам и файлам и выполнить переадресацию всех запросов на index.php

RewriteEngine on
RewriteBase /
DirectoryIndex index.php
RewriteRule . index.php [L]

Конфигурация:

Все настройки описаны в model_admin.php, если необходимо, то измените значения по умолчанию:

  • $pathToConn — файл, содержащий настройки подключения к mySql-серверу
  • $pathToUsrList — файл, содержащий логин и пароль пользователей адимнки
  • options->pathToTablesList — каталог, содержащий запросы на создание таблиц
  • options->pathToDbUpload — каталог для выгрузки таблиц из базы данных
  • options->tableExtFile — расширение файлов создания и выгрузки таблиц
  • options->lower_case_table_names — учет регистра имен таблиц, разное для linux и windows систем

Работа с админкой

Комментарии: 1 Ответы: 1

Напишите про совместимость админки с вервсиями пхп и сервера, на чем разворачивать проект

В описание проекта добавлены поддерживаемые модули. Также в репозиторий добавлены js, конфиги и картинки чтоб максимально упростить разворачивание проекта.

Источник

Делаем админку на файлах. Урок 1

  • Добрый день, Александр! Полгода назад Вы делали нам сайт-визитку. Нужны небольшие доработки. Можно на Вас рассчитывать?
  • Здравствуйте, Евгений! Да, конечно. Что хотите сделать?
  • Внедрить на сайте блок «Обратный звонок». Когда и за сколько сможете это сделать?
  • Давайте уточним. Есть дизайн окошка, посетитель оставляет номер телефона, который отправляется на определенную почту, изменяемую в настройках. 2 дня и стоить это будет N монет.
  • К сожалению, мы ограничены во времени и деньгах, это окошко нужно уже завтра. Давайте Вы найдете шаблонную форму, внедрите до завтра, а почту мою вбейте evgen@site.ru, менять ее не будем. Чтобы быстрее и подешевле.
  • Хорошо, тогда до завтра, это дешевле — M монет.
  • Отлично, ждем!
  • Евгений, все готово, проверяйте
  • Все хорошо, спасибо!
  • Александр, добрый вечер! Неудобно просить, но Вы не могли бы поменять в обратном звонке почту evgen на stepan@site.ru? С сайтом теперь работает Степан. Надеюсь, Вас это не затруднит?
  • Добрый вечер, Евгений. Не затруднит, уже заменил
  • Спасибо
  • Привет, Александр. Меня зовут Степан, Евгений сказал, что все вопросы по сайту к тебе. Нам надо заменить почту в обратном звонке. Поставь, плиз, sales@site.ru, не трудно?
  • Привет, Степан. Сделал
  • ок
  • Саш, привет. Слушай, у нас новый маркетолог вышла, добавь еще почту elena@site.ru
  • Привет, Степан. Напоминаю, мы договаривались только о создании сайта, от поддержки ваша фирма отказалась
  • И что теперь, тебе каждый раз платить, чтобы почту заменить? Сразу не мог нормально сделать, чтобы мы сами ее меняли?
Читайте также:  Как сделать два сбербанка

Если для Вас такой разговор это невероятная дичь, значит, Вы не фрилансили и не работали в веб-студии.

У меня же реакция на такие разговоры поначалу была примерно такая

Что делать?

Рассмотрим разные варианты:

1. Безропотно и дальше меняем почту по просьбам Степана. Каждый раз думаем, что последний
2. Говорим, что каждое обращение к Вам стоит столько-то, и отправляем Степана к херам собачьим
3. Отправляем письма на нейтральную почту и объясняем Степану или местному админу, как сделать редиректы на нужные ящики
4. Считаем, сколько стоит натянуть сайт на привычную CMS. Выкатываем счет
5. Указываем php-файл с отправкой письма и номер строки, в которой написана искомая почта. Пусть правят прямо в коде, лишь бы отстали.

Есть еще один вариант. Потратить 15 минут времени и позволить Степану редактировать почту через файловый менеджер сайта. Говорим Степану, что пусть открывает файл settings/email.txt и вбивает туда нужную почту. txt — не php-код, накосячить в файле с одной строкой сложнее. К — компромисс. Или консенсус. Вечно в них путаюсь. Короче, эта супер инновация реально облегчит жизнь людей и не потребует от Вас больших усилий.

Риторический вопрос, а не зашквар ли делать такую «админку» на файлах, обсудим в комментах. Пока нас интересует только техническая сторона вопроса. Как это реализовать, сейчас и рассмотрим.

Пишем код

В качестве проекта возьмем пустую папку. Создадим в ней папку admin. А в admin уже файл admin.class.php и папку settings с двумя текстовыми файлами email.txt и phone.txt. В email.txt напишем webdevkin@gmail.com, а в phone.txt — 8-911-123-45-67.

Теперь сделаем класс. Пока в нем будет один статический метод. То есть класс выполняет роль пространства имен. Содержимое admin.class.php

Единственная функция get читает указанную настройку из файла. Если файла нет или ошиблись с названием настройки, вернет ‘nodata’. Теперь этот файл подключаем в любом месте проекта и считываем настройки через Admin::get(‘название_настройки’)

Выглядит не особо сложно, но давайте все-таки убедимся, что работает. Создадим в папке admin файл index.php и напишем там

Результат будет такой

webdevkin@gmail.com
8-911-123-45-67
nodata

Вот и все. Неожиданно, да? В несколько строк мы реализовали не админку, конечно, но некоторое ее подобие. Этого вполне хватит для начала. Теперь ответственный за сайт может в файловом менеджере отредактировать настройки. Усилий никаких, а людям жить легче.

В следующих статьях будем развивать эту историю. Редактировать настройки прямо на хостинге годится для некоторых случаев. То есть если у Вас ситуация как в диалоге или «лучшая продающая CMS для лендингов всего за тыщу рублей в месяц». А для остальных сделаем простой интерфейс для редактирования.

Источник

Как создать Admin-панель для сайта

В прошлой статье мы с Вами разбирали создание собственного движка для сайта. Однако, очень часто приходится управлять сайтом: добавлять новые материалы, управлять пользователями, голосованиями. Безусловно, это можно делать через PHPMyAdmin, но это весьма неудобно, поэтому хорошим решением будет — создать Admin-панель для сайта. И как это сделать, Вы узнаете в этой статье.

Читайте также:  Инструкция как сделать браузер

Итак, давайте вновь распишу порядок действий, которые необходимо выполнить:

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

Как видите, последние 4 пункта идентичны тем, которые Вы выполняли при создании движка. Здесь объём работы будет значительно меньше, поэтому, думаю, Вы с этим без проблем справитесь.

Я где-то три месяца сидел на своём сайте без Admin-панели, добавляя новые материалы напрямую через базу данных. Скажу честно, тратил много лишнего времени, а когда создал Admin-панель на своём сайте, то процесс управления сайтом значительно упростился. Так что рекомендую Вам сделать то же самое.

Пример создания Admin-панели Вы найдёте в этом обучающем курсе: http://srs.myrusakov.ru/im

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

Она выглядит вот так:

  • BB-код ссылки для форумов (например, можете поставить её в подписи):
  • Комментарии ( 15 ):

    «Я где-то три месяца сидел на своём сайте без Admin-панели, добавляя новые материалы напрямую через базу данных. Скажу честно, тратил много лишнего времени, а когда создал Admin-панель на своём сайте, то процесс управления сайтом значительно упростился. Так что рекомендую Вам сделать то же самое.» И мне тоже мучить добавляя новые материалы, как это вы сделал «напрямую через базу данных» я сам не знаю? И еще когда вы создал админ-панель на своей сайт? да хочу управления сайт упростился, как это сделать? Я выучил твой видеоуроки html css я сам все понял. Но мне интересую как создать админ-панель самое главное мне удобно добавляя новые материалы. У вас есть этот видеоурок этот? Мне нужно без joomla я знаю это готовый это мне не интересно, мне интересне с нуля.

    Чтобы создать admin-панель, HTML и CSS недостаточно. Изучайте PHP и MySQL. Когда будете знать на достаточно хорошем уровне, то вопрос сразу же отпадёт.

    Михайл Русаков, большое спасибо за совет. Хорошо постараюсь зучай РНР и MySQL.

    Здравствуйте. Для админки я сделал 2 страницы: 1)Страница с формой входа. 2)Сама админка. Так же в скрипте есть функция проверки введённых данных. Если данные введены верно,как направить пользователя на страницу админки? И,если пользователь в строку урл сразу ввёл адрес админки, как направить его на страницу с формой входа? Или подскажите как реализуется доступ в админку.

    Если пользователь правильно ввёл данные, то делается редирект на админку. Если пользователь просто зашёл в админку, а он не авторизован (не содержит правильных данных в сессии или cookie), то делается редирект на форму авторизации.

    Редирект я делал так: Ничего не получилось, выдаёт ошибку.

    Источник

    Как сделать админку php

    Для того, чтобы сразу было понятно, что такое админка -> вот вам скриншот, что я вижу заходя на сайт? а вы этого не увидите:

    Что такое админка сайта Что мы можем понять из выше приведенного скрина!? Что в админку можно войти, что в ней, как минимум можно удалить страницу, и как минимум отредактировать её же -> есть видео на тему админка сайта

    Панель администратора сайта

    Система хранения данных везде отличается, и вообще! Прежде чем что- отредактировать в админ панели. эти данные нужно сохранить!

    Как организовать панель администрирования сайта в админке.

    Вы должны понимать, что с каждым движком, уже идет вход в админку и сама панель управления и все, что здесь было описано про вход — это, как в принципе должен работать вход в админ панель!

    После того, как вы благополучно создали вход и можете протестировать вход в админку — вам нужно будет

    Поместить тот код, что располагается на тестовой странице на все страницы, которые вы хотите администрировать!

    Здесь : информация доступная админу.

    Здесь : У вас недостаточно прав для просмотра данной информации!

    И далее. про панель. и администрирование возникает целая куча развилок.

    Как будут храниться ваши данные — файл или база данных.

    Какой сайт вы собираетесь делать — личный сайт — или же будут пользователи, модераторы. Эти роли все нужно продумывать и все прописать!

    Что вы хотите видеть в своей панели администрирования Могу порекомендовать дополнительную информацию вообще о создании сайта, поскольку этот вопрос структуры админ панели- напрямую зависит от структуры сайта.

    Все админки доступные для скачивания

    С админками для сайта произошла какая то вакханалия!

    Это довольно странно, когда, вроде бы правильно написанная страница, но через некоторое время приходишь на неё и ничего не понятно, что к чему!

    Я пришел исправить эту ситуацию!

    Отдельная страница со скриптами и в том числе отдаленная подтема скачать админки

    С чего все начиналось?

    Всё начиналось с чужой админки, которую я нашел в интернете. Для данной админки доступно:

    Видео 2016 года здесь

    Конечно. я тогда уже немного понимал, что такое php, но чтобы написать что-то самостоятельно, то, конечно же, знаний было недостаточно!

    Если вы посмотрите на код представленный в архиве первой админки — то я категорически не согласен с таким видом и типом входа!

    Это слишком примитивно.

    Зачем нужно так наваливать в кучу код!? я это не понимаю и сегодня 29.07.2022!

    Источник

    Читайте также:  Как сделать hover css
    Поделиться с друзьями
    Ответ и точка