Здаровати. Это снова я страдаю х*йнёй=)) Вот у мя не работает авторизация. Вот всё чо есть..: Форма отправки: HTML: <form action="login.php" method="post"> <table class="tablebg" width="100%" cellspacing="1"> <tr> <td class="row2"> <table align="center" cellspacing="1" cellpadding="4" style="width: 100%;"> <tr> <td align="center"> <p>Авторизация</p> <input type="text" name="username" size="19" onfocus="focus_username(this)" value="Логин" /> <br /><a class="gensmall" href="/reg.php">Регистрация</a> </td> </tr> <tr> <td align="center"> <input type="password" name="password" onfocus="focus_password(this)" value="------" size="15" tabindex="2" /> <br /><a class="gensmall" href="http://forum.joker-main.com/ucp.php?mode=sendpassword">Забыли пароль?</a> </td> </tr> <tr> <td align="center"><input type="checkbox" class="radio" name="autologin" tabindex="3" /><span>Запомнить?</span></td> </tr> </table> </td> </tr> <tr> <td class="cat" colspan="2" align="center"><input type="hidden" name="redirect" value="index.php" /> <input type="submit" name="login" value="Вход" tabindex="5" /></td> </tr> </table> </form> Обработчик, файл login.php: PHP: <?php include ("$_SERVER[DOCUMENT_ROOT]/lib/config.php"); include ("$_SERVER[DOCUMENT_ROOT]/lib/functions.php"); if(isset($_POST['login'])) //Если был POST-запрос с скрипту { //Авторизация //Проверка формы if(empty( $_POST['username'] ) || empty( $_POST['password'] ) ) { require ("$_SERVER[DOCUMENT_ROOT]/lib/head.inc"); echo "<center><p>Не все поля заполнены!</p></center>"; require ("$_SERVER[DOCUMENT_ROOT]/lib/end.inc"); }else{ //Если форма нормальная auth(); require ("$_SERVER[DOCUMENT_ROOT]/lib/head.inc"); echo "<center><p>Ты авторизован!</p></center>"; require ("$_SERVER[DOCUMENT_ROOT]/lib/end.inc"); } } //Конец скрипта ?> Файл functions.php: PHP: <?php include ("$_SERVER[DOCUMENT_ROOT]/lib/config.php"); function myhash( $user , $user_agent , $user_ip ) { return md5( $user ) . md5( $user_agent ) . md5( $user_ip ); } function get_ip() { if ($ip = getenv("HTTP_CLIENT_IP")) { return $ip; } if ($ip = getenv("HTTP_X_FORWARDED_FOR")) { if ($ip == '' || $ip == "unknown") { $ip = getenv("REMOTE_ADDR"); } return $ip; } if ( $ip = getenv("REMOTE_ADDR") ) { return $ip; } } function getmicrotime() { $mt = explode( " ", microtime() ); return ( (float)$mt[0] + (float)$mt[1] ); } function auth() { $result = mysql_query( "SELECT * FROM members WHERE rlogin = '" . $_POST['username'] . "' AND rpass = '" . $_POST['password'] . "'" ); if( mysql_num_rows( $result ) == 0 ) { echo "Вы не авторизованы!"; } $user = mysql_fetch_object( $result ); $tm = getmicrotime(); mysql_query( "INSERT INTO `auth_sessions` VALUES( " . $user -> id . " , " . time() . " , '" . myhash( $user -> name , $_SERVER['HTTP_USER_AGENT'] , get_ip() , $tm ) . "' )" ); setcookie( "time" , $tm , time() + 900 , "/" ); setcookie( "name" , $user -> name , time() + 900 , "/" ); } function check() { $result = mysql_query( "SELECT * FROM members WHERE rlogin = '" . $_COOKIE['name'] . "' " ); if( mysql_num_rows( $result ) == 0 ) { echo "Вы не авторизованы!"; } $user = mysql_fetch_object( $result ); $minutes = 15; $result = mysql_query( "SELECT * FROM auth_sessions WHERE member = " . $user -> id . " AND hash = '" . myhash( $user -> name , $_SERVER['HTTP_USER_AGENT'] , get_ip() , $_COOKIE['time'] ) . "' AND time > " . ( time() - ( $minutes * 60 ) ) . " LIMIT 1 " ); print mysql_error(); if( mysql_num_rows( $result ) == 0 ) { echo "Вы авторизованы!"; } if( isset( $_GET['quit'] ) ) { mysql_query( "DELETE FROM auth_session WHERE Id = " . $user -> id . " AND hash = '" . myhash( $user -> name , $_SERVER['HTTP_USER_AGENT'] , get_ip() , $_COOKIE['time'] ) . "'" ); setcookie( "time" , "" , 900 , "/" ); setcookie( "name" , "" , 900 , "/" ); return FALSE; } else { mysql_query( "UPDATE auth_session SET time = " . time() . " WHERE member = " . $user -> id . " AND hash = '" . myhash( $user -> name , $_SERVER['HTTP_USER_AGENT'] , get_ip() , $_COOKIE['time'] ) . "'" ); setcookie( "time" , $_COOKIE['time'] , time() + ( $minutes * 60 ) , "/" ); setcookie( "name" , $_COOKIE['id'] , time() + ( $minutes * 60 ) , "/" ); return TRUE; } } ?> Ошибка, постоянно появляется, независимо авторизовывался я или нет:
Переведите сообщение об ошибке на русский язык, возможно, воспользовавшись переводчиком. Это поможет Вам понять, в чем заключается проблема.