Нужна помощь с PHP

TwoStar

Новичок
Имеется скрипт с админкой, скрипт работает без нареканий а вот не как в админку войти не могу, при переходе по пути расположения админ панели (domain.com/admin/index.php) открывается страница ввода логина и пароля, после ввода данных и нажатия на кнопку "Login" просто перебрасывает на главную страницу сайта.


В логах апача появляется ошибка:
Код:
[Mon Jan 16 01:48:14.013469 2017] [:error] [pid 935] [client 158.**.**.**:58346] PHP Notice:  Undefined index: admin_login in /var/www/jackpot/admin/core/init.php on line 13
А вот и код страницы init.php
Код:
<?php
session_start();
require_once('config.php');
require_once('pdo.mysql.php');
require_once('redis.class.php');
$db = new db(DB_USER, DB_PASS, DB_HOST, DB_NAME, array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
$redis = new Redis();
$redis->send_command('AUTH',RS_PASS);
$URI = $_SERVER['REQUEST_URI'];
$URIa = explode('/',$URI);

/* LOGIN CHECK */
if($_SESSION['admin_login']==1) {
    $_LOGGED_IN = true;
    if($URIa[1] == 'logout') {
        unset($_SESSION['admin_login']);
        header('Location: http://'.$_SERVER['HTTP_HOST'].'/#logged_out');exit;
    }

    $user = $db->getRow('SELECT * FROM admin WHERE id = ?', array($_SESSION['admin_id']));

    /* GRAB STATS IF LOGGED IN */
    $q = $db->getRow('SELECT COUNT(*) as cnt FROM histories');
    $games_count = $q['cnt'];
    $q = $db->getRow('SELECT COUNT(*) as cnt FROM histories WHERE status = 0');
    $unfinished_count = $q['cnt'];
    $q = $db->getRow('SELECT COUNT(*) as cnt FROM support WHERE status=1');
    $support_count = $q['cnt'];
    $q = $db->getRow('SELECT COUNT(*) as cnt FROM gamelog GROUP BY gameid WHERE status = 0');
    $game_count = $q['cnt'];

    if($URIa[1]=='ajax') {
        header('Content-type: text/css; charset=UTF-8');
        $AJAX_MODULES_PATH = $_SERVER['DOCUMENT_ROOT'].'/core/ajax_modules/';
        $AJAX_MODULE = str_replace('..','',$URIa[2]);
        if(file_exists($AJAX_MODULES_PATH.$AJAX_MODULE.'.php'))
            include($AJAX_MODULES_PATH.$AJAX_MODULE.'.php');
        else
            include($AJAX_MODULES_PATH.'default.php');
        exit;
    }
}
else {
    $_LOGGED_IN = false;
    if($_POST) {
        $q = $db->getRows('SELECT * FROM admin WHERE login = ? AND password = PASSWORD(?)', array($_POST['u'],$_POST['p']));
        if(count($q)>0) {
            $_LOGGED_IN = true;
            $_SESSION['admin_id'] = $q[0]['id'];
            $_SESSION['admin_login'] = 1;
            $_SESSION['admin_token'] =
            md5('fuckinawesomeshit, this is armin with u, don\'t read this crap!...AND THIS IS FOR SOME RANDOM SHIT o_O: '.time().rand(10000,99999));
            $db->insertRow('INSERT INTO actionlog SET module = "admin", uri = ?, description = ?, ip = ?, date = ?, uid = ?',array(
                $_SERVER['REQUEST_URI'],
                ('Admin login'),
                $_SERVER['REMOTE_ADDR'],
                time(),
                $q[0]['id']
            ));
            header('Location: http://'.$_SERVER['HTTP_HOST'].'/#success');exit;
        }
        else {
            sleep(5);
        }
    }
}
?>
Буду признателен за помощь! Сам уже неделю не могу исправить.
 

scorpion-ds

Новичок
Что-то мне подсказывает, что проблема в глобальных переменных ...
 

scorpion-ds

Новичок
Я так решил из-за $_LOGGED_IN, если это так, то это приговор ..., впрочем ошибка у тебя по другой причине.
 

AmdY

Пью пиво
Команда форума
>>header('Location: http://'.$_SERVER['HTTP_HOST'].'/#success');exit;
Вроде всё верно, он и должен перебрасывать на "главную" страницу сайта.
А так нужно смотреть ошибки http://phpfaq.ru/debug
 

TwoStar

Новичок
>>header('Location: http://'.$_SERVER['HTTP_HOST'].'/#success');exit;
Вроде всё верно, он и должен перебрасывать на "главную" страницу сайта.
А так нужно смотреть ошибки http://phpfaq.ru/debug
Должен заходить в админку. Вот для наглядности сам сайт: http://csgolegal.com/admin/index.php
Пароль и логин для входа root/toor
 

Andkorol

Новичок
Жаль, что нет никакого способа проверить, что же находится в сессии после редиректа...
Или, например, проверить записи о логине в БД...
:rolleyes:
Остаётся только гадать, и ждать от кого-нибудь «волшебное слово», которое разом выявит и решит все проблемы. :)
Вдруг не заметил: http://phpfaq.ru/debug
 

TwoStar

Новичок
Жаль, что нет никакого способа проверить, что же находится в сессии после редиректа...
Или, например, проверить записи о логине в БД...
:rolleyes:
Остаётся только гадать, и ждать от кого-нибудь «волшебное слово», которое разом выявит и решит все проблемы. :)
Вдруг не заметил: http://phpfaq.ru/debug
Заметил, но сейчас с телефона сижу. В бд единственное пароль так и записал toor так как не могу понять чем он кодируется :D
 

TwoStar

Новичок
Дебаг не принес результатов, залил в папку /admin файл .httacces с отключеным модулем rewrite, сейчас на страницу авторизации можно попасть по domain.com/admin вроде как и продвинулся но по прежнему кидает на главную страницу после попытки авторизоватся. Может кто-то посмотреть код? Очень нужна помощь.
 

Andkorol

Новичок
Ну так ты ж для этого ничего не делаешь, совсем.
Сессии не проверил, записи о логине в БД не проверил, дебаг не провёл.
Чего ждём, на что надеемся?
«Само пройдёт...»?:D
 
Сверху