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

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


لینک به پست

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط msprogrammer
      سلام دوستان، من یه منو دیدم توی سایت که با asp.net نوشته شده. امکانش هست کسی کمک کنه که چطور باید این منو رو برای وردپرس پیاده سازی کنم؟
      تا جایی که میدونم باید برای این منو از walker استفاده کرد اگر اشتباه نکنم.
      منبعی برای آموزش walker برای وردپرس دارین؟
      نمیدونم میتونم آدرس سایت رو لینک کنم یا نه بنابراین اسمش رو مینویسم: سایت didital
      ( didital . net )منو که در حالت ویندوز داره رو میخوام. ممنونم
    • توسط noorian
      سلام دوستان
      من درحال طراحی یک افزونه هستم ، و افزونه با فایل استایل با پسوند css سازگار نیست (style.css) پس مجبور شدم فایل استایل رو با پسوند php ایجاد کرده و در فایل اصلی افزونه فراخوانی کنم (include style.php)
       
      اما وقتی افزونه رو نصب میکنم ارور زیر رو میده :
      این افزونه 2405 حرف از خروجی غیرمنتظره در طول فعال‌سازی تولید کرد. اگر پیام اخطار “headers already sent” ، مشکلات مربوط به خوراک‌های پیوند یا مسائل دیگر را دریافت کردید، این افزونه را غیرفعال یا حذف کنید.
      چطوری این مشکل رو رفع کنم؟

    • توسط robeka
      سلام دوستان.بیشتر وقتا وردپرس ایمیل میزنه وردپرس سایت شما مشکل داره مال چی میتونه باشه؟ کسی به این موضوع برخورده یا نه؟
    • توسط htrwd
      سلام کاری که من می خوام انجام بدم هاست سی پنل دارم که وردپرس روش هاست دانلود دایرکت ادمین دارم که هم ساب دامین ساختم روش هم اکانت اف تی پی ساب دامین که رو هاست دانلود از طریق A recorde وصل کردم به هاست وردپرسم     حالا می خوام وقتی فایلی رو پیوست اتچ یا کلا آپلود می کنم مستقیم بره تو پوشه مشخص شده در هاست دانلودم   یعنی نمی خوام دیگه فایلهایی آپلودی که از سایت انجام می دم داخل هاست وردپرسم باشند در ضمن خیلی جستجو کردم ولی فعلا موفقیت آمیز نبوده ممنون  
    • توسط pasha
      سلام و وقت همگی به خیر
      من جدیدا با ی مشکلی مواجه شدم که وقتی یک صفحه رو آپدیت می کنم به جای بروز رسانی به صفحه ای که اتچ می کنم ریدایرکت میشه .
      ممنون میشم منو راهنمایی بکنید.