PHP Forms

De Cacauet Wiki
Salta a la navegació Salta a la cerca

"Forms" és l'abreviació de "Formularis". Són les estructures HTML típiques per introduir dades i enviar-les al servidor perquè les processi.


Forms en HTML

Comencem per un exemple senzill:

<form method="get">
	Nom: <input type="text" name="nom" /><br />
	Email: <input type="text" name="email" /><br />
	<input type="submit" value="Envia!" />
</form>

Fixeu-vos en què:

  • El tag <FORM> és el que ho "embolcalla" tot. Té el paràmetre "GET" que l'aclarirem després.
  • Dintre trobem diversos <INPUT>, tants com camps de dades (nom i email) vulguem posar.
  • És molt important el paràmetre NAME dels inputs, ja que després podrem capturar la dada enviada amb aquest nom.
  • El darrer <INPUT> és de tipus SUBMIT. És el botó per enviar les dades quan les haguem introduït. Si no el posem no podrem enviar les dades al servidor. Fixeu-vos que el paràmetre "value" és el text que mostrarà el botó.


Capturar les dades en PHP

En el mateix arxiu PHP que hem posat el form podem posar codi PHP per capturar les dades que s'envien.

Per capturar les dades enviades per "GET" es fa a través de la variable global $_GET[]. Per exemple, les dades d'abans les capturariem amb:

<!-- Codi HTML per aquí... -->
<?php
	// Capturem les variables globals
	$nom = $_GET["nom"];
	$email = $_GET["email"];

	// mostrem per pantalla
	echo "<p>Hola <b>$nom</b>.<br />\n";
	echo "Enviarem les dades sol·licitades a la teva adreça <b>". $email ."</b></p>\n";

	/* ...més codi PHP per aquí... */
?>
<!-- Més codi HTML per allà... -->

Fixeu-vos en què:

  • En el form anterior hem posat els noms de les variables NOM i EMAIL (paràmetre "NAME") i amb aquest mateix nom les hem capturat.
  • Un cop posada dins d'una variable normal com $nom o $email les podem utilitzar per mostrar-les, per exemple, en un text.
  • Hem posat el nom i el email entre tags negreta <B> per ressaltar la variable en la pantalla.
  • Al final del text en cada "echo" hem posat un "\n". Això és per que al document resultant faci un SALT DE LÍNIA. No és estrictament necessari (HTML no en fa cas), però si un mireu el codi font que rep el browser (amb CTRL+U) queda més clar si l'hi poseu.
  • Hi ha 2 maneres de posar una variable en un ECHO.
    1. Directament dintre del text, si és que hem posat cometes dobles (és el cas de $nom). Amb cometa simple no funciona.
    2. Tancant les cometes i concatenant text amb el punt "." (és el cas de $email).


Exercicis

Fes un form que puguis entrar les variables per calcular una equació de 2n grau com la vista a l'exercici de variables. Recordem que una equació de 2n grau té la forma:

f(x) = a·x2 + b·x + c

Per tant has de fer un form que entri els coeficients i que et calculi les dues solucions com vam fer en l'exercici anterior.