[ Foro de PHP ]

Uso de varibles en formularios

27-Feb-2016 15:42
Invitado (Carlos G)
3 Respuestas


Con este código:

<?php
$i=9;
?>
<form action="modificar.php" method="get">
<input type="hidden" value="$i" name="numero"/>
   <input type="submit" value="Modificar" name="Saludar"/><br />
  </form>

pasamos mediante el formulario los valores "Modificar" y "$i" pero,si quiero enviar a la página modificar.php el valor de $i,en este caso el número 9,¿Como se haría?


27-Feb-2016 23:33
Nacho Cabanes (+32)

Lo que la página de destino (modificar.php) recibe es una variable llamada "numero" (ese es el nombre del "input" correspondiente.

Leerías su valor desde "modificar.php" con

 
$dato = $_GET["numero"];
 


Para más detalles, mira este apartado del tutorial de PHP:

http://www.aprendeaprogramar.com/mod/resource/view.php?id=510
 


29-Feb-2016 22:20
Invitado (Carlos G)

Gracias al que me ha contestado,pero no me funcona,por eso aqui va otro ejemplo:
El siguiente código:

<html>
<body>
<?php
if ( ! isset ($_GET["Saludar"]))
{
$i=9;
?>
<form action="df.php" method="get">
<input type="hidden" value=$i name="numero"/>
 <input type="submit" value="Modificar" name="Saludar"/><br />
</form>
<?php
}
else
{

$j=$_GET["$i"];
$i=0;
echo $i," ",$j;
}
?>
</body>
</html>

se supone que cuando doy al botón 'Modificar' el resultado es que debe aparecer en pantalla 0 9 pero sólo me aparece el número 0.¿Alguien puede decirme que debo cambiar para que me aparezcan por pantalla los 2 números?


29-Feb-2016 22:32
Nacho Cabanes (+32)

No te limites a decir "no me funciona". Publica tu versión mejorada del programa, para que veamos cuál es el fallo (y usa el mismo hilo de conversación si es posible, en vez de empezar otro nuevo hilo en el foro).

Para tu segundo programa (que se parece muchísimo al primero, aunque hables de "otro ejemplo"), tienes dos fallos:

- No debe ser $j=$_GET["$i"];, sino $j=$_GET["numero"]; porque la variable que recibes del formulario se llama "numero".

- La línea "<input type="hidden" value=$i name="numero"/> " es incorrecta, porque mezcla HTML y PHP. Ese "$i" es una variable de PHP, por lo que debe estar encerrada entre etiquetas de PHP y enviada a la salida con una orden "echo":  <input type="hidden" value=<?php echo $i; ?> name="numero"/>






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)