PHP - No entra en el metodo

   
Vista:

No entra en el metodo

Publicado por Victor (193 intervenciones) el 23/10/2014 20:01:34
Buenas tardes.

De entrada solo puedo decir que estoy flipando y mucho ya que un metodo que he usado de cierta forma en todas las pares de una pagina ahora no funciona y la consola no protesta.
Esta es la llamada al metodo mediante javascript(como he dicho antes la forma funciona en todas partes menos aqui):
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<?php
require_once ("cuadricula.php");
require_once("includeBoxParque.php");
if($_GET["valor"]!=null)
{
    $valorEntrada= $_GET["valor"];
}
?>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <link rel="stylesheet" type="text/css" href="estilos.css"/>
    <script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
    <title>Box Parque</title>
    <script type="text/javascript">
 
        function guardar(id)
        {
            //Aqui entrar entra por el alert si aparece
            alert("Valor del ID antes de guardar=="+id);
            document.frmBoxParque.action="interiorBoxParque.php?accion=guardar&id="+id+"&valor="+id;
            document.frmBoxParque.submit();
            //this.reload();
        }
    </script>
</head>
 
Y esto es el contenido del fichero includeBoxParque.php que deberia realizar la accion:
<?php
require_once("conect bd.php");
require_once("cuadricula.php");
$id ="";
$accion="";
if($_POST)
{
    $id = $_GET['id'];
    $accion = $_GET['accion'];
}
 
 
//ACCION GUARDAR
if (($accion=="guardar")){
    echo"Dentro de guardar";
    //recuperamos campos del formulario
    $box_id = $id;
    $crotal = strip_tags(trim($_POST["crotal"]));
    $numFilas= strip_tags(trim($_POST["numFilas"]));
    $conexion=conectarBD();
 
    $boxes=getBoxAnimalesParque();
    $query="SELECT  `idBoxParque` FROM  `animalesparque` WHERE  `codBoxParque` ='".$box_id."'";
    $consulta = $conexion->query($query);
    $query="";
    $conta=0;
    echo "Antes del if de consulta";
    if(!$consulta)
    {
        echo "No a encontrado datos.";
        return 0;
    }else
    {
        $cantidad = $consulta->num_rows;
 
        while($fila = $consulta->fetch_array())
        {
            echo"Dentro del while";
            $conta++;
            array_push($boxes,$fila);
        }
        $result = array("cantidad"=>$cantidad,"boxes"=>$boxes);
        for($i=0;i<$cantidad;$i++)
        {
        echo"Dentro del for update";
        $query="UPDATE animalesparque SET
        crotal ='".$crotalMadre."',
        codBoxParque='".$box_id."'
        where codBoxPartos='".$result['boxes']['idBoxParque']."';";
 
            $consulta = $conexion->query($query);
            if(!$consulta)
            {
                echo "No a encontrado datos.";
            }else
            {
 
            }
        }
 
 
    }
    $_POST['valor']=$box_id;
    $conexion->close();
    header("Location: interiorBoxParque.php?valor=".$_POST['valor']);
}
?>

He puesto echo dentro de la accion guardar por que al principio pensaba que estaba haciendo algo mal dentro de guardar pero no es que nisiquiera entra.
NOTA:Dentro del fichero include si entra ya que los echo que puse en su momento al comienzo del fichero si sé veian por pantalla.

