Написал тут после долгих дум скрипт авторизации... фууу... трудно же это делать. И всё равно какие-то ошибки выводит. Тоесть он работает, но вверху страницы выводятся вот такие ошибки:
А текст скрипта такой:Цитата:
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at x:homeace-lighting.net.ruwwwadminindex.php:2) in x:homeace-lighting.net.ruwwwadminindex.php on line 3
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at x:homeace-lighting.net.ruwwwadminindex.php:2) in x:homeace-lighting.net.ruwwwadminindex.php on line 3
Notice: Undefined index: login in x:homeace-lighting.net.ruwwwadminindex.php on line 20
[ убрать подсказку | никогда больше не показывать ]
Это предупреждение, вероятнее всего, возникает вследствие высокого уровня контроля ошибок в PHP, по умолчанию установленного в Денвере (E_ALL). Такой режим вывода ошибок является рекомендуемым и сильно помогает при отладке скриптов. Однако множество готовых скриптов требуют более низкого уровня ошибок.
Вы можете установить более слабый контроль ошибок одним из следующих способов:
* * * Впишите в скрипты строчку:
* * * Error_Reporting(E_ALL & ~E_NOTICE);
* * * Этот способ особенно удобен, если в скрипте есть один файл (конфигурационный), который подключается всеми остальными.
* * * Рекомендуемый способ. Создайте в директории со скриптом файл .htaccess следующего содержания:
* * * php_value error_reporting 7
* * * Исправьте в /usr/local/php/php.ini значение error_reporting на E_ALL & ~E_NOTICE. Этот способ не является рекомендуемым и может привести к серьезным неудобствам при отладке!
[Денвер: показать возможную причину ошибки]
Notice: Undefined index: action in x:homeace-lighting.net.ruwwwadminindex.php on line 27
Что здесь не так? Уже всю голову сломал... Застрелиться можно с этим PHP :suicide2:Код:<?
session_start();
$password = '202cb962ac59075b964b07152d234b70'; // хеш правильного пароль
$login = 'admin'; // правильный логин
if (!session_is_registered('logged'))
*$_SESSION['logged'] = 0;
if ($_SESSION['logged'] == 1) // если уже осуществлен вход
*if ($_GET['a'] == 'logout') // если нажата ссылка выхода
*{
* $_SESSION['logged'] = 0; // тогда сбрасываем переменную $_SESSION['logged'] в ноль
* unset($_COOKIE['login']);
* unset($_COOKIE['password']);
* setcookie('login','',time(),'/admin/');
* setcookie('password','',time(),'/admin');
*}
// попытка захода через переменные cookie
if ($_COOKIE['login'] == $login && $_COOKIE['password'] == $password)
{
*$_SESSION['logged'] = 1;
*setcookie('login',$login,time()+60*60*24*14,'/admin/');
*setcookie('password',$password,time()+60*60*24*14,'/admin/');
}
if ($_POST['action'] == 'login')
{
*if ($_POST['login'] == $login && md5($_POST['pass']) == $password)
*{
* $_SESSION['logged'] = 1;
* setcookie('login',$login,time()+60*60*24*14,'/admin/');
* setcookie('password',md5($_POST['pass']),time()+60*60*24*14,'/admin/');
*}
}
if ($_SESSION['logged'] == 0)
{
?>
<div align="center"><form action="index.php" method="post">
<input type="hidden" name="action" value="login" />
Логин:
<input type="text" name="login" value="" />
Пароль:
<input type="password" name="pass" value="" />
<input type="submit" value="вход" />
</form></div>
<?
}
else
{
*echo "Секретная информация!!!
<a href="/admin/?a=act1">Действие 1</a>";
*echo "
<a href="/admin/?a=act2">Действие 2</a>";
*echo "
<a href="/admin/?a=act3">Действие 3</a>";
*if ($_GET['a'] == 'act1')
* echo "
Вы нажали Действие один";
*if ($_GET['a'] == 'act2')
* echo "
Вы нажали Действие два";
*if ($_GET['a'] == 'act3')
* echo "
Вы нажали Действие три";
*echo "
<a href="/admin/?a=logout">Выход</a>";
}
?>
P.S. Там пароль:123 в md5.