Problema con formulario

Antonio Sanz
31 de Enero del 2005
Estoy empezando con PHP, y he hecho un pequeño formulario para practicar, pero no obtengo el resultado esperado.
En el fichero 'adivina.htm' escribo:
<HTML>
<BODY>
<FORM METHOD=GET ACTION="adivina.php">
En que numero del 1 al 10 estoy pensando?
<INPUT NAME="adivina" TYPE="Text">
<BR>
<BR>
<INPUT TYPE=SUBMIT>
</FORM>
</BODY>
</HTML>
Luego tengo el fichero 'adivina.php' con:
<HTML>
<HEAD></HEAD>
<BODY>
<?php
srand((double)microtime()*1000000);
$Numero = rand(1,10);
if ($adivina > $Numero) {
echo "Fue muy grande"; echo "<BR>Yo pensé el número $Numero. Lo siento no ";
}
if ($adivina < $Numero) {
echo "Fue muy pequeño"; echo "<BR>Yo pensé el número $Numero. Lo siento no ";
}
?>
GANASTE
</BODY>
</HTML>
Pues bien siempre me da el mismo error:
Notice: Undefined variable: adivina in c:inetpubwwwroottalleradivina.php on line 7

Notice: Undefined variable: adivina in c:inetpubwwwroottalleradivina.php on line 10
Fue muy pequeño
Yo pensé el número 8. Lo siento no GANASTE

¿Por qué no le llega el valor al fichero .php?

Gracias por vuestra ayuda.

Khriztian
31 de Enero del 2005
Creo que a lo mejor tienes el Register_Global en off, en el php.ini, si es así, en el archivo adivina.php debes recoger las variables (que envias desde otras páginas) así :

$adivina=$_GET['adivina'];

--------------------------------------------------------------------------

<HTML>
<HEAD></HEAD>
<BODY>
<?php
$adivina=$_GET['adivina'];
srand((double)microtime()*1000000);
$Numero = rand(1,10);
if ($adivina > $Numero) {
echo "Fue muy grande"; echo "<BR>Yo pensé el número $Numero. Lo siento no ";
}
if ($adivina < $Numero) {
echo "Fue muy pequeño"; echo "<BR>Yo pensé el número $Numero. Lo siento no ";
}
?>
GANASTE
</BODY>
</HTML>

--------------------------------------------------------------------------

Antonio Sanz
31 de Enero del 2005
Tenias razón, Khriztian!
Aqui se ve el resultado bueno:
Fue muy pequeño
Yo pensé el número 8. Lo siento no GANASTE

¿Vale la pena que cambie en los ficheros php.ini-dist y php.ini-recommended el Register_Global a on, o esta en off por algun motivo en concreto (seguridad...) ?