ariux

افزودن reload به اسکریپت ورود و ثبت نام ایجکس

2 پست در این موضوع قرار دارد

ارسال شده در (ویرایش شده)

سلام دوستان ، من با استفاده از این مقاله اقدام به تعبیه ورود و ثبت نام در سایتم کردم ، اما با مشکلی رو به رو شدم .

مشکل در واقع این هستش که فرم به خوبی کار میکنه و کاربر ورود ؛ و یا ثبت نام رو انجام میده اما صفحه به صورت اتوماتیک ری لود / ری فرش نمیشه تا اطلاعات کاربر لاگین شده رو نمایش بده .

البته بعد از ری فرش صفحه توسط بروزر اطلاعات کاربر نمایش داده میشه اما مشکل همینجاست که ری لود باید اتوماتیک انجام بشه و نه توسط کاربر . 

مورد عجیب اما این هستش که تمام مواردی که عرض کردم روی سایت آنلاین بروز پیدا میکنه و روی نسخه لوکال که توسط wamp ایجاد شده ، تمام موارد بدون کوچکترین مشکلی کار میکنند و جواب میدهند .

این کدهایی هستش که بنده کمی شخصی سازیشون کردم اینجا قرار میدم ، امیدوارم دوستی بتونه کمک بکنه 

 

function auth_user_login($user_login, $password, $login)
{
    $info = array();
    $info['user_login'] = $user_login;
    $info['user_password'] = $password;
    $info['remember'] = (isset( $_POST['rememberme'] ) && true == $_POST['rememberme'] ? true : false);

    $userdata = get_user_by('login', $info['user_login']);
    $result = wp_check_password($info['user_password'], $userdata->data->user_pass, $userdata->data->ID);

    if ( $result ) {

        auto_login( $userdata );
        echo json_encode(array('loggedin'=>true, 'message'=>__('ورود موفقیت امیز بود ، در حال بارگذاری')));

    } else {

        echo json_encode(array('loggedin'=>false, 'message'=>__(' اطلاعات وارد شده نادرست می باشد! ')));

    }

    die();

}

function auto_login( $user ) {

    if ( !is_user_logged_in() ) {

        $user_id = $user->data->ID;
        $user_login = $user->data->user_login;

        wp_set_current_user( $user_id, $user_login );
        wp_set_auth_cookie( $user_id );

    } 
}

 

jQuery(document).ready(function ($) {
    // Display form from link inside a popup
    $('#pop_login, #pop_signup').on('click', function (e) {
        formToFadeOut = $('form#register');
        formtoFadeIn = $('form#login');
        if ($(this).attr('id') == 'pop_signup') {
            formToFadeOut = $('form#login');
            formtoFadeIn = $('form#register');
        }
        formToFadeOut.fadeOut(100, function () {
            formtoFadeIn.fadeIn();
        })
        return false;
    });

    // Display lost password form
    $('#pop_forgot').click(function(){
        formToFadeOut = $('form#login');
        formtoFadeIn = $('form#forgot_password');
        formToFadeOut.fadeOut(100, function () {
            formtoFadeIn.fadeIn();
        })
        return false;
    });

    // Close popup
    $(document).on('click', '.close-any, .close', function () {
        $('form#login, form#register, form#forgot_password').fadeOut(100, function () {
            $('.close-any').remove();
        });
        return false;
    });

    // Show the login/signup popup on click
    $('#show_login, #show_signup').on('click', function (e) {
        $('[canvas]').prepend('<div class="close-any"></div>');
        if ($(this).attr('id') == 'show_login')
            $('form#login').fadeIn(100);
        else
            $('form#register').fadeIn(100);
        e.preventDefault();
    });

    // Perform AJAX login/register on form submit
    $('form#login, form#register').on('submit', function (e) {
        if (!$(this).valid()) return false;
        $('p.status', this).show().text(auth_script_object.loadingmessage);
        action = 'ajaxlogin';
        username = $('form#login #username').val();
        firstName = '';
        lastName = '';
        rememberme = '';
        email = '';
        password = $('form#login #password').val();
        security = $('form#login #security').val();
        if ($(this).attr('id') == 'register') {
            action = 'ajaxregister';
            username = $('#signonname').val();
            firstName = $('#signonfirstname').val();
            lastName = $('#signonlastname').val();
            password = $('#signonpassword').val();
            email = $('#email').val();
            security = $('#signonsecurity').val();
        }
        ctrl = $(this);
        $.ajax({
            type: 'POST',
            dataType: 'json',
            url: auth_script_object.ajaxurl,
            data: {
                'action': action,
                'username': username,
                'password': password,
                'email': email,
                'firstName': firstName,
                'lastName': lastName,
                'security': security
            },
            success: function (data) {
                $('p.status', ctrl).text(data.message);
                if (data.loggedin == true) {
                    document.location.href = auth_script_object.redirecturl;
                    window.location.reload(true);
                }
            }
        });
        e.preventDefault();
    });

    // Perform AJAX forget password on form submit
    $('form#forgot_password').on('submit', function (e) {
        if (!$(this).valid()) return false;
        $('p.status', this).show().text(auth_script_object.loadingmessage);
        ctrl = $(this);
        $.ajax({
            type: 'POST',
            dataType: 'json',
            url: auth_script_object.ajaxurl,
            data: {
                'action': 'ajaxforgotpassword',
                'user_login': $('#user_login').val(),
                'security': $('#forgotsecurity').val(),
            },
            success: function (data) {
                $('p.status', ctrl).text(data.message);
            }
        });
        e.preventDefault();
        return false;
    });

    // Client side form validation
    if ($("#register").length)
        $("#register").validate(
            {
                rules: {
                    password2: {
                        equalTo: '#signonpassword'
                    }
                }
            }
        );
    else if ($("#login").length)
        $("#login").validate();
    if ($('#forgot_password').length)
        $('#forgot_password').validate();
});

 

