problemas para que php me imprima en pantalla

JORDANMEN

Bovino maduro
#1
hola, soy nuevo en esto pero he tenido problemas para realizar loss ejemplos de 2 videotutoriales, son formularios sencillos para empezar a explicar pero no me sale como en el video
lo ke hacen en el video un formulario con un solo campo de texto y un boton, el input se llama "dato" y llama a una pagina php pero esta al cargar no muestra nada y el tipo del video si.....
los mostrare el codigo

el html

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>

<form method="get" action="practica.php" >

<input type="text" name="dato" />

<input type="submit" value="Ok!" />

</form>


</body>
</html>


el php


<?php
$horario = array(
'mañana' => array(
'deporte' => 'futbol',
'ocio' => 'videoconsola'
),
'tarde' => array(
'deporte' => 'baloncesto',
'ocio' => 'cine'
)
);
echo $horario["$dato"]['deporte'];


?>


el video es este

http://www.youtube.com/watch?v=Gj2P3fRwcbo&feature=PlayList&p=DAA51B79DD940E5A&index=12

anteriormente con este mismo formulario tuve ke agregar algo para ke mostrara una variable y fue $_REQUEST[]

y el codigo fue asi
<?php

$dato = $_REQUEST['dato'];

echo $dato;

?>
eso fue con el mismo formulario y solo asi me mostro el valor de dato pero no se como hacerlo asi
 

NaviChavez

Bovino maduro
#2
Primero... el método esta mal, es POST, no GET
Segundo, en ninguna parte del PHP estas recibiendo la variable que manda el HTML
Tercero, si estas comenzando con PHP no te quieras comer el mundo con los ARRAY, comienza por cosas mas sencillas.
Y ultimo... existe una forma de poner código aquí en el foro, no lo pongas así y si lo vas a poner así usa colores obscuros.

Ahora, que quieres hacer... que te marque los valores del ARRAY, prueba con...
PHP:
<?php
$horario = array(
    'manana' => array(
        'deporte' => 'futbol',
        'ocio' => 'videoconsola'
    ),
    'tarde' => array(
        'deporte' => 'baloncesto',
        'ocio' => 'cine'
    )
);
echo $horario['manana']['deporte'];
?>
Y ahora con variables
PHP:
<?php
$cual = $_POST['dato']; //Checa que aquí va el nombre del campo del HTML.

$horario = array(
    'manana' => array(
        'deporte' => 'futbol',
        'ocio' => 'videoconsola'
    ),
    'tarde' => array(
        'deporte' => 'baloncesto',
        'ocio' => 'cine'
    )
);
echo $horario[$cual]['deporte'];
?>
Y el HTML para los dos casos
HTML:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<form method="post" action="test.php" >
<input type="text" name="dato" />
<input type="submit" value="Ok!" />
</form>
</body>
</html>
 

JORDANMEN

Bovino maduro
#3
muchisimas gracias NaviChavez, en los tutoriales que he seguido ninguno explica eso, es mas, en los video se ve que no escriben eso, imagino que eso sera porque ellos son expertos y yo un iletrado en esto.
como algo curioso a señalar es que solo secoge el valo de $dato si esta en $_REQUEST o $_GET pero aclaro que el method en html esta en post, eso me confundio
 

NaviChavez

Bovino maduro
#4
Si, así es... pero comienza por lo básico y poco a poco vas a ir dominándolo. Cualquier otra duda que tengas... pues con confianza.
 
Arriba