رفتن به مطلب
ariux

افزودن 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

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


لینک به ارسال

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

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


لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


  • مطالب مشابه

    • توسط sakineh
      سلام
      من می خوام تو سایت وقتی کسی ثبت نام کرد به انتخاب خودش وارد یک دسته بشه یا یک دسته جدید درست کنه و ظرفیت هر دسته هم متفاوت باشه افزونه هست که این کارو انجام بده
    • توسط amzzm75
      با سلام
      یکی از مشتریای من میخواد کل محصولات وب سایت دیجیکالا رو داخل سایت خودش کپی کنه (در واقع میخواد با سیستم همکاری در فروش دیجیکالا کار کنه)
      من داخل سایتش به یه مشکل خوردم
      یه افزونه دارم که محصولات کپی میکنه اولش هاست داشت و فضای هاستش پر شد گفتم بره سرور مجازی بگیره و ولی الان پردازشگر سرور مجازی توان نداره کپی کنه و با مشکل روبرو شده از طرفی نمیخواد اول کار خیلی هزینه کنه
      البته افزونه یه تنظیم داره که اگه عکس محصولات از خود دیجیکالا لود بشه دیگه راحت کپی میشه و مشکل پیش نمیاد
      ولی فکر میکنم به لحاظ سئو ضعف حساب میشه (برای همینم گفتم سرور بگیره که عکسا هم روی سایت خودش باشه)
      من بهش پیشنهاد دادم از سرور مجازی بیاد بیرون و با همون هاست اولیه و هاست دانلود کار کنه به طوریکه هاست دانلود بشه ساب دومین دامنه اصلی که برای سئو هم مشکلی ایجاد نشه ولی فکر نکنم شدنی باشه و فکر کنم هاست دانلود به یه دامنه جدا باید وصل بشه (من با هاست دانلود کار نکردم)
      میخواستم بدونم پیشنهاد شما چیه
      باتشکر
    • توسط armin1387
      سلام
      من وردپرسم رو روی هاست گیفگا ریختم. ولی وقتی می خوام وارد پوشه وردپرس بشم همچین خطای میده. 
      آدرس سایت : http://arnam.gigfa.com/wordpress/
      عکس خطا : 
       
    • توسط miladmoqaddam823
      دوستان سلام. 
      چطوری میتونم به انتهای صفحات کتگوری و برچسب ها، متن و توضیحات اضافه کنم؟
      به خیلی از فروشنده های قالب های وردپرس پیام دادم، هیچ کدوم این قابلیت رو ندارن
      حالا الان میخوام با وودمارت کار کنم، اما نتونستم راه حلی پیدا کنم برای این موضوع.
      بعضی قالب ها این امکان رو دارن، اما بالای صفحه نمایش میده، در حالیکه من میخوام انتهای صفحه و زیر محصولات باشه این توضیحات.
    • توسط vahidmontazeri
      دوستان سلام وقتتون بخیر.
      قصد دارم یه سایت وردپرسی بصورت VIP راه اندازی کنم بصورت فروشگاهی.
      به این صورته که کاربرا بعد از خرید اشتراک میتونن لینک دانلود رو مشاهده کنند. لینک دانلود فقط باید به کاربرای وی ای پی که لاگین شدن نمایش داده بشه.
      مسئله مهمتر اینه که اگر لینک دانلود بصورت یکتا بود و کاربرا خواستن لینک دانلود رو به دیگران بدن یا پخش کنن، کاربرای دیگه اجازه دانلود فایل رو نداشته باشن. خیلی دنبال همچین پلاگینی گشتم نبود. یعنی فقط محتوا رو مخفی میکرد اما چیزی برای محدود کردن لینک دانلود پیدا نکردم.
      از دوستانی که راه حلی دارن ممنون میشم راهنمایی کنن.
×
×
  • اضافه کردن...