ممنون از شما

ویرایش شده در توسط ariux
0

به اشتراک گذاری این پست


لینک به پست

دوستان کد مشکلی نداشت ، مشکل از کش وبسایت من بود که با نصب افزونه w3 total cache حل شد .

0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط amir33
      من بعد از فعال کردن هدر و فوتر ساخته شده با المنتور کلا رنگ بندی سایتم بهم میخوره و دیگ نمیتونم درستش کنم . سایتمو قبلا با ویژوال کامپوزر درست کردم تو بعضی از قسمت ها هم عکسایی که گذاشتم با ویژوال کامپوزر لود نمیشه.هر رنگ بندی جدیدی هم که توی قالبم تنظیم میکنم روی سایت اعمال نمیشه . اون تیکی که توی تنظیمات المنتور هست که رنگ هارو از پوسته بگیره رو هم زدم  ولی باز درست نشد.بادی سایت کلا سفید میشه و دیگ نمیشه رنگش رو عوض کردم مگر اینکه هدر و فوتر سایت رو عوض کنیم ینی بزارم روی هدر و فوتری که با قالب ساختم نه با المنتور.
      ممنون میشم اگر کسی میدونه در این مورد من رو راهنمایی کنه بدجوری به مشکل خوردم . قالب سایتم زفایر هست .
    • توسط yamonil
      سلام به همگی 
      یه شرکت از قبل crm خریده و الان میخوام سایت وردپرسی براشون راه اندازی کنم که وصل بشه به اون crm و خرید محصولات  و بقیه روالش با اون crm انجام بشه. به انبار وصل بشه و محصولات در سایت نمایش داده بشه اما روال خریدش به اون crm وصل بشه .
      ممنون می شم راهنماییم کنید
    • توسط armin19901369
       با سلام و احترام
      یک وبسایت بر مبنای وردپرس دارم. پروژه در رابطه با ارتقا افزونه های وردپرسی هست و شامل دو قسمت زیر هست:
      ۱-در وبسایت از سیستم امتیازدهی با افزونه mycred رو دارم. هوک های پیش فرض افزونه شامل گراویتی فرم هست و بر مبنای پر کردن هر فرم به کاربر امتیاز میده.
      بعد از پر کردن فرم ها با استفاده از افزونه گراویتی فلو روندهایی برای فرم ها انجام میشه. می خوام یه هوک توی mycred تعریف بشه که در صورتی که یک روند برای فرم انجام شد به کاربر امتیاز بده. یعنی یه هوک برای گراویتی فلو تو mycred تعریف بشه.
      ۲-. افزونه mycred برای referal هایی که منجر به ثبت نام کاربر بشه به کاربر ارجاع دهنده امتیاز میده. این در صورتی کار می کنه که از ثبت نام پیش فرض وردپرس استفاده بشه.ثبت نام در حال حاضر از طریق افزونه digits و با استفاده از شماره موبایل انجام میشه
      می خوام با ثبت نام کاربر از طریق digits هم امتیاز ارجاع داده بشه.
      ممنون میشم هزینه و زمان رو برای انجام هر قسمت پروژه بفرمایید.
    • توسط soshiant
      درود دوستان
       
      من زمانی که پست ها رو زمان بندی میکنم، گاهی بعضی از پست ها در زمان تعیین شده ارسال نمیشه و وقتی به «نوشته» رجوع میکنم جلوی پست نوشته «زمان از دست رفته».
      ضمنا در بخش سلامت سایت هم یه همچین اروری وجود داره که احتمالا مرتبط با همین اشکال هست:
      «The scheduled event, daily_clean_database, is late to run. Your site still works, but this may indicate that scheduling posts or automated updates may not work as intended.»
       
      میدونید مشکل چیه و چطور باید رفعش کنم؟
      سپاس