¡Bienvenido a PHPost!

Para participar en el foro, descargar complementos y acceder al chat, es necesario tener una cuenta activa. Por favor, regístrate utilizando un correo electrónico válido para completar la activación.

Usamos BanaHosting para alojar tanto la demo oficial como este mismo foro de Risus Nova. Cumple todos los requisitos del script (PHP 8, mod_rewrite, SSL gratis) — si quieres usar el mismo hosting que nosotros, aquí tienes el enlace.

⚠️ Aviso de seguridad

Risus Nova solo se distribuye de forma segura y verificada a través de phpost.es. Hemos detectado copias modificadas en sitios de terceros que contienen código malicioso, backdoors y funciones ocultas diseñadas para el robo de credenciales y datos sensibles. No confíes en descargas provenientes de foros, canales de Telegram o webs externas; no podemos garantizar la integridad de esos archivos. Tu seguridad es nuestra prioridad: Descarga siempre la versión oficial desde el botón inferior para asegurar una instalación limpia y libre de amenazas.

🔄 Mantente actualizado

Al estar en desarrollo activo, recibe cambios constantes — échale un vistazo de vez en cuando al changelog y a las notas de administración para estar al día de qué ha cambiado.

Risus Nova 2.0 Estable En desarrollo activo Actualizado: 25/06/2026 - 14:30 h (Hora España) Desarrollo Tema: 75% (Ver notas de la versión) (Ver Demo) Descargar desde phpost.es

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

TUTORIAL Reduce la función login_ajax()
#1

5
Mejor respuesta del mensaje Reduce la función login_ajax()Bueno después de tanto tiempo de haberlo hecho quiero compartírselo, es un gran cambio para el js y así también reducir un poco más de código.

1 - En acciones.js buscamos la función mencionada en el título
 
function login_ajax(form, connect){
    var el = new Array(), params = '';
    if (form == 'registro-logueo' || form == 'logueo-form') {
        el['nick'] = $('.reg-login .login-panel #nickname');
        el['pass'] = $('.reg-login .login-panel #password');
        el['error'] = $('.reg-login .login-panel #login_error');
        el['cargando'] = $('.reg-login .login-panel #login_cargando');
        el['cuerpo'] = $('.reg-login .login-panel .login_cuerpo');
        el['button'] = $('.reg-login .login-panel input[type="submit"]');
    } else {
        el['nick'] = $('#login_box #nickname');
        el['pass'] = $('#login_box #password');
        el['error'] = $('#login_box #login_error');
        el['cargando'] = $('#login_box #login_cargando');
        el['cuerpo'] = $('#login_box .login_cuerpo');
        el['button'] = $('#login_box input[type="submit"]');
    }
    if (typeof connect != 'undefined') {
        params = 'connect=facebook';
    } else {
        if (empty($(el['nick']).val())) {
            $(el['nick']).focus();
            return;
        }
        if (empty($(el['pass']).val())) {
            $(el['pass']).focus();
            return;
        }
        $(el['error']).css('display', 'none');
        $(el['cargando']).css('display', 'block');
        $(el['button']).attr('disabled', 'disabled').addClass('disabled');
        var remember = ($('#rem').is(':checked')) ? 'true' : 'false';
        params = 'nick='+encodeURIComponent($(el['nick']).val())+'&pass='+encodeURIComponent($(el['pass']).val())+'&rem='+remember;
        if (form == 'logueo-form') {
            params += '&facebook=1';
        }
    }
    $('#loading').fadeIn(250);    
    $.ajax({
        type: 'post', url: global_data.url + '/login-user.php', cache: false, data: params,
        success: function (h) {
            switch(h.charAt(0)){
                case '0':
                    $(el['error']).html(h.substring(3)).show();
                    $(el['nick']).focus();
                    $(el['button']).removeAttr('disabled').removeClass('disabled');
                    break;
                case '1':
                    if (form != 'registro-logueo') {
                        close_login_box();
                    }
                    if (h.substring(3)=='Home') {
                        location.href='/';
                    } else if (h.substr(3) == 'Cuenta') {
                        location.href = '/cuenta/';
                    } else {
                        location.reload();
                    }
                    $('#loading').fadeOut(350);
                    break;
                case '2':
                    $(el['cuerpo']).css('text-align', 'center').css('line-height', '150%').html(h.substring(3));
                    break;
                case '3':
                    open_login_box();
                    mydialog.class_aux = 'registro';
                    mydialog.mask_close = false;
                    mydialog.close_button = true;
                    mydialog.show(true);
                    mydialog.title('Ingresar');
                    mydialog.body('<br /><br />', 305);
                    mydialog.buttons(false);
                    mydialog.procesando_inicio('Cargando...', 'Registro');
                    mydialog.center();
                    $.ajax({
                        type: 'POST',
                        url: global_data.url + '/login-form.php',
                        data: '',
                        success: function(h){
                            mydialog.procesando_fin();
                            switch(h.charAt(0)){
                                case '0':
                                    mydialog.alert('Error', h.substring(3));
                                    break;
                                case '1':
                                    mydialog.body(h.substring(3), 305);
                            }
                            mydialog.center();
                        }
                    });

            }
        },
        error: function() {
            $(el['error']).html(lang['error procesar']).show();
        },
        complete: function(){
            $(el['cargando']).css('display', 'none');
        }
    });
}

y la reemplazaremos por
 
login_ajax = () => {
    if( empty($("#nickname").val()) ) {
        $("#nickname").focus();return
    }
    if( empty($("#password").val()) ) {
        $("#password").focus();return
    }
    // Datos a enviar
    let dato = [
        'nick=' + encodeURIComponent($("#nickname").val()),
        'pass=' + encodeURIComponent($("#password").val()),
        'rem=' + $("#rem").is(':checked')
    ].join("&");
    // Imagen de cargando
    $(".login_cuerpo").append('<div id="login_cargando"><img src="'+global_data.img+'images/large-loading.gif" width="32" height="32" alt="Iniciando sesion"></div>');
    // Envio los datos
    $.post(global_data.url + "/login-user.php", dato, response => {
        switch (response.charAt(0)) {
            case '0':
                $("#login_error").html(response.substring(3)).show()
                $("#login_cargando").remove()
            break;
            // Iniciamos sesion
            case '1':
                setTimeout(() => (response.charAt(0) != '1' ? location.href = response.substring(3) : location.reload()), 1500)
            break;
        }
    })
    .fail(() => {
        $("#login_error").html('Error al procesar la petici&oacute;n')
        $("#login_cargando").remove()
    })
}

Listo, así de fácil...Puede ser que en el futuro lo mejore más...
Responder
#2

0
quedo super, muchas gracias
Responder


Compartir en:

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)