Los Formularios no forman parte de PHP, sino del lenguaje estandar de
Internet, HTML, pero como estos van a aperecer
muchas veces durante el curso, vamos a dedicar algunas lineas a ellos.
Lo que viene a continuacion es HTML y no PHP.
Todo formulario comienza con la etiqueta <FORM
ACTION="lo_que_sea.php" METHOD="post/get">. Con . Con ACTION
indicamos el script que va procesar la informacion que recogemos
en el formulario, mientras que METHOD nos
indica si el usuario del formulario va ha enviar datos (post)
o recogerlos (get). La etiqueta </FORM>
indica el final del formulario.
A partir de la etiqueta <FORM> vienen
los campos de entrada de datos que pueden ser:
Cuadro de texto:
<input type="text" name="nombre"
size="20" value="jose">
Cuadro de texto con barras de desplazamiento:
<textarea rows="5"
name="descripcion" cols="20">Es de color rojo</textarea>
Casilla de verificacion:
<input type="checkbox"
name="cambiar" value="ON">
Boton de opcion:
<input type="radio" value="azul"
checked name="color">
Menu desplegable:
<select size="1" name="dia">
<option selected
value="lunes">lunes</option>
<option>martes</option>
<option
value="miercoles">miercoles</option>
</select>
Boton de comando:
<input type="submit" value="enviar"
name="enviar">
Campo oculto:
<input type="hidden" name="edad"
value="55">
Este Ultimo tipo de campo resulta especialmente util cuando queremos
pasar datos ocultos en un formulario.
Como habras observado todos lo tipos de campo tienen un modicador
llamado name, que no es otro que el
nombre de la variable con la cual recogeremos los datos en el script
indicado por el modificador ACTION de
la etiqueta FORM, con value
establecemos un valor por defecto.
A continuacion veamos un ejemplo, para lo cual crearemos un formulario
en HTML como el que sigue y lo llamaremos formulario.htm:
<HTML>
<BODY>
<FORM METHOD="post" ACTION="mis_datos.php">
<input type="hidden"
name="edad" value="55">
<p>Tu nombre <input
type="text" name="nombre" size="30"
value="jose"></p>
<p>Tu sistema favorito
<select size="1" name="sistema">
<option selected
value="Linux">Linux</option>
<option
value="Unix">Unix</option>
<option
value="Macintosh">Macintosh</option>
<optionun
value=&qmargin-left: 75"><option
value="Windows">Windows</option>
</select></p>
<p>¿Te gusta el futbol ?
<input type="checkbox" name="futbol"
value="ON"></p>
<p>¿Cual es tu
sexo?</p>
<blockquote>
<p>Hombre<input
type="radio" value="hombre" checked
name="sexo"></p>
<p>Mujer <input
type="radio" name="sexo"
value="mujer"></p>
</blockquote>
<p>Aficiones</p>
<p><textarea
rows="5" name="aficiones"
cols="28"></textarea></p>
<p><input
type="submit" value="Enviar datos" name="enviar">
<input type="res-left: 50">
<input type="reset" value="Restablecer"
name="B2"></p>
</FORM>
</BODY>
</HTML>
Y ahora creemos el script PHP llamado desde el formulario mis_datos.php:
<?PHP;
if ($enviar) {
echo "Hola <b>"
. $nombre . "</b> que tal estas<BR>\n";
echo "Eres " . $sexo .
"<BR>\n";
echo "Tienes " . $edad
. "<BR>\n";
echo "Tu sistema favorito
es " . $sistema . "<BR>\n";
if ($futbol) {
echo "Te gusta el futbol
<BR>\n";
} else {
echo "NO te gusta el futbol
<BR>\n";
}
if ($aficiones != "")
{
echo "Tus aficiones son:
<BR>\n";
echo nl2br($aficiones);
} else {
echo "NO tienes aficiones
<BR>\n";
}
}
echo "<a href='formulario.htm'>VOLVER AL
FORMULARIO</a>"
?>
Una vez rellenados los datos del formulario,
pulsamos el boton Enviar datos, con lo que el campo enviar
toma lo que su etiqueta value indica,
es decir enviar="Enviar datos". En nuestro script lo
primero que evaluamos es que se haya enviado el formulario, y para
ello nada mejor que comprobar que la variable $enviar
no esta
vacia. Le ponemos el signo dolar delante a enviar, ya que en PHP
todas las variables se les refiere con este signo.
Pero y fusionaramos el codigo de ambos fichero,
nos ahorrariamo uno. Si la variable $enviar
esta vacia, enviamos el formulario.
<?PHP;
if ($enviar) {
echo "Hola <b>"
. $nombre . "</b> que tal estas<BR>\n";
echo "Eres " . $sexo .
"<BR>\n";
echo "Tienes " . $edad
. "<BR>\n";
echo "Tu sistema favorito
es " . $sistema . "<BR>\n";
if ($futbol) {
echo "Te gusta el futbol
<BR>\n";
} else {
echo "NO te gusta el futbol
<BR>\n";
}
if ($aficiones != "")
{
echo "Tus aficiones son:
<BR>\n";
echo nl2br($aficiones);
} else {
echo "NO tienes aficiones
<BR>\n";
}
echo "<a href='$PHP_SELF'>VOLVER AL
FORMULARIO</a>"
} else {
<HTML>
<BODY>
<FORM METHOD="post" ACTION="<?PHP echo $PHP_SELF ?>">
<input type="hidden"
name="edad" value="55">
<p>Tu nombre <input
type="text" name="nombre" size="30"
nombre" size="30"
value="jose"></p>
<p>Tu sistema favorito
<select size="1" name="sistema">
<option selected
value="Linux">Linux</option>
<option
value="Unix">Unix</option>
<option
value="Macintosh">Macintosh</option>
<option
value="Windows">Windows</option>
</select></p>
<p>¿Te gusta el futbol ?
<input type="checkbox" name="futbol"
value="ON"></p>
<p>¿Cual es tu
sexo?</p>
<blockquote>
<p>Hombre<input
type="radio" value="hombre" checked
name="sexo"></p>
<p>="codigo" style="margin-left: 100"><p>Mujer <input
type="radio" name="sexo"
value="mujer"></p>
</blockquote>
<p>Aficiones</p>
<p><textarea
rows="5" name="aficiones"
cols="28"></textarea></p>
<p><input
type="submit" value="Enviar datos" name="enviar">
<input type="reset" value="Restablecer"
name="B2"></p>
</FORM>
</BODY>
</HTML>
<?PHP
} //fin IF
?>
La variable de entorno $PHP_SELF,
es una variable de entorno que nos devuelve el nombre del script que
estamos ejecutando. Y por ultimo, hacer notar el uso de la funcion nl2br(),
nl2br(),
con la cual sustituimos los retornos de carro del texto, los
cuales no reconocen los navegadores, por la etiqueta <BR>.
|