رفتن به مطلب

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


پست های پیشنهاد شده

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

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

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

مورد عجیب اما این هستش که تمام مواردی که عرض کردم روی سایت آنلاین بروز پیدا میکنه و روی نسخه لوکال که توسط 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
لینک به ارسال

لطفا برای ارسال دیدگاه وارد شوید

شما بعد از اینکه وارد حساب کاربری خود شدید می توانید دیدگاهی ارسال کنید



ورود به حساب کاربری
×
×
  • اضافه کردن...