Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Problema con xajax registerFunction()

Estas en el tema de Problema con xajax registerFunction() en el foro de Javascript en Foros del Web. Hola! Estoy haciendo un login de usuarios para mi panel de administración y para ello decidi usar xajax para no tener que actualizar toda la ...
  #1 (permalink)  
Antiguo 20/08/2014, 16:10
 
Fecha de Ingreso: agosto-2014
Mensajes: 10
Antigüedad: 10 años, 4 meses
Puntos: 0
Pregunta Problema con xajax registerFunction()

Hola!

Estoy haciendo un login de usuarios para mi panel de administración y para ello decidi usar xajax para no tener que actualizar toda la página constantemente.

Despues de muchos errores he llegado a uno que no hay manera de resolverlo , a ver si alguien me ilumina jeje.

aqui dejo el codigo de la funcion i el html:

Código PHP:
<?php 
    
require_once ($_SERVER['DOCUMENT_ROOT'].'/xajax/xajax_core/xajax.inc.php');
    
$xajax = new xajax(); 
 

    function 
procesar_formulario($form_entrada){
          
//creo el xajaxResponse para generar una salida
           
$respuesta = new xajaxResponse();
    
        
//variable error
        
$error_form 'Usuari o contrasenya incorrectes';
        
        
//validación
        
if(trim($form_entrada['nickname']) != '' && trim($form_entrada['password']) != '')
            {
            
$nickN $form_entrada['nickname'];
            
$passN $form_entrada['password'];
        
            include(
$_SERVER['DOCUMENT_ROOT'].'/functions/dbconect.php');

            
$result mysql_query('SELECT password FROM users WHERE uname="$nickN"');
            if(
$row mysql_fetch_array($result))
                {
                if(
$row['password'] == $passN)
                    {
                    
//90 dias dura la cookie
                    
setcookie('usNick',$nickN,time()+7776000);
                    
setcookie('usPass',$passN,time()+7776000);
                
                    
header ('Location: cp.php');
                
                    }
                else
                    {
                    
$respuesta->addAssign("error_formulario","innerHTML","$error_form");
                    }
                }
            else
                {
                
$respuesta->addAssign("error_formulario","innerHTML","$error_form");
                }
        
mysql_free_result($result);
        }
    else
    {
    
$respuesta->addAssign("error_formulario","innerHTML","$error_form");
    }
mysql_close();
return 
$respuesta;
}

$objAjax->registerFunction('procesar_formulario');
$objAjax->processRequest();
?>
Código PHP:
<?
include($_SERVER['DOCUMENT_ROOT'].'/functions/login.php');

?>
<!doctype html>
<html>
<head>
<!-- Responsive web Desing -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">



<!-- Links -->
<link type="text/css" rel="stylesheet" href="css/style.css"/>
<link type="text/css" rel="stylesheet" href="css/769px.css"/>
<link type="text/css" rel="stylesheet" href="css/481px.css"/>
<link type="text/css" rel="stylesheet" href="css/480px.css"/>

<meta charset="utf-8">
<title>Panell d'administració</title>

<?
$xajax
->printJavascript($_SERVER['DOCUMENT_ROOT'].'/xajax/');
?>

</head>

<body>

<h1 class="title_smartphone">PANELL D'ADMINISTRACIÓ</h1>
    <div class="login">
        <h1 class="title_all">PANELL D'ADMINISTRACIÓ</h1>
        <div>
            <form id="login">
            <div class="login_int">
                <label for="nickname"><span class="log">Nom d'usuari</span></label>
                <div class="left">
                    <input type="text" id="nickname" class="log"/>
                </div>
            </div>
            <div class="login_int">
                <label for="password"><span class="log">Contrasenya</span></label>
                <div class="left">
                    <input type="password" id="password" class="log"/>
                </div>
            </div>
            <div class="login_int">
                <input type="button" value="CONECTA" class="logb" onclick="xajax_procesar_formulario(xajax.getFormValues('login'))"/>
            </div>
            <div id="error_formulario">
                
            </div>
            </form>  
    </div>

</body>
</html>
No he simplificado nada, ya que el codigo en si es bastante simple.

Gracias de antemano!
  #2 (permalink)  
Antiguo 20/08/2014, 16:31
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 7 meses
Puntos: 528
Respuesta: Problema con xajax registerFunction()

¿Qeé versión de xajax usas? ¿te da algún mensaje de error tipo "the xajax Javascript component could not be included"?

Si el error está en tu función, xajax no te lo devolverá a menos que lo pongas en modo debug, por lo que te sugiero usar firebug con firefox para depurar las respuestas xajax.
  #3 (permalink)  
Antiguo 20/08/2014, 16:59
 
Fecha de Ingreso: agosto-2014
Mensajes: 10
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: Problema con xajax registerFunction()

Estoy usando la version 0.6 de xajax

El error que me da es el siguiente

Fatal error: Call to a member function registerFunction() on a non-object in /home/u496441114/public_html/functions/login.php on line 52

Ara voy a mirar lo que me has comentedo con el firebug
  #4 (permalink)  
Antiguo 20/08/2014, 17:58
 
Fecha de Ingreso: agosto-2014
Mensajes: 10
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: Problema con xajax registerFunction()

He solucionado el problema!

Despues de probar y probar he cambiado la version de xajax a la 0.5.

Tambien me di cuenta que tenia una linea mal al llamar al $objAjax

Tenia

Código PHP:
$Xajax = new xajax(); 
envez de

Código PHP:
$objAjax = new xajax(); 

Etiquetas: ajax-php-mysql, function, xajax
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:12.