Estoy desesperado :(
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 ruben

No entra en el metodo

Publicado por ruben (25 intervenciones) el 24/10/2014 06:07:07
1.- if($_POST) // esto que se supone que valida? nunca lo he utilizado de esa manera


2.- ya checaste la query en phmyadmin ? o en el gestor de base de datos ?

ya que yo lo cambiaria por:

$query="SELECT idBoxParque FROM animalesparque WHERE codBoxParque = '.$box_id.' ; ' ;

3.- Cual es el utimo Echo que te imprime ?
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

No entra en el metodo

Publicado por Victor (193 intervenciones) el 24/10/2014 08:11:23
Buenos dias Ruben,gracias por responder.

El unico echo que imprime es echo "Dentro de include"(lo use para comprobar que entraba en el fichero pero se me olvidó ponerlo en el post).
De las consultas ya me preocuparé una vez que entre en el if (($accion=="guardar"))
Respecto a lo de cambiar la query(poniendole el ;) si lo haré.
Pero mi principal preocupacion es que entre en el if

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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php
require_once("conect bd.php");
require_once("cuadricula.php");
echo "Dentro de include";
$id ="";
$accion="";
if($_POST)
{
$id = $_GET['id'];
$accion = $_GET['accion'];
}
 
 
//ACCION GUARDAR
if (($accion=="guardar")){
echo"Dentro de guardar";
//recuperamos campos del formulario
$box_id = $id;
$crotal = strip_tags(trim($_POST["crotal"]));
$numFilas= strip_tags(trim($_POST["numFilas"]));
$conexion=conectarBD();
 
$boxes=getBoxAnimalesParque();
$query="SELECT `idBoxParque` FROM `animalesparque` WHERE `codBoxParque` ='".$box_id."'";
$consulta = $conexion->query($query);
$query="";
$conta=0;
echo "Antes del if de consulta";
if(!$consulta)
{
echo "No a encontrado datos.";
return 0;
}else
{
$cantidad = $consulta->num_rows;
 
while($fila = $consulta->fetch_array())
{
echo"Dentro del while";
$conta++;
array_push($boxes,$fila);
}
$result = array("cantidad"=>$cantidad,"boxes"=>$boxes);
for($i=0;i<$cantidad;$i++)
{
echo"Dentro del for update";
$query="UPDATE animalesparque SET
crotal ='".$crotalMadre."',
codBoxParque='".$box_id."'
where codBoxPartos='".$result['boxes']['idBoxParque']."';";
 
$consulta = $conexion->query($query);
if(!$consulta)
{
echo "No a encontrado datos.";
}else
{
 
}
}
 
 
}
$_POST['valor']=$box_id;
$conexion->close();
header("Location: interiorBoxParque.php?valor=".$_POST['valor']);
}
?>

Quedo a la espera de vuestras respuestas.

Saludos.
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 xve

No entra en el metodo

Publicado por xve (5513 intervenciones) el 24/10/2014 08:59:30
Hola Victor, yo creo que el problema lo tienes aquí...
1
2
3
4
5
if($_POST)
{
    $id = $_GET['id'];
    $accion = $_GET['accion'];
}

Indicas que si hay valores por POST, que coja los valores de GET¿?

No nos muestras el formularios, pero creo que tendría que ser algo así, no?
1
2
3
4
5
if($_POST)
{
    $id = $_POST['id'];
    $accion = $_POST['accion'];
}

Coméntanos, ok?
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

No entra en el metodo

Publicado por Victor (193 intervenciones) el 24/10/2014 09:23:57
No creo que el problema sea ese ya que hay mas de un metodo en el fichero includeBoxParque.php que si funcionan.
Para que sea mas facil encontrar la solucion pondré todo el codigo(como excede del umero de caracteres subo un fichero con el codigo) de los dos ficheros.

Quedo a la espera de vuestras respuestas,muchas gracias de antemano
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 xve

No entra en el metodo

Publicado por xve (5513 intervenciones) el 24/10/2014 10:31:24
Hola Victor, he visto tu formulario (<form>), y no envías nada por GET... prueba lo que te he comentado...
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

No entra en el metodo

Publicado por Victor (193 intervenciones) el 24/10/2014 10:35:21
Ok,lo pruebo y te comento.
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

No entra en el metodo

Publicado por Victor (193 intervenciones) el 24/10/2014 11:47:53
Buenas.

Acabo de probarlo y he puesto los dos el que tenia y el que me has puesto con sus respectivos echo
1
2
3
4
5
6
7
8
9
10
11
12
if($_POST)
{
    $id = $_GET['id'];
    $accion = $_GET['accion'];
    echo"Dentro del if de siempre";
}
if($_POST)
{
    $id = $_POST['id'];
    $accion = $_POST['accion'];
    echo "Dentro del if con $POST";
}

Hay ocasiones en los que si funcionan(ambos dos) mostrandose los 2 echo y otras en las que no.
Por tanto la solución es limpiar el codigo y ver que se está haciendo mal ya que por lo que veo tiene poco que ver con el hecho de que no entra en el if($accion="guardar").

Parece ser que hay cosas de las que depende esta accion que estan mal.
En cuanto lo arregle os comento que problema tenia por si ha alguien le pasa algo parecido.

Muchas gracias por vuestras respuestas
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

No entra en el metodo

Publicado por Victor (193 intervenciones) el 25/10/2014 11:34:35
Buenos dias.

Esto sigue sin funcionar y no creo que nadie esté dispuesto a hacer un tv para decirme donde está el fallo por tanto necesito debuguear EN SERIO.
Actualmente estoy utilizando jetbrains phpstorm 5.0.4 como SDK y la verdad debuguear es bastante complicado al menos para mi.
Traté,hace algún tiempo de bajarme el eclipse PHP(por que me dijeron que era mas sencillo para debuguear y ya había trabajado con el en java) pero se ve que me bajé una versión defectuosa o que hice algo mal por que no lo he conseguido arrancar.
Por tanto,algún pro del PHP puede recomendarme un SDK para PHP?

Espero sus respuestas,saludos.
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

No entra en el metodo

Publicado por Victor (193 intervenciones) el 28/10/2014 09:10:02
Buenos dias.

Como lo prometido es deuda,conseguí arreglar el problema que planteé en este hilo.
El problema por el cual no entraba en el post era por que los campos no tenian nombre

Codigo problematico:
1
2
3
<td>
        <input type='text' name="entradaParque$i" value="">
</td>

Codigo corregido:
1
2
3
<td>
       <input type="text" name="entradaParque<?php echo $i;?>" value="">
</td>


Seguramente esto no le sirva a nadie pero nunca se sabe.

Saludos.
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 xve

No entra en el metodo

Publicado por xve (5513 intervenciones) el 28/10/2014 11:06:44
Gracias por compartirlo Victor!!!
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