Foros del Web » Programando para Internet » PHP »

Error al enviar formulario con AJAX

Estas en el tema de Error al enviar formulario con AJAX en el foro de PHP en Foros del Web. ¿Qué tal comunidad? He estado haciendo unas pruebas, para extraer de la DB un resultado, y editarlo, pero la ejecución del query está mal. Para ...
  #1 (permalink)  
Antiguo 25/06/2014, 23:30
Avatar de Shikari  
Fecha de Ingreso: mayo-2012
Mensajes: 72
Antigüedad: 11 años, 11 meses
Puntos: 0
Error al enviar formulario con AJAX

¿Qué tal comunidad? He estado haciendo unas pruebas, para extraer de la DB un resultado, y editarlo, pero la ejecución del query está mal.

Para hacer la extracción de datos en el form, uso esto:

Código PHP:
include('../dbConn.inc.php');
include(
'../includes/functions.inc.php');
if (isset(
$_POST) && !empty($_POST)) {
    
$response = array(
        
'result'  => false,
        
'mensaje' => 'No fue posible ejecutar la petición',
        
'datos'   => ''
    
);
    if (
$errorDbConexion == false) {
        if (isset(
$_POST['accion'])) {
            if (
$_POST['accion']  == 'EditarUsuarios' && $_POST['id_user'] != '') {
                if (
$datosRegFuncion EditarUsuarios($mysqli$_POST['id_user'])) {
                    
$response['result'] = true;
                    
$response['datos']  = $datosRegFuncion;
                } else {
                    
$response['mensaje'] = 'Registro no encontrado';
                }

            } else {
                
$response['mensaje'] = "Accion no definida";
            }
        } else {
            
$response['mensaje'] = 'Variable Accion no declarada';
        }
    } else {
        
$response['mensaje'] = 'Error al conectar con la Base de Datos';
    }
    echo 
json_encode($response);
} else {
    echo 
'No se puede ejecutar el script';

Pero no sé en dónde ejecutar el query para que me haga la edición. Este es mi query:

Código PHP:
$query sprintf("UPDATE users SET name='%s', lastname='%s', rank='%s', admin='%s', status='%s', img='%s'
                                  WHERE id=%d LIMIT 1"
,
                                  
$_POST['editUserName'],
                                  
$_POST['editUserLastname'],
                                  
$_POST['editUserRank'],
                                  
$_POST['editUserAdmin'],
                                  
$_POST['editUserStat'],
                                  
$_POST['editUserImg']); 
He estado haciendo las pruebas de esta forma:

Código PHP:
<?php
include('../dbConn.inc.php');
include(
'../includes/functions.inc.php');
if (isset(
$_POST) && !empty($_POST)) {
    
$response = array(
        
'result'  => false,
        
'mensaje' => 'No fue posible ejecutar la petición',
        
'datos'   => ''
    
);
    if (
$errorDbConexion == false) {
        if (isset(
$_POST['accion'])) {
            if (
$_POST['accion']  == 'EditarUsuarios' && $_POST['id_user'] != '') {
                if (
$datosRegFuncion EditarUsuarios($mysqli$_POST['id_user'])) {
                    
$response['result'] = true;
                    
$response['datos']  = $datosRegFuncion;
                } else {
                    
$response['mensaje'] = 'Registro no encontrado';
                }
            } else {
                
$response['mensaje'] = "Accion no definida";
            }
        } else {
            
$response['mensaje'] = 'Variable Accion no declarada';
        }

        switch (
$_POST['accion']) {
            case 
'EditarUsuarios':
                
$query sprintf("UPDATE users SET name='%s', lastname='%s', rank='%s', admin='%s', status='%s', img='%s'
                                  WHERE id=%d LIMIT 1"
,
                                  
$_POST['editUserName'],
                                  
$_POST['editUserLastname'],
                                  
$_POST['editUserRank'],
                                  
$_POST['editUserAdmin'],
                                  
$_POST['editUserStat'],
                                  
$_POST['editUserImg']);

                
$ResultadoQuery $mysqli -> query($query);

                break;
            
            default:
                
$response['mensaje'] = "Esta accion no está disponible";
                break;
        }

    } else {
        
$response['mensaje'] = 'Error al conectar con la Base de Datos';
    }
    echo 
json_encode($response);
} else {
    echo 
'No se puede ejecutar el script';
}
¿Alguien que me auxilie un poco en qué estoy haciendo mal?

Saludos.
  #2 (permalink)  
Antiguo 26/06/2014, 06:20
Myl
 
Fecha de Ingreso: agosto-2011
Mensajes: 61
Antigüedad: 12 años, 8 meses
Puntos: 3
Respuesta: Error al enviar formulario con AJAX

Hola

Mira, por lo que veo y entiendo la edicion se realiza aqui:
Código PHP:
if ($datosRegFuncion EditarUsuarios($mysqli$_POST['id_user'])) { 
La query que muestras para realizar el update, deberia estar en la funcion con ese nombre.

Saludos.

Etiquetas: ajax, formulario, mysql, registro, sql, usuarios, variable
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 15:27.