PHP - llamar a función de php desde AJAX

 
Vista:
Imágen de perfil de Jesús Manuel
Val: 8
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

llamar a función de php desde AJAX

Publicado por Jesús Manuel (6 intervenciones) el 27/09/2018 18:50:01
/*el detalle es que la funcion de mysqli donde actualizo, dentro de la función no se ejecuta y fuera de ella donde la mando a llamar si se realiza y funciona muy bien y realmente no se el motivo por el cual no se manda a llamar.
este es el codigo que es llamamado desde ajax pasando como parametro el nombre de la función y pues los datos del formulario y mi idea es actualizar unos datos.*/

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php
include("conexion.php");
 
function seccion_1($titulo_1, $parrafo_1, $titulo_2, $parrafo_2){
 
    if(isset($titulo_1) && isset($titulo_2) &&
    isset($parrafo_1) && isset($parrafo_2)) {
 
        $titulo1 = mysqli_real_escape_string($con,$titulo_1);
        $titulo2 = mysqli_real_escape_string($con,$titulo_2);
        $parrafo1 = mysqli_real_escape_string($con,$parrafo_1);
        $parrafo2 = mysqli_real_escape_string($con,$parrafo_2);
 
        if(mysqli_query($con,"UPDATE Pagina SET tituloUno = '$titulo1', parrafoUno = '$parrafo1', tituloDos = '$titulo2', parrafoDos = '$parrafo2' WHERE paginaID = 1")){
            return TRUE;
        }
        else{
            return FALSE;
        }
    }
    else{
        return FALSE;
    }
 
}
 
if(isset($_POST["funcion"])) {
        $funcion = mysqli_real_escape_string($con,$_POST["funcion"]);
        //En función del parámetro que nos llegue ejecutamos una función u otra
        switch($funcion) {
            case "seccionUno":
                if(seccion_1($_POST["titulo1"], $_POST["titulo2"], $_POST["parrafo1"], $_POST["parrafo2"])){
                    echo "1";
                }
                else {
                    echo " > Error actualizando: ". mysqli_error($con);
                }
                break;
 
        }
     mysqli_close($con);
 
}else{
    echo "Error definicios de datos";
}
 
 
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Jesús
Val: 8
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

llamar a función de php desde AJAX

Publicado por Jesús (6 intervenciones) el 27/09/2018 19:08:01
Alguien tiene una sugerencia??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauro
Val: 1.668
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

llamar a función de php desde AJAX

Publicado por Mauro (467 intervenciones) el 27/09/2018 20:20:44
¿Podrías publicar tu llamada AJAX?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Jesús Manuel
Val: 8
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

llamar a función de php desde AJAX

Publicado por Jesús Manuel (6 intervenciones) el 27/09/2018 20:35:22
si en un momento

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function udate_sec1(tituloUno, parrafoUno, tituloDos, parrafoDos){
    var dir = "include/actualizar.php";
    var titulo1 = tituloUno;
    var parrafo1 = parrafoUno;
    var titulo2 = tituloDos;
    var parrafo2 = parrafoDos;
   $.ajax({
        method: "post",
        url: dir,
        data: {titulo1: titulo1, titulo2: titulo2, parrafo1: parrafo1, parrafo2: parrafo2, funcion:"seccionUno"},
        beforeSend:function(data){
            $("#actualizar").val("Actualizando...");
        },
        success:function(data){
            $("#actualizar").val("Actualizar"+data);
           // $(location).attr("href","admin.php");
            if(data == "1"){
                $("#resultado").html('<br><div class="alert alert-dismissible alert-success"><button type="button" class="close" data-dismiss="alert" name="res" id="res">&times;</button><strong>¡Listo!</strong> Se ha actualizado con éxito.</div>');
 
            }else{
                $("#resultado").html('<br><div class="alert alert-dismissible alert-danger"><button type="button" class="close" data-dismiss="alert" name="res" id="res">&times;</button><strong>¡Error!</strong> Algo salio mal, intente nuevamente.</div>');
            }
 
        }
     });
 }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauro
Val: 1.668
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

llamar a función de php desde AJAX

Publicado por Mauro (467 intervenciones) el 28/09/2018 16:47:37
Gracias. Y ¿cuál es el problema que observas? ¿Te da algún error o qué ocurre?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jesús Manuel
Val: 8
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

llamar a función de php desde AJAX

Publicado por Jesús Manuel (6 intervenciones) el 28/09/2018 20:09:42
El problema es cuando quiero ejecutar el mysqli de update y este no se realiza, pues me regresa vacio y cuando esa función de mysqli esta en el switch si funciona correctamente, no se porque dentro de la función no se ejecuta correctamente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jesús
Val: 8
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

llamar a función de php desde AJAX

Publicado por Jesús (6 intervenciones) el 29/09/2018 17:55:48
Crees que se deba a algo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauro
Val: 1.668
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

llamar a función de php desde AJAX

Publicado por Mauro (467 intervenciones) el 29/09/2018 22:52:13
Seguramente :)... ahora veamos si entendemos a qué exactamente :p

Por lo que entiendo, la llamada debería estar devolviéndote un "1", " > Error actualizando: " o "Error definicios de datos".

Lo primero que te diría que hagas es "simular" la llamada AJAX usando cURL o alguna herramienta similar y ver qué resultado da.

Luego, te sugiero debuggear el código usando xdebug (Si necesitas ayuda sobre esto, acá hay un video de muestra).

Por último, te recomiendo manejar los errores mediante códigos HTTP. Por ejemplo, si la consulta falla, devolver un código 500, si el request está mal hecho (Le faltan parámetros por ejemplo), devolver un error 400, etc...

De esa forma puedes simplificar la llamada AJAX agregando un callback failure, dejando el success sólo para el caso en que todo haya ido bien.

El caso que veo que podría no hacer nada es que el parámetro "función" esté definido pero no sea "seccionUno"... por lo que veo en tu llamada AJAX no debería suceder, pero es algo a verificar con el debugger (Tal vez el real_escape está agregando algún caracter que hace que falle el switch...)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jesús
Val: 8
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

llamar a función de php desde AJAX

Publicado por Jesús (6 intervenciones) el 30/09/2018 00:46:16
Entiendo checare esto que me dice y si encuentro algo le informo gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar