Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] fallo en formulario Undefined index

Estas en el tema de fallo en formulario Undefined index en el foro de PHP en Foros del Web. hola buenas os comento estoy haciendo una serie de ejercicios y cuando ejecuto el codigo me sale este fallo y no encuentro solución. me da ...
  #1 (permalink)  
Antiguo 11/04/2013, 11:32
 
Fecha de Ingreso: febrero-2008
Mensajes: 49
Antigüedad: 16 años, 9 meses
Puntos: 0
fallo en formulario Undefined index

hola buenas os comento estoy haciendo una serie de ejercicios y cuando ejecuto el codigo me sale este fallo y no encuentro solución. me da este falloque segun he leido no es un fallo grave: Notice: Undefined index: Fernando Alonso in C:\cursoPHP5\curso\2.1b.php on line 11
aqui os dejo los codigos
2.1a.php
Código PHP:
<HTML>
    <HEAD><TITLE>Unidad 2 - Formula 1</TITLE></HEAD>
    
<BODY bgcolor="#003399">
<CENTER>
    <HR><img src=logo_f1.gif>
  <H1><FONT color="white">FÓRMULA 1</FONT></H1>
  <HR>
  <FORM ACTION="2.1b.php" METHOD="POST">
  <P><FONT face="Georgia, Times New Roman, Times, serif" size="3" color=white>
        Seleccione el piloto que desea consultar: 
    <select name="el_piloto">
    <?
         
require("2.1pilotos.php");
         for(
$i=0;$i<sizeof($matriz_f1);$i++){
         
printf("<option name=".$i.">%s</option>",$matriz_f1[$i]["nombre"]);
        
         }

?>
  </select> &nbsp;&nbsp;<INPUT TYPE="submit" VALUE="Buscar">
    </FONT></p>
    </FORM>
</CENTER>
</BODY></HTML>
2.1b.php
Código PHP:
<HTML>
    <HEAD><TITLE>Unidad 2 - Formula 1</TITLE></HEAD>
    <BODY bgcolor="#003399"><CENTER>
    <HR><img src=logo_f1.gif>
    <H1><FONT color="white">FÓRMULA 1</H1>
      <HR>

<?
    
require ("2.1pilotos.php");
    
$el_piloto $_POST["el_piloto"];
    
$pilotos $matriz_f1["$el_piloto"]["nombre"];
    
$carreras $matriz_f1["$el_piloto"]["carreras"];//con este fallo y el de arriba no puedo continuar para hacer un bucle que me de los resultados de las carreras
    
echo "La clasificación de <b>'$el_piloto'</b> es:";

    
    
?>

    </FONT>
<P><INPUT type="button" value="<- Volver atr&aacute;s" onClick="history.back();"> 

</CENTER></BODY>
</HTML>
2.1pilotos.php
Código PHP:
<?
$matriz_f1 
= array(

    
0=>array("nombre"=>"Fernando Alonso",
         
"carreras"=>array(0=>array("premio"=>"Bharein""posicion"=>1),
                    
1=>array("premio"=>"Malasia""posicion"=>2),
                    
2=>array("premio"=>"Australia""posicion"=>1),
                    
3=>array("premio"=>"S.Marino""posicion"=>2),
                    
4=>array("premio"=>"Europa""posicion"=>2),
                    
5=>array("premio"=>"España""posicion"=>1),
                    
6=>array("premio"=>"Mónaco""posicion"=>1)
                    )),
    
1=>array("nombre"=>"Michael Schumacher",
         
"carreras"=>array(0=>array("premio"=>"Bharein""posicion"=>2),
                    
1=>array("premio"=>"Malasia""posicion"=>6),
                    
2=>array("premio"=>"Australia""posicion"=>-1),
                    
3=>array("premio"=>"S.Marino""posicion"=>1),
                    
4=>array("premio"=>"Europa""posicion"=>1),
                    
5=>array("premio"=>"España""posicion"=>2),
                    
6=>array("premio"=>"Mónaco""posicion"=>5)
                    )),
    
2=>array("nombre"=>"Felipe Massa",
         
"carreras"=>array(0=>array("premio"=>"Bharein""posicion"=>9),
                    
1=>array("premio"=>"Malasia""posicion"=>5),
                    
2=>array("premio"=>"Australia""posicion"=>-1),
                    
3=>array("premio"=>"S.Marino""posicion"=>4),
                    
4=>array("premio"=>"Europa""posicion"=>3),
                    
5=>array("premio"=>"España""posicion"=>4),
                    
6=>array("premio"=>"Mónaco""posicion"=>9)
                    )),
    
3=>array("nombre"=>"Giancarlo Fisichella",
         
"carreras"=>array(0=>array("premio"=>"Bharein""posicion"=>-1),
                    
1=>array("premio"=>"Malasia""posicion"=>1),
                    
2=>array("premio"=>"Australia""posicion"=>5),
                    
3=>array("premio"=>"S.Marino""posicion"=>8),
                    
4=>array("premio"=>"Europa""posicion"=>6),
                    
5=>array("premio"=>"España""posicion"=>3),
                    
6=>array("premio"=>"Mónaco""posicion"=>6)
                    )),
    
4=>array("nombre"=>"Kimi Raikkonen",
         
"carreras"=>array(0=>array("premio"=>"Bharein""posicion"=>3),
                    
1=>array("premio"=>"Malasia""posicion"=>-1),
                    
2=>array("premio"=>"Australia""posicion"=>2),
                    
3=>array("premio"=>"S.Marino""posicion"=>5),
                    
4=>array("premio"=>"Europa""posicion"=>4),
                    
5=>array("premio"=>"España""posicion"=>5),
                    
6=>array("premio"=>"Mónaco""posicion"=>-1)
                    )),
    
5=>array("nombre"=>"Jenson Button",
         
"carreras"=>array(0=>array("premio"=>"Bharein""posicion"=>4),
                    
1=>array("premio"=>"Malasia""posicion"=>3),
                    
2=>array("premio"=>"Australia""posicion"=>-1),
                    
3=>array("premio"=>"S.Marino""posicion"=>7),
                    
4=>array("premio"=>"Europa""posicion"=>-1),
                    
5=>array("premio"=>"España""posicion"=>6),
                    
6=>array("premio"=>"Mónaco""posicion"=>11)
                    ))
); 
// Final de la matriz  (array asocviativo)

?>
un saludo
  #2 (permalink)  
Antiguo 11/04/2013, 11:37
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 4 meses
Puntos: 793
Respuesta: fallo en formulario Undefined index

Según ese array para acceder a un piloto necesitas hacer:

Código PHP:
Ver original
  1. echo $matriz_f1[0]['nombre']; //Fernando Alonso
  2. echo $matriz_f1[0]['carreras'][0]['premio']; //Bharein

Si quieres buscar por piloto tendrás que programar alguna función o usar un foreach.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #3 (permalink)  
Antiguo 11/04/2013, 11:39
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: fallo en formulario Undefined index

Los <option> están mal, ya que estás especificando un name pero así no funcionan, debes especificar un value, pues según entiendo estás pasando el índice para recuperarlo después.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 11/04/2013, 13:26
 
Fecha de Ingreso: febrero-2008
Mensajes: 49
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: fallo en formulario Undefined index

muchas gracias a los dos, ya esta solucionado el fallo era que el option estaba mal y tenía que cambiar elname por value
un saludo

Etiquetas: fallo, formulario, html, index, resultados, select, undefined
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 14:08.