Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Хаки Как сделать чтоб окно после авторизации показывалось только один раз

Как сделать чтоб окно после авторизации показывалось только один раз


     31.07.2012    Хаки    2857

вопрос
Привет всем smile

Решил поставить на сайт (инфо окно), т.е когда авторизуешься, то сверху сайта всплывает окно о том, что
"Вы успешно авторизованы на сайте", окно работает, но не совсем правильно, когда перезагружаешь страницу, то это окно снова всплывает, а хотелось бы чтобы только когда авторизовался тогда проинформировало и больше не всплывало, т.е только 1раз выходило окно

вот код который поместил в login.tpl

[not-group=5]
<script type="text/javascript">
$(function(){showinfo();});
function showinfo() { showinfopopup("<h2>Поздравляем</h2>", "Вы успешно авторизованы на сайте", "info"); }
</script>
[/not-group]


а вот код который поместил в main.js

showPopupInfoTimeout = null;
function showinfopopup(title,text,icon){
$("body").append('<div class="login-panel" id="logininfo" style="display:none;"><div class="bg"><div class="inner" style="height:55px; padding:5px;"><div style="width:40px; float:left; margin-top:6px;"><img src="'+dle_root+'templates/'+dle_skin+'/images/icon_'+icon+'.png" alt=""></div><div style="margin-left:40px;"><h2>'+title+'</h2>'+text+'</div></div></div></div>');
var x=($(window).width()-$("#logininfo").width())/2;
$("#logininfo").css('position','fixed').css('top','40px').css('left',x+'px');
$("#logininfo").fadeIn('fast').bind('click',function(){clearTimeout(showPopupInfoTimeout);$(this).fadeOut('normal',function(){$(this).remove();});});
clearTimeout(showPopupInfoTimeout);
showPopupInfoTimeout=setTimeout(function(){$("#logininfo").fadeOut('normal',function(){$(this).remove();});},5000);
}

Ответа пока нет


Комментарии пользователей (9)

nowheremany
192

1660 | 1292

nowheremany - 31 июля 2012 19:44 - Эксперт

sitelogin.php в помощь

Благодарность принимаю тут Связь

249893
5

174 | 73

249893 - 31 июля 2012 19:56 - Юзер

nowheremany,
а не подскажешь что именно нужно изменить?

pavel31
4

346 | 158

pavel31 - 1 августа 2012 15:55 - Юзер

Походу так:

if( !$is_logged = 1 ) {
    $ulogged = <<<HTML
    <script language="javascript" type="text/javascript">
        $(function(){showinfo();}); // Вызов функции showinfo();
        function showinfo() { // Функция показа сообщения
            showinfopopup("<h2>Поздравляем</h2>", "Вы успешно авторизованы на сайте", "info");
        }
    </script>
HTML;
echo $ulogged;
}

nowheremany
192

1660 | 1292

nowheremany - 1 августа 2012 15:57 - Эксперт

все равно будет всплывать

Благодарность принимаю тут Связь

pavel31
4

346 | 158

pavel31 - 1 августа 2012 16:08 - Юзер

nowheremany,

Так подскажите как будет правильно?

nowheremany
192

1660 | 1292

nowheremany - 1 августа 2012 16:32 - Эксперт

в sitelogin где строки $is_logged = TRUE; надо забовить сою переменную и там уже вывод делать как ты предложил

Благодарность принимаю тут Связь

pavel31
4

346 | 158

pavel31 - 1 августа 2012 17:24 - Юзер

Эта строка там 3 раза встречается, вот часть кода файла:


if( isset( $_POST['login'] ) AND $_POST['login_name'] AND $_POST['login_password'] AND $_POST['login'] == "submit" ) {

.........

$is_logged = TRUE;
}

elseif( isset( $_SESSION['dle_user_id'] ) AND  intval( $_SESSION['dle_user_id'] ) > 0 AND $_SESSION['dle_password'] ) {

.........

$is_logged = TRUE;
}

elseif( isset( $_COOKIE['dle_user_id'] ) AND intval( $_COOKIE['dle_user_id'] ) > 0 AND $_COOKIE['dle_password']) {

.........

$is_logged = TRUE;
}


Куда именно вставлять переменную??

nowheremany
192

1660 | 1292

nowheremany - 1 августа 2012 17:29 - Эксперт

в первый, ведь там проверяется, что чел зашёл именно кликнув по панели логина

Благодарность принимаю тут Связь

pavel31
4

346 | 158

pavel31 - 1 августа 2012 17:48 - Юзер

Тоесть вот так?

if( isset( $_POST['login'] ) AND $_POST['login_name'] AND $_POST['login_password'] AND $_POST['login'] == "submit" ) {
    $_POST['login_name'] = $db->safesql( $_POST['login_name'] );
    $_POST['login_password'] = @md5( $_POST['login_password'] );
    if ($config['login_log']) $allow_login = check_allow_login ($_IP, $config['login_log']);
    $allow_user = true;
    if ($config['auth_metod']) {
        if ( preg_match( "/[\||\'|\<|\>|\"|\!|\?|\$|\/|\\\|\&\~\*\+]/", $_POST['login_name']) ) $allow_user = false;
        $where_name = "email='{$_POST['login_name']}'";
    }
    else {
        if ( preg_match( "/[\||\'|\<|\>|\"|\!|\?|\$|\@|\/|\\\|\&\~\*\+]/", $_POST['login_name']) ) $allow_user = false;
        $where_name = "name='{$_POST['login_name']}'";
    }
    if( $allow_login AND $allow_user) {
        $member_id = $db->super_query( "SELECT * FROM " . USERPREFIX . "_users WHERE {$where_name} AND password='" . md5( $_POST['login_password'] ) . "'" );
        if( $member_id['user_id'] ) {
            if ( intval($_POST['login_not_save']) ) {
                set_cookie( "dle_user_id", "", 0 );
                set_cookie( "dle_password", "", 0 );
            }
            else {            
                set_cookie( "dle_user_id", $member_id['user_id'], 365 );
                set_cookie( "dle_password", $_POST['login_password'], 365 );
            }
            $_SESSION['dle_user_id'] = $member_id['user_id'];
            $_SESSION['dle_password'] = $_POST['login_password'];
            $_SESSION['member_lasttime'] = $member_id['lastdate'];
            $dle_login_hash = md5( $_SERVER['HTTP_HOST'] . $member_id['user_id'] . sha1($_POST['login_password']) . $config['key'] . date( "Ymd" ) );
            if( $config['log_hash'] ) {
                $salt = "abchefghjkmnpqrstuvwxyz0123456789";
                $hash = '';
                srand( ( double ) microtime() * 1000000 );
                for($i = 0; $i < 9; $i ++) {
                    $hash .= $salt{rand( 0, 33 )};
                }
                $hash = md5( $hash );
                $db->query( "UPDATE " . USERPREFIX . "_users set hash='" . $hash . "', lastdate='{$_TIME}', logged_ip='" . $_IP . "' WHERE user_id='{$member_id['user_id']}'" );
                set_cookie( "dle_hash", $hash, 365 );
                $_COOKIE['dle_hash'] = $hash;
                $member_id['hash'] = $hash;
            }
            else
                $db->query( "UPDATE LOW_PRIORITY " . USERPREFIX . "_users set lastdate='{$_TIME}', logged_ip='" . $_IP . "' WHERE user_id='{$member_id['user_id']}'" );

$ulogged = <<<HTML
    <script language="javascript" type="text/javascript">
        $(function(){showinfo();}); // Вызов функции showinfo();
        function showinfo() { // Функция показа сообщения
            showinfopopup("<h2>Поздравляем</h2>", "Вы успешно авторизованы на сайте", "info");
        }
    </script>
HTML;
echo $ulogged;
        $is_logged = TRUE;
        }
    }
}


Правильно?

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

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

 21.07.2013 Гость  Хаки