<?php
$pw = "123"; // password
if(!isset($_POST['password']))
{
?>
<form method="POST" action="">
<center><b>Введите пароль</b></center><br>
<center><input type="password" name="password" size="20"></center><br>
<center><input type="submit" value="Войти" name="B1"></center>
</form>
<?php
}
else
{
if($_POST['password'] == $pw)
{
session_start();
ini_set('error_reporting', E_ALL & ~E_NOTICE);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
ini_set('log_errors', 'On');
ini_set('error_log', './logs/php_errors.log');
header("HTTP/1.1 200 OK");
header('Content-type: text/html; charset=utf-8');
include "Services/Autoloader.php";
spl_autoload_register([new Autoloader(), 'getClass']);
new AdminController();
}
else
{
echo "<center><b>Пароль неверный!</b></center>";
}
}
?>
Теперь пароль есть но нет сессий, то есть я ввожу пароль каждый раз когда переключаюсь на странице админа в настройки, анкеты, пользователи...
У вас идет проверка на POST запрос
Когда вы отправляете форму с методом method="POST" - то идет POST запрос.
Но не это главное.
После получения данных из формы для авторизации и их проверки, в случае успеха вам надо ставить метку SESSION или COOKIES - на ваше усмотрение.
И при переходе на страницу проверяйте не POST запрос а наличие этой метки.
Вам не надо менять на GET - оставьте POST - проверять надо другое.
вопрос где ее ставить на этих страницах- http://prntscr.com/rz17qt
http://prntscr.com/rz1xkr
Я вам выше привел пример простой логики, используйте ее.
http://prntscr.com/rz36ce
session_start();
ini_set('error_reporting', E_ALL & ~E_NOTICE);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
ini_set('log_errors', 'On');
ini_set('error_log', './logs/php_errors.log');
header("HTTP/1.1 200 OK");
header('Content-type: text/html; charset=utf-8');
if($_POST) {
$pw = "123"; // password
if(!isset($_POST['password']))
// ставим метку
$_SESSION['access'] = "метка";
} else {
if($_SESSION['access'] != "метка") {
echо "
} else {
// разрешаем работать с админкой
include "Services/Autoloader.php";
spl_autoload_register([new Autoloader(), 'getClass']);
new AdminController();
}
}
ошибок никаких РНР не выыдает, форма ввода пароля появилась но внезависимости от того верный или неверный введен пароль после нажатия ВОЙТИ появляется просто белый экран.... так как непонятно куда засунуть теперь if($_POST['password'] == $pw)
Посмотрите логи php_errors.log в директории logs
а кроме admin.php что то еще нужно менять в других файлах?
НО не работает сам бот теперь))
вот такие ошибки в ЛОГАХ
http://prntscr.com/rzzkrx
[15-Apr-2020 20:09:41 Europe/Moscow] PHP Fatal error: Call to undefined function WebHook::start() in /var/www/user71548/data/www/ХХХ.site/opros/Services/Route.php on line 92
http://prntscr.com/rzzmxr
Логи говорят что не может найти метод WebHook::start()
Проверьте наличие всех файлов на хостинге из архива
А так он доходит до Router - значит все работает просто не может найти метод - первое что в голову пришло - отсутсвие файла
К боту эта ошибка не относиться