Comienzo en PHP

Carlos
23 de Octubre del 2005
Hola tengo el siguiento problemilla (supongo que para gente ducha en PHP sera una chorrada), tengo un formulario en el cual se pide un nombre de usuario y una clave, este formulario envia los datos a una pagina php que los recibe y los debe tratar (mostrar en pantalla o bien guardarlos en una base de datos) el problema es que la pagina php no recibe nada. cual creis que es el problema. Salu2 y gracias

kozzka
23 de Octubre del 2005
debes usar GET para tu forulario y en action="elarchivo.php"
campo usuario (en tu formulario) debe pasar al archivo php como $usuario y asi con otros campos
Si bien los formularios no son parte del PHP (se escriben en HTML), vamos a ver como se pueden trabajar desde el PHP, sobre todo para procesar los resultados.

Un formulario arranca con la etiqueta <FORM> y cierra con </FORM>. Tienen además algunos atributos sin los cuales resultan practicamente inútiles. Por ejemplo el atributo ACTION, que indica el script que se procesará al enviar el formulario:

<FORM action="destino.php">

Además se utiliza el atributo METHOD para determinar si el formulario enviará o recogerá datos (valores "post" y "get" respectivamente):

<FORM action="destino.php" method="post">

Dentro del formulario podemos poner distintos tipos de elementos:

Botón de envío (Envía el formulario): <INPUT type="submit" value="Enviar" name="enviar">
Botón de reset (Limpia los campos que modificó el usuario): <INPUT type="reset" value="Limpiar" name="limpiar">

Cuadro de texto (para ingresar letras y/o números): <INPUT type="text" name="apellido" size="25" value="">


Veamos un ejemplo de formulario con PHP

Primero hacemos la página web que contendrá el formulario:

<html>
<title>Nacionalidad</title>
<body>
<form method=post ACTION="resultado.php">
¿En qué país naciste?: <input name="pais" type="text"><br>
<INPUT TYPE="submit" VALUE="Enviar" name="enviar">
</form>
</body>
<html>

Luego la página que toma los datos del formulario:

<html>
<body>
Naciste en: <?php Echo "<h1><B>$pais</B></h1>"; ?>
</body>
</html>

Es importante tener en cuenta el atributo "name" de cada elemento del formulario, ya que es el nombre con el que habrá que manejarse en el PHP. En el ejemplo anterior, al elemento "pais" del html, lo invocamos con el código $pais en el PHP.

Cuadro de texto con barras de desplazamiento:

<textarea rows="5" name="descripcion" cols="25">Texto interno</textarea>

Ahora veamos un ejemplo en PHP:

Primero hacemos la página que contiene el formulario (comidas.html)

<html>
<title>Comidas</title>
<body>
<form method=POST ACTION="comidas.php">
Tu nombre: <INPUT TYPE="text" name="nombre" size="25"><br>
Escribe tres comidas que te gusten:<br>
<textarea name="comidas" cols="25" rows="5">
</textarea>
<br>
<INPUT TYPE="submit" VALUE="Enviar" name="enviar">
</form>
</body>
<html>

Luego la página que contiene el php (comidas.php)

<html>
<body>
Me llamo
<?php echo "<p>$nombre</p>"; ?>
<br>Y estas son mis comidas preferidas:<br>
<?php echo "<p>$comidas</p>"; ?>
</body>
</html>