Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Layla123 en 13 Noviembre 2014, 07:31 am



Título: Notice: Undefined index: id_inv in
Publicado por: Layla123 en 13 Noviembre 2014, 07:31 am
Código
  1. <?php
  2.  
  3. $id=$_GET['id_inv'];
  4.  
  5. $consulta2=mysql_query("SELECT * FROM investigador where  id_inv='$id' '');
  6. while($row=mysql_fetch_object($consulta2)){
  7. echo''.$row['nombre'].'&nbsp&nbsp'.$row['ape_pat'].'&nbsp&nbsp'.$row['ape_mat'].' <br/>';
  8. }
  9. ?>

el error que me marca es el siguiente: la linea 112 tiene este codigo:

$id=$_GET['id_inv'];

Código
  1.  
  2. Notice: Undefined index: id_inv in C:\wamp\www\proyecto_redhistal\investigadores.php on line 112    


Título: Re: Notice: Undefined index: id_inv in
Publicado por: Shell Root en 13 Noviembre 2014, 13:16 pm
Es porque aun no se ha enviado un parametro, si mal no recuerdo debes de ponerlo así,
Código
  1. <?php
  2.   if(isset($_GET)){
  3.      $id = $_GET['id_inv'];
  4.   }else{
  5.      $id = 0;
  6.   }
  7.  
  8.    $consulta2 = mysql_query("SELECT * FROM investigador WHERE id_inv = '$id'");
  9.  
  10.    while($row = mysql_fetch_object($consulta2)){
  11.       echo $row['nombre'].'&nbsp&nbsp'.$row['ape_pat'].'&nbsp&nbsp'.$row['ape_mat'].' <br/>';
  12.    }
  13. ?>


Título: Re: Notice: Undefined index: id_inv in
Publicado por: #!drvy en 13 Noviembre 2014, 13:25 pm
Siempre debes comprobar si realmente tiene valor la variable que intentas obtener.

Código
  1. $id = ((isset($_GET['id_inv']) && strlen($_GET['id_inv'])>0) ? $_GET['id_inv'] : 0);

Resumen:

Si $_GET['id_inv'] esta declarado y contiene uno o más caracteres, $id obtiene el valor de $_GET['id_inv']. En caso contrario, $id es 0.


PD: La razón de usar strlen ademas de isset es que este ultimo solo comprueba si esta declarada y no le importa el valor que tenga (aunque sea nulo).

Saludos


Título: Re: Notice: Undefined index: id_inv in
Publicado por: Shell Root en 13 Noviembre 2014, 17:47 pm
Probaste el código que te dejo @#!drvy?


Título: Re: Notice: Undefined index: id_inv in
Publicado por: Layla123 en 13 Noviembre 2014, 17:55 pm
Si lo probe, no me muestra ningun error , pero tampoco me muestra la informacion de un solo investigador. :(




Formulario 1

Código
  1. <?php
  2.        //codigo para mandar a traer todos los nombres de los investigadores que estan almacenados en la base de datos.
  3.  
  4. $consulta = mysql_query("SELECT *FROM investigador");
  5.  
  6. echo '<div style="border:2px solid  Black;
  7.            background : white;
  8.            color : skyblue;
  9.            padding : 4px;
  10.            width : 300px;
  11.            height : 100px;
  12.            overflow : auto; ">';
  13. while ($row= mysql_fetch_array($consulta)){
  14.  
  15. echo'<a href="investigadores.php?a=<?php echo'.$row['id_inv'].'?>">'.$row['nombre'].'&nbsp&nbsp'.$row['ape_pat'].'&nbsp&nbsp'.$row['ape_mat'].' <br/> </a>';
  16. }echo'</div>';
  17.  
  18.  
  19. ?>


Formulario 2

Código
  1. <?php
  2. // Formulario2 :codigo para mandar a traer todos datos de un solo investigador al momento que se le de click en el formulario 1(muestra todos los investigadores que estan almacenados en la base de datos).
  3. //id_inv='".$_GET['id_inv']."'"
  4.  
  5. $id = ((isset($_GET['id_inv']) && strlen($_GET['id_inv'])>0) ? $_GET['id_inv'] : 0);
  6.  
  7.  
  8. $consulta2=mysql_query("SELECT * FROM investigador where  id_inv='$id'");
  9. while($row=mysql_fetch_array($consulta2)){
  10.            echo''.$row['ruta_img'].'';
  11. echo''.$row['nombre'].'&nbsp&nbsp'.$row['ape_pat'].'&nbsp&nbsp'.$row['ape_mat'].' <br/>';
  12. echo''.$row['inst'].'';
  13. echo''.$row['pag_per'].'';
  14. echo''.$row['direccion'].'';
  15. }
  16. ?>

Mod: No hacer doble post.


Título: Re: Notice: Undefined index: id_inv in
Publicado por: Shell Root en 13 Noviembre 2014, 18:08 pm
Código
  1. $id = ((isset($_GET['id_inv']) && strlen($_GET['id_inv'])>0) ? $_GET['id_inv'] : 0);
  2. $consulta2 = mysql_query("SELECT * FROM investigador WHERE id_inv='$id'");
  3.  
  4. echo "<div style='border:1px solid #000;'>SQL: ".$consulta2."</div>";
  5.  
  6. while($row=mysql_fetch_array($consulta2))
  7. {
  8.   echo $row['ruta_img']."<br/>";
  9.   echo $row['nombre'].'&nbsp&nbsp'.$row['ape_pat'].'&nbsp&nbsp'.$row['ape_mat']."<br/>";
  10.   echo $row['inst']."<br/>";
  11.   echo $row['pag_per']."<br/>";
  12.   echo $row['direccion']."<br/>";
  13. }

Con esto ejecutas normalmente, te mostrara la string del sql y lo verificas que no tenga basura y directamente desde el motor de bases de datos y ver que resultado te da!


Título: Re: Notice: Undefined index: id_inv in
Publicado por: Layla123 en 13 Noviembre 2014, 18:12 pm
Esto me muestra en el formulario 2, ayuda porfis. :-(

Código
  1. SQL: Resource id #6


Título: Re: Notice: Undefined index: id_inv in
Publicado por: Shell Root en 13 Noviembre 2014, 19:26 pm
Coño tienes razon, es una mysql_query jajaja necesitaba sólo la string, entonces haz lo siguiente:
Modifica esto
Código
  1. echo "<div style='border:1px solid #000;'>SQL: ".$consulta2."</div>";
por
Código
  1. echo "<div style='border:1px solid #000;'>SQL: SELECT * FROM investigador WHERE id_inv='$id';</div>";


Título: Re: Notice: Undefined index: id_inv in
Publicado por: Layla123 en 13 Noviembre 2014, 19:31 pm
Ya lo hice y me muestra lo siguiente en el formulario 2.


Código
  1. SQL: SELECT * FROM investigador WHERE id_inv='0'


Título: Re: Notice: Undefined index: id_inv in
Publicado por: Hadess_inf en 13 Noviembre 2014, 19:45 pm
Código
  1. echo'<a href="investigadores.php?[b]a[/b]=<?php echo'.$row['id_inv'].'?>">'.$row['nombre'].'&nbsp&nbsp'.$row['ape_pat'].'&nbsp&nbsp'.$row['ape_mat'].' <br/> </a>';
  2. }echo'</div>';

¿ no deberia ser ?

Código
  1. echo'<a href="investigadores.php?[b]id_inv[/b]=<?php echo'.$row['id_inv'].'?>">'.$row['nombre'].'&nbsp&nbsp'.$row['ape_pat'].'&nbsp&nbsp'.$row['ape_mat'].' <br/> </a>';
  2. }echo'</div>';


Título: Re: Notice: Undefined index: id_inv in
Publicado por: Layla123 en 13 Noviembre 2014, 19:50 pm
Me sigue mostrando lo mismo. :-[

Código
  1. SQL: SELECT * FROM investigador WHERE id_inv='0'


Título: Re: Notice: Undefined index: id_inv in
Publicado por: Hadess_inf en 13 Noviembre 2014, 19:53 pm
Haber:

En tu pagina 1:

Código
  1. while ($row = mysql_fetch_array($consulta))
  2. {
  3.    print_r($row);
  4.    echo "<br><br>";
  5. }

Y nos dices que te muestra.


Título: Re: Notice: Undefined index: id_inv in
Publicado por: Shell Root en 13 Noviembre 2014, 19:58 pm
No debe de mostrar nada ya que el id es 0, o por lo menos eso es lo que se muestra en la query


Título: Re: Notice: Undefined index: id_inv in
Publicado por: T. Collins en 13 Noviembre 2014, 20:02 pm
No se por qué me da que no está pasando el parametro en la url.
URL/investigadores.php?id_inv=ID


Título: Re: Notice: Undefined index: id_inv in
Publicado por: Hadess_inf en 13 Noviembre 2014, 20:03 pm
Podrias tambien mandar el valor para probar:

echo'<a href="investigadores.php?id_inv=1">'.$row['nombre'].'&nbsp&nbsp'.$row['ape_pat'].'&nbsp&nbsp'.$row['ape_mat'].' <br/> </a>';

Si la pagina 2 recibe el valor 1, significa que tu error esta en la consulta de la pagina 1


Título: Re: Notice: Undefined index: id_inv in
Publicado por: Layla123 en 13 Noviembre 2014, 20:08 pm
Eso me muestra en el formulario 1 y en el formulario dos sigue apareciendo lo mismo(SQL: SELECT * FROM investigador WHERE id_inv='0')



Código
  1. Array ( [0] => 2 [id_inv] => 2 [1] => Luis [nombre] => Luis [2] => villasenor [ape_pat] => villasenor [3] => Pineda [ape_mat] => Pineda [4] => INAOE [inst] => INAOE [5] => http://ccc.inaoep.mx/~villasen [pag_per] => http://ccc.inaoep.mx/~villasen [6] => [ruta_img] => [7] => 2 [id_usuario] => 2 [8] => zapote [direccion] => zapote )
  2.  
  3. Array ( [0] => 3 [id_inv] => 3 [1] => Juana [nombre] => Juana [2] => Contreras [ape_pat] => Contreras [3] => Pelaez [ape_mat] => Pelaez [4] => ITP [inst] => ITP [5] => www.facebook.com [pag_per] => www.facebook.com [6] => [ruta_img] => [7] => 1 [id_usuario] => 1 [8] => 13 oriente zapote blanco [direccion] => 13 oriente zapote blanco )
  4.  
  5. Array ( [0] => 4 [id_inv] => 4 [1] => Carla [nombre] => Carla [2] => Rojas [ape_pat] => Rojas [3] => Pealez [ape_mat] => Pealez [4] => BUAP [inst] => BUAP [5] => www.facebook.com [pag_per] => www.facebook.com [6] => [ruta_img] => [7] => 1 [id_usuario] => 1 [8] => erdvthb [direccion] => erdvthb )
  6.  
  7. Array ( [0] => 5 [id_inv] => 5 [1] => Pablo [nombre] => Pablo [2] => Cruz [ape_pat] => Cruz [3] => Olivera [ape_mat] => Olivera [4] => UNCO [inst] => UNCO [5] => www.facebook.com [pag_per] => www.facebook.com [6] => [ruta_img] => [7] => 1 [id_usuario] => 1 [8] => xx [direccion] => xx )
  8.  
  9. Array ( [0] => 7 [id_inv] => 7 [1] => Juana [nombre] => Juana [2] => Peralta [ape_pat] => Peralta [3] => Luna [ape_mat] => Luna [4] => ITP [inst] => ITP [5] => www.facebook.com [pag_per] => www.facebook.com [6] => [ruta_img] => [7] => 2 [id_usuario] => 2 [8] => colonia centro, zapote blanco [direccion] => colonia centro, zapote blanco )


Título: Re: Notice: Undefined index: id_inv in
Publicado por: Layla123 en 13 Noviembre 2014, 20:16 pm
T. Collins
eso mismo pienso yo, que no esta pasando de la url.

Código
  1.  


Título: Re: Notice: Undefined index: id_inv in
Publicado por: Hadess_inf en 13 Noviembre 2014, 20:17 pm
Esta así:

Código
  1. <?php
  2.  
  3. echo'<a href="investigadores.php?id_inv=<?php echo'.$row['id_inv'].'?>">'.$row['nombre'].'&nbsp&nbsp'.$row['ape_pat'].'&nbsp&nbsp'.$row['ape_mat'].' <br/> </a>';
  4.  
  5. ?>

¿No debería ser así?

Código
  1. <?php
  2.  
  3. echo "<a href='investigadores.php?id_inv=".$row['id_inv']."'>" . $row['nombre'] . "</a>";
  4.  
  5. ?>

Están de mas los echo puesto que ya estas imprimiendo con el primer "echo".

Nos cuentas como te fue.


Título: Re: Notice: Undefined index: id_inv in
Publicado por: T. Collins en 13 Noviembre 2014, 20:20 pm
Ahora sí no?


Título: Re: Notice: Undefined index: id_inv in
Publicado por: Layla123 en 13 Noviembre 2014, 20:27 pm
Muchas gracias.  :D


Ya salio, lo que estaba mal era la url...
Código
  1. <?php
  2.  
  3. echo'<a href="investigadores.php?id_inv=<?php echo'.$row['id_inv'].'?>">'.$row['nombre'].'&nbsp&nbsp'.$row['ape_pat'].'&nbsp&nbsp'.$row['ape_mat'].' <br/> </a>';
  4.  
  5. ?>

pero ya agregando el siguiente codigo , ya funciono.
Código
  1. <?php
  2.  
  3. echo "<a href='investigadores.php?id_inv=".$row['id_inv']."'>" . $row['nombre'] . "</a>";
  4.  
  5. ?>