Написал тут после долгих дум скрипт авторизации... фууу... трудно же это делать. И всё равно какие-то ошибки выводит. Тоесть он работает, но вверху страницы выводятся вот такие ошибки:
А текст скрипта такой: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Код:<? 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.