|
|
|
|
|
для: Ivanio
(26.01.2006 в 21:06)
| | Я вышел из этого положения немного переписав аутентификацию.
<?php
//-------Определяем, если АДМИН--------
session_start();
if(isset($_SESSION['login']) AND isset($_SESSION['password']))
{
$login = $_SESSION['login'];
$password = $_SESSION['password'];
is_admin($prefix,$login,$password);
}
else
{
define("ADMIN_TRUE", false);
}
#######
if(ADMIN_TRUE == false) #если не аутентифицирован, то выводим форму входа
{
include_once("header.php");
?>
<form action=auth.php method=post>
<input type="hidden" name="op" value="login">
Логин : <input type=text name=login><br>
Пароль : <input type=password name=password><br>
<input type=submit value=Войти>
</form>
<?
include_once("footer.php");
die();
}
#######
//-------Администрируем------------
if(ADMIN_TRUE == true)
{
//выводим админ панель и все эти дела
}
?>
|
функция is_admin()
<?php
function is_admin($prefix,$login,$password)
{
$ath = mysql_query("SELECT * FROM ".$prefix."admins WHERE admins_login = '".$login."';");
if($ath)
{
$ath2 = mysql_fetch_array($ath);
// Получаем пароль
$password1 = $ath2['admins_password'];
// Сравниваем пароль из базы данных и введённый посетителем
if (md5($password) != $password1)
{
unset($_SESSION['login']);
unset($_SESSION['password']);
session_destroy();
define("ADMIN_TRUE", false);
}
if (md5($password) == $password1)
{
define("ADMIN_TRUE", true);
}
}
else
{
$text = "Произошла ошибка при запросе на аутентификацию в БД";
error($config,$text);
die();
}
}
?>
|
| |
|
|
|
|
|
|
|
для: Ivanio
(27.01.2006 в 12:12)
| | Ну мне кажется запрос неправильный и возращает empty значение.
Стуктуру таблицы, и эти 2 файла в апач приложите.... поглядим. | |
|
|
|
|
|
|
|
для: cheops
(27.01.2006 в 13:23)
| | да, вот например галерея которую тоже я напсал работает нормально на томже сервере. urban-street.ru/foto | |
|
|
|
|
|
|
|
для: Ivanio
(26.01.2006 в 21:06)
| | А другие скрипты, которые используют MySQL нормально работают? | |
|
|
|
|
|
|
|
для: Boss
(27.01.2006 в 08:57)
| | а что в нем неправильного? ".$prefix." ? | |
|
|
|
|
|
|
|
для: Ivanio
(26.01.2006 в 21:06)
| | sql запрос неправильный.
$ath = mysql_query("SELECT * FROM admins WHERE admins_login = '".$login."' LIMIT 1;");
|
| |
|
|
|
|
|
|
| Здравствуйте.
Во пишу админку для своего же движка.
вот код главной страницы админки, которая отвечает за: проверку если ты залогинен, если нет то выводит форму для логина, если да то выводит меню.
никак не могу понять почему резуьтат выполнения этого скрипта - белый лист
<?php
#####################################
define("INDEX_CODE", true);
#####################################
require_once("config_main.php");
require_once("lang/lang-".$config['lang'].".php");
require_once("config_db.php");
require_once("func_main.php");
### Определяем если уже админ ###
session_start();
if((isset($_SESSION['login'])) AND (isset($_SESSION['password'])))
{
$login = trim($_SESSION['login']);
$password = trim($_SESSION['password']);
$ath = mysql_query("SELECT * FROM ".$prefix."admins WHERE admins_login = '".$login."' LIMIT 1;");
if(!$ath)
{
$message = "Произошла ошибка при работе с БД";
error($config,$message);
die();
}
$ath2 = mysql_fetch_array($ath);
if(mysql_num_rows($ath) > 0)
{
$password1 = $ath2['admins_password'];
// Сравниваем пароль из БД с тем, что из сессии
if (md5($password) == $password1)
{
define("ADMIN_TRUE", true);
}
else
{
//выводим форму входа в админ. панель
include_once("header.php");
theme_LoginAdmin();
include_once("footer.php");
die();
}
}
}
###################
if(defined("ADMIN_TRUE"))
{
if((isset($_GET['mod'])) AND ($_GET['mod'] != ""))
{
$mod = trim($_GET['mod']);
$mod = htmlspecialchars(stripslashes($mod));
if($mod == "logout") //осуществляем выход из админки
{
unset($_SESSION['login']);
unset($_SESSION['password']);
session_destroy();
redirect("index.php");
die();
}
$modpath = "admin_panel/".$mod."/index.php";
if(file_exists($modpath))
{
include_once($modpath);
}
else
{
error("Такой страницы не существует");
}
}
if((!isset($_GET['mod'])))
{
//выводим главное меню админ. панели
$mods_list = "";
$handle=opendir("admin_panel/");
while($file = readdir($handle))
{
if((!ereg("[.]",$file)))
{
$mods_list .= "$file ";
}
}
closedir($handle);
$mods_list = explode(" ", $mods_list);
sort($mods_list);
include_once("header.php");
echo("<table>");
for($i=0; $i < sizeof($mods_list); $i++)
{
echo("<tr>");
if(file_exists("admin_panel/".$mods_list[$i]."/link.php"))
{
include_once("admin_panel/".$mods_list[$i]."/link.php");
}
echo("</tr>");
}
echo("<tr><td><a href='cpanel.php?mod=logout'>"._LOGOUT."</a></td></tr>");
echo("</table>");
include_once("footer.php");
}
}
?>
|
спасибо. | |
|
|
|
|