PHP
Main Menu 
 
Desarrollo de Páginas Web con PHP 

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>.