Лучший ответ

    1.  0 0

    Play-Boy (37) 7 (26949)52153 8 лет  

    Гугли  область видимости переменных . Если ты хранишь $loggedin где-то вне функции, то это надо задекларировать. По идее для этого надо использовать  сессии

    А еще у тебя код не защищен от sql-инъекций

Ответы

    1.  0 0

    hawketeer 6 (16332)41775 8 лет  

    $loggedin значит не появляется. вот оно и ходит по кругу.  

    стремный код какойто

    1.  1 1

    lame 6 (13580)3725 8 лет  


    function    autoLogin($hash){
        $res    =    mysql_query("SELECT * FROM `users` WHERE `login_hash` = '". $hash ."'");
        $row    =    mysql_fetch_assoc($res);
        if(!$loggedin){ // где объявляется эта переменная?
            $check    =    mysql_num_rows($res);
            if($check < 1){
                err_msg('unexpected error #1');
            }
            else{
                session_start();
                $_SESSION['d_user'] = $row['login'];
                if(!empty($_SERVER['HTTP_REFERER'])){
                    header('Location: '.$_SERVER['HTTP_REFERER']);
                }
                else{
                    header('Location: index.php');
                }
            }
        }
        else{
            null;
        }
    // нафиг тебе это вообще? если функция ничего не должна возвращать то убери это, в другом случае делай return null;
    }


    редирект вызывает header('Location: index.php'); , так как эта функция у тебя вызывается в index.php при отправке headera на его, функция вызывается повторно и так до бесконечности

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

Рейтинг@Mail.ru Top.LV PULS.LV Professional rating system