Skip to content

Instantly share code, notes, and snippets.

@eksana
Created May 2, 2017 06:28
Show Gist options
  • Save eksana/ba76768c0095e4575cebdcebb56e3317 to your computer and use it in GitHub Desktop.
Save eksana/ba76768c0095e4575cebdcebb56e3317 to your computer and use it in GitHub Desktop.
Админка для лендинга
https://seo-zona.ru/kak-sdelat-adminku-dlya-lendinga-2016-04-24.html
Для начала нам необходимо создать кабинет, в котором администратор сайта сможет авторизоваться. Для этого
открываем новую папку на хостинге в корне сайта admin и в ней два файла pass.php и index.php. Содержимое
файла pass.php будет выглядеть следующим образом (содержать ваш логин и пароль для авторизации):
<?php die; ?>
admin
passadmin
Содержимое файла index.php, в котором будет осуществляться авторизация администратора:
<?php
//очищаем авторизацию при выходе из админки
if($_GET["p"]=='exit') {
session_start();
$_SESSION = array();
session_destroy();
header('Location: ../index.php');
}
// Начинаем сессию и вход в кабинет
session_start();
$access = array();
$access = file("pass.php");
$login = trim($access[1]);
$passw = trim($access[2]);
if(!empty($_POST['enter']))
{
$_SESSION['login'] = $_POST['login'];
$_SESSION['passw'] = $_POST['passw'];
}
if(empty($_SESSION['login']) or
$login != $_SESSION['login'] or
$passw != $_SESSION['passw'] )
{
?>
<center> <form action=index.php method=post>
Логин <input class=input name=login value="">
Пароль <input class=input name=passw value="">
<input type=hidden name=enter value=yes>
<input class=button type=submit value="Вход"> </center>
<?php die; }
// на данном этапе мы реализовали авторизацию, далее мы создаем элементы, которые будут видны администратору,
если он введет правильный пароль
?>
<?php
$file_txt="../config/config.ini"; //путь к файлу настроек
$otp=$_REQUEST['otp'];
$txt=$_REQUEST['txt'];
if(isset($otp)){
$fopen=fopen($file_txt,"w");
fputs($fopen,$txt);
fclose($fopen);
header("location: http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']);
exit;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<form name=forma method=post action="">
<textarea name=txt rows=30 cols=100><?php @include($file_txt);?></textarea><br><br>
<input type=submit name=otp value=Сохранить>
</form>
<h1>Вы в админке<br><a href="../index.php?p=exit">ВЫЙТИ</a></h1>
</body>
</html>
Итак, после удачной авторизации, администратор увидит элемент textarea,
с содержимым файла настроек "../config/config.ini" и возможностью их отредактировать. После внесения
необходимых правок, он может выйти из кабинета, нажав на ссылку ВЫЙТИ.
Файл настроек
Создадим папку config в корне сайта и в ней два файла .htaccess и config.ini В .htaccess запретим внешний
доступ к файлу config.ini, хотя это и необязательно, ведь в нем не будет секретных сведений:
<Files ~ "\.ini$">
Order allow,deny
Deny from all
</Files>
И в файле настроек config.ini мы должны описать переменные, которые хотим изменять на сайте, для примера я приведу самые динамичные:
; цена с доставкой - это комментарий для администратора, ниже сама переменная и ее значение
cena1 = "1200 рублей"
; цена без доставки
cena2 = "999 рублей"
; услуги курьера
cena3 = "300 рублей"
;Телефоны
phone = "+7 495 0123456"
phone2 = "+7 495 654321"
;E-mail
pochta = "[email protected]"
;Физический адрес
adress = "г. Москва, ул. Нахимова..."
Переменные на сайте
И последний этап - внедрить все данные (переменные) из файла настроек в шаблон сайта (лендинг). Для
этого открываем главный файл своего лендинга (обычно это index.php в корневой директории сайта)
обычным текстовым блокнотом и в самом вверху подключаем файл конфигурации:
<?php
$ini = parse_ini_file('./config/config.ini');
?>
Теперь в необходимых местах сайта, мы можем вывести значения переменных. Наши цены из файла настроек будут выглядеть так:
<?php print $ini['cena1'];?>
<?php print $ini['cena2'];?>
<?php print $ini['cena3'];?>
Вместо телефонов на сайте пишем:
<?php print $ini['phone'];?>
<?php print $ini['phone2'];?>
Вместо адреса электронной почты
<?php print $ini['pochta'];?>
Вместо физического адреса:
<?php print $ini['adress'];?>
Разумеется, в файл настроек вы можете прописать столько переменных, сколько необходимо изменять впоследствии.
Слишком дотошные, могут перенести в переменные хоть и все текстовое содержимое лендинга. На практике же целесообразно
в файл настроек вынести наиболее динамичные данные с сайта, те текстовые данные, которые рано или поздно придется менять.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment