Справочники, инструменты, документация

PHP: Простая админ-панель для лэндинга

Как создать простую админ-панель для лэндинга самому, пошаговая инструкция.

🚀 Создадим файл settings.php в котором мы будем хранить основные данные в константах.

<?php
define( "PHP_SERVER_VERSION" , "Данные 1" );
define( "PHP_LOCALHOST_VERSION" , "Данные 2" );
define( "PAGES_RANDOM_PLACES" , "Данные 3" );
define( "PAGES_RANDOM_INTERESTING" , "Данные 4" );
define( "PAGES_RANDOM_GUIDE" , "Данные 5" );

🛠️ Создадим файл admin.php с помощью которого мы будем редактировать основные данные в константах файла settings.php.

<?php include_once "settings.php"; ?>

<!-- На примере уже существующих двух изображений tmp/my_fi.jpg и tmp/my_file.jpg,
мы сделаем возможность их замены -->
<img src="tmp/my_fi.jpg" width="250">
<img src="tmp/my_file.jpg" width="250">


<form action method="post" enctype="multipart/form-data">
    <label>Поля для замены изображений</label>
    <input type="file" id="inputfile" name="inputfile">
    <input type="file" id="inputfi" name="inputfi">

    <label>Поле для данных 1</label>
    <input type="text" name="phpserverversion" value="<?= PHP_SERVER_VERSION ?>">

    <label>Поле для данных 2</label>
    <input type="text" name="phplocalhostversion" value="<?= PHP_LOCALHOST_VERSION ?>">

    <label>Поле для данных 3</label>
    <input type="text" name="name" value="<?= PAGES_RANDOM_PLACES ?>" >

    <label>Поле для данных 4</label>
    <input type="text" name="pagesrandominteresting" value="<?= PAGES_RANDOM_INTERESTING ?>">

    <label>Поле для данных 5</label>
    <input type="text" name="pagesrandomguide" value="<?= PAGES_RANDOM_GUIDE ?>">

    <input type="submit" name="button_click" value="Сохранить" />
</form>


<?php
// обработчик
$phpserverversion=$_POST['phpserverversion'];
$phplocalhostversion=$_POST['phplocalhostversion'];
$name=$_POST['name'];
$pagesrandominteresting=$_POST['pagesrandominteresting'];
$pagesrandomguide=$_POST['pagesrandomguide'];


// формируем массив для записи
$str = '<?php

define( "PHP_SERVER_VERSION" , "'.$phpserverversion.'" );
define( "PHP_LOCALHOST_VERSION" , "'.$phplocalhostversion.'" );
define( "PAGES_RANDOM_PLACES" , "'.$name.'" );
define( "PAGES_RANDOM_INTERESTING" , "'.$pagesrandominteresting.'" );
define( "PAGES_RANDOM_GUIDE" , "'.$pagesrandomguide.'" );
';

// если были добавлены фото, загружаем их и переименовываем, заменяя старые
move_uploaded_file($_FILES['inputfile']['tmp_name'], 'tmp/my_file.jpg');
move_uploaded_file($_FILES['inputfi']['tmp_name'], 'tmp/my_fi.jpg');

// пишем данные из формы в файл settings.php
if( isset($_POST['button_click']) )
 {
 // открываем файл для записи, если файл не существует, он будет создан
 $fopen = fopen('settings.php', 'w+');
 // записываем строку
 fputs ($fopen, $str);
 // закрываем файл
 fclose ($fopen);
 echo "<meta http-equiv='refresh' content='0; url=" . $_SERVER['SCRIPT_NAME'] . "'>";
 exit(); 
    }

📋 На странице лэндинга, там где мы хотим вывести нужную информацию, размещаем константы.

<!DOCTYPE HTML>
<html>
<head>
 <meta charset="utf-8">
 <title><?= PHP_SERVER_VERSION ?></title>
</head>
<body>
 <?= PHP_LOCALHOST_VERSION ?>

 ...

 <img src="tmp/my_fi.jpg" width="250">
 <img src="tmp/my_file.jpg" width="250">
</body>
</html>

✒️ Осталось создать блок авторизации администратора, но об этом уже в следующих статьях.