Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Можно ли сделать такую проверку?

Можно ли сделать такую проверку?


     07.11.2017    проверка    Общие вопросы, Общие вопросы по PHP    1106

вопрос
Добрый вечер мастерам. Прошу помощи в подсказке реально ли такое реализовать??

Есть файл в котором бы хотелось сделать что если вход в файл делает $member_id['user_group'] =1 который авторизован в админке то ему открывать доступ всегда к файлу. В ином случае вывести форму авторизации и если человек введёт пару логин пароль (которые будут находится в данном файле) верными то открыть ему доступ также.

Вот что пытался сотворить но ничего что-то не выходит у меня, может кто-то поможет в реализации? Заранее спасибо всем за помощь.

Вот то что смог сотворить.

 <?php
/*
=====================================================
 DataLife Engine - by SoftNews Media Group
-----------------------------------------------------
 http://dle-news.ru/
-----------------------------------------------------
 Copyright (c) 2004-2017 SoftNews Media Group
=====================================================
 Данный код защищен авторскими правами
=====================================================
 Файл: admin.php
-----------------------------------------------------
 Назначение: админпанель
=====================================================
*/

@ob_start();
@ob_implicit_flush(0);

@error_reporting ( E_ALL ^ E_WARNING ^ E_DEPRECATED ^ E_NOTICE );
@ini_set ( 'error_reporting', E_ALL ^ E_WARNING ^ E_DEPRECATED ^ E_NOTICE );

define ( 'DATALIFEENGINE', true );
define ( 'ROOT_DIR', dirname ( __FILE__ ) );
define ( 'ENGINE_DIR', ROOT_DIR . '/engine' );
session_start();
$admin = 'admin';
$pass = 'e10adc3949ba59abbe56e057f20f883e';

if($_POST['submite']){
	if($admin == $_POST['used'] AND $pass == md5($_POST['passq'])){
		//$_SESSION['admin'] = $admin;
		exit;
	}
}
//#################
$check_referer = true;
//#################
require_once (ENGINE_DIR . '/inc/include/init.php');
if ($is_loged_in == false AND $_SESSION['admin'] = $admin) {
	echo 'Увы вы не админ, введите пару логин пароль для получения доступа к файлу';
	?>
	<form method="post">
	Username: <input type="text" name="used" /><br />
	Password: <input type="password" name="passq" /><br />
	<input type="submit" name="submite" value="Войти" />
</form>
	<?

	exit ();

} elseif ($is_loged_in == true AND $_SESSION['admin'] == $admin) {
 echo "вы  админ";
}

?>


Ответил: igrovik


Сразу дам ответ может кому-то пригодится такое.

Короче решил таким способом это дело:


<?php

/*

=====================================================
ПОДКЛЮЧЕНИЕ МОДУЛЕЙ САЙТА И ПРОВЕРКА ЛОГИНА И ПАРОЛЯ
=====================================================

*/


ob_start();
ob_implicit_flush(0);
error_reporting(E_ALL ^ E_WARNING ^ E_DEPRECATED ^ E_NOTICE);
ini_set('error_reporting', E_ALL ^ E_WARNING ^ E_DEPRECATED ^ E_NOTICE);


define('DATALIFEENGINE', true);
define('ROOT_DIR', dirname(__FILE__));
define('ENGINE_DIR', ROOT_DIR . '/engine');
session_start();

$admin = 'admin';
$pass = 'e10adc3949ba59abbe56e057f20f883e';
session_start();

if($_GET['do'] == 'logout'){
	unset($_SESSION['admin']);
	session_destroy();
}
if (isset($_POST['submite'])) {
    $err = [];
    if (strlen($_POST['used']) == false) {
        $err[] = 'Введите имя';
    }

    if (strlen($_POST['passq']) == false) {
        $err[] = 'Введите пароль';
    }

    if (empty($err)) {
        if ($admin == $_POST['used'] && $pass == md5($_POST['passq'])) {
            $_SESSION['admin'] = $admin;
            header('Location: /primer.php');
            exit;
        }
    } else {
        foreach ($err as $error) {
            echo $error . '<br>';
        }
    }
}

$check_referer = false;

require_once(ENGINE_DIR . '/inc/include/init.php');

if (!isset($_SESSION['admin']) || $_SESSION['admin'] != $admin) {
	if ($member_id['user_group'] !=1){
	
    echo 'Увы вы не админ, введите пару логин пароль для получения доступа к файлу';
    ?>

    <form method="post">
        Username: <label><input type="text" name="used"/></label><br/>
        Password: <label><input type="password" name="passq"/></label><br/>
        <input type="submit" name="submite" value="Войти"/>
    </form>

    <?php
    exit ();
	}
} 
elseif(isset($_SESSION['admin']) && $_SESSION['admin'] == $admin) {
	echo 'вы админ';
	echo '<a href="primer.php?do=logout">Выход</a>';
	exit();
    }if ($member_id['user_group'] = 1){
 echo "вы  админ";
    }

?>



Если кто знает другой способ, напишите, буду благодарен.
Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх