Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => 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 (php) [Seleccionar]
<?php

$id
=$_GET['id_inv'];

$consulta2=mysql_query("SELECT * FROM investigador where  id_inv='$id' '');
while(
$row=mysql_fetch_object($consulta2)){
echo''.
$row['nombre'].'&nbsp&nbsp'.$row['ape_pat'].'&nbsp&nbsp'.$row['ape_mat'].' <br/>';
}
?>


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

$id=$_GET['id_inv'];

Código (php) [Seleccionar]
 
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 (php,2,3,4,5,6) [Seleccionar]
<?php
   
if(isset($_GET)){
      
$id $_GET['id_inv'];
   }else{
      
$id 0;
   }
     
    
$consulta2 mysql_query("SELECT * FROM investigador WHERE id_inv = '$id'");

    while(
$row mysql_fetch_object($consulta2)){
       echo 
$row['nombre'].'&nbsp&nbsp'.$row['ape_pat'].'&nbsp&nbsp'.$row['ape_mat'].' <br/>';
    }
?>
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 (php) [Seleccionar]
$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 (php) [Seleccionar]
<?php
        
//codigo para mandar a traer todos los nombres de los investigadores que estan almacenados en la base de datos.

$consulta mysql_query("SELECT *FROM investigador");

echo 
'<div style="border:2px solid  Black;
            background : white;
            color : skyblue;
            padding : 4px;
            width : 300px;
            height : 100px;
            overflow : auto; ">'
;
while (
$rowmysql_fetch_array($consulta)){

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>';
}echo'</div>';


?>



Formulario 2

Código (php) [Seleccionar]
<?php
// 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).
//id_inv='".$_GET['id_inv']."'"

$id = ((isset($_GET['id_inv']) && strlen($_GET['id_inv'])>0) ? $_GET['id_inv'] : 0);


$consulta2=mysql_query("SELECT * FROM investigador where  id_inv='$id'");
while(
$row=mysql_fetch_array($consulta2)){
            echo
''.$row['ruta_img'].'';
echo''.$row['nombre'].'&nbsp&nbsp'.$row['ape_pat'].'&nbsp&nbsp'.$row['ape_mat'].' <br/>';
echo''.$row['inst'].'';
echo''.$row['pag_per'].'';
echo''.$row['direccion'].'';
}
?>


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 (php,4) [Seleccionar]
$id = ((isset($_GET['id_inv']) && strlen($_GET['id_inv'])>0) ? $_GET['id_inv'] : 0);
$consulta2 = mysql_query("SELECT * FROM investigador WHERE id_inv='$id'");

echo "<div style='border:1px solid #000;'>SQL: ".$consulta2."</div>";

while($row=mysql_fetch_array($consulta2))
{
  echo $row['ruta_img']."<br/>";
  echo $row['nombre'].'&nbsp&nbsp'.$row['ape_pat'].'&nbsp&nbsp'.$row['ape_mat']."<br/>";
  echo $row['inst']."<br/>";
  echo $row['pag_per']."<br/>";
  echo $row['direccion']."<br/>";
}


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 (php) [Seleccionar]
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 (php) [Seleccionar]
echo "<div style='border:1px solid #000;'>SQL: ".$consulta2."</div>";
por
Código (php) [Seleccionar]
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 (php) [Seleccionar]
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 (php) [Seleccionar]
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>';
}echo'</div>';


¿ no deberia ser ?

Código (php) [Seleccionar]
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>';
}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 (php) [Seleccionar]
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 (php) [Seleccionar]
while ($row = mysql_fetch_array($consulta))
{
    print_r($row);
    echo "<br><br>";
}


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 (php) [Seleccionar]
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 )

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 )

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 )

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 )

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 (php) [Seleccionar]
Título: Re: Notice: Undefined index: id_inv in
Publicado por: Hadess_inf en 13 Noviembre 2014, 20:17 PM
Esta así:

Código (php) [Seleccionar]
<?php

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>';

?>


¿No debería ser así?

Código (php) [Seleccionar]
<?php

echo "<a href='investigadores.php?id_inv=".$row['id_inv']."'>" $row['nombre'] . "</a>";

?>


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 (php) [Seleccionar]
<?php
 
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>';

?>


pero ya agregando el siguiente codigo , ya funciono.
Código (php) [Seleccionar]
<?php
 
echo "<a href='investigadores.php?id_inv=".$row['id_inv']."'>" $row['nombre'] . "</a>";
 
?>