You are on page 1of 12

Universidad Autnoma de Chiapas

PROGR
AMACI CATEDRTICO M.I.:
EDGAR GONZALEZ SANTIAGO

N Alumno

Jurez Hernndez Erick Cristbal


C130106

PROYECTO

Tuxtla Gutirrez, Chiapas; a 16 de Enero


de 2014
FORMULARIOS EN HTML
Los formularios interactivos permiten a los autores de pginas Web poner elementos interactivos
en sus pginas, por ejemplo, para recibir mensajes de sus lectores, de forma similar a las cartas de
respuestas que se encuentra en algunas revistas.

El lector escribe la informacin rellenando campos o haciendo clic sobre botones, y luego presiona
un botn de envo para enviarla a una direccin URLque se suele dirigir a una direccin de correo
electrnico o a un script dinmico Web como PHP, ASP o CGI.

La etiqueta FORM
Los formularios estn delimitados con la etiqueta <FORM> ... </FORM>, que permite reunir varios
elementos de formulario, como botones y casillas de texto y que debe poseer los siguientes
atributos:
METHOD indica cmo se enviarn las respuestas
"POST" es el valor que enva los datos al agente de procesamiento almacenndolos en el
cuerpo del formulario, en tanto que "GET" enva los datos agregndolos a la direccin URL y
separndolos de la direccin con un signo de interrogacin (para aprender ms sobre los
mtodos POST y GET, consulte el artculo sobre protocolo HTTP)
ACTION indica la direccin a la que se enviar la informacin (un script CGI o direccin de
correo electrnico (mailto:direccin_de_correo_e@equipo))
Un atributo opcional de la etiqueta FORM es ENCTYPE, que especifica cmo se codifican los
datos del formulario. De cualquier forma, esto no necesita especificarse, ya que el valor
predeterminado (application/x-www-form-urlencoded) es el nico valor vlido. El atributo
opcional ACCEPT se usa para establecer tipos MIME para los datos que el formulario puede
enviar.
Esta es la sintaxis para la etiqueta FORM:

<FORM METHOD="POST" o "GET" ACTION="url" ENCTYPE="x-www-form-urlencoded">


... </FORM>
Aqu hay algunos ejemplos de las etiquetas FORM:

<FORM METHOD=POST ACTION="mailto:webmaster@commentcamarche.net">

<FORM METHOD=GET ACTION="http://www.commentcamarche.net/cgi-


bin/script.cgi">

Dentro de la etiqueta FORM


La etiqueta FORM acta como una especie de contenedor para almacenar elementos que permiten
al usuario seleccionar o introducir datos. Todos los datos se enviarn a la direccin URL indicada
en el atributo ACTION de la etiqueta FORM, por el mtodo indicado en el atributo METHOD.
Se puede insertar cualquier elemento HTML en una etiqueta FORM (como texto, botones, tablas y
enlaces), pero los elementos interactivos son los ms interesantes. Estos elementos interactivos
son:
La etiqueta INPUT: Todos los botones y casillas de texto
La etiqueta TEXTAREA: una casilla de texto
La etiqueta SELECT: una lista de opciones mltiples

Envo de datos
Cuando se enva un formulario (haciendo clic en el botn de envo), los datos del formulario se
envan a un script CGI bajo la forma de pares nombre/valor, es decir conjuntos de datos
representados por el nombre del elemento formulario, un signo igual ("=") y luego el valor asociado.
Estos pares nombre/valor se separan unos de otros mediante el smbolo de unin ("&"). Por lo
tanto, los datos que se envan al script se vern as:
campo1=valor1&field2;=valor2&field3;=valor3
Con el mtodo GET (enviar los datos mediante una direccin URL), la URL ser una cadena como
la siguiente:
http://es.kioskea.net/cgi-bin/script.cgi?campo1=valor1&field2;=valor2

La etiqueta INPUT
La etiqueta INPUT es una etiqueta esencial para los formularios, ya que se usa para crear muchos
elementos interactivos. La sintaxis de esta etiqueta es la siguiente:
<INPUT type="Nombre de campo" value="Valor predeterminado" name="Nombre
de elemento">
El atributo name es esencial, ya que permite al script CGI reconocer qu campo est asociado con
un par nombre/valor, lo que significa que el nombre del campo estar seguido de un signo igual
("=") seguido de un valor que el usuario introdujo, o si el usuario no introdujo ningn valor, por el
valor predeterminado de la etiqueta value.
El atributo type se usa para especificar qu tipo de elemento se representa con la etiqueta INPUT.
Estos son los valores posibles:
checkbox: Las casillas de eleccin pueden adoptar uno de dos estados: checked
(seleccionado) o unchecked (no seleccionado). Cuando la casilla es seleccionada, el par
nombre/valor se enva al CGI.
hidden: Este campo, que el navegador no muestra, es para definir una configuracin nica
que se enviar al CGI como par nombre/valor.
file: Un campo que permite al usuario especificar una ruta de archivo que lleva al archivo
que se enviar con el formulario. Los tipos de archivo que pueden ser enviados deben
especificarse utilizando el atributo ACCEPT de la etiqueta FORM.
image: Un botn de envo personalizado que aparece cuando se ubica una imagen en la
ubicacin definida por el atributo SRC.
password: Una casilla de texto donde los caracteres escritos aparecen como asteriscos
para camuflar el texto de entrada.
radio: Un botn que permite al usuario elegir entre varias opciones. Cada uno de estos
botones debe tener el mismo atributo name. El par nombre/valor del botn radio seleccionado
se enviar al CGI. Al aplicar el atributo checkedpara uno de estos botones se definir como
seleccionado de forma predeterminada.
reset: Un botn de restauracin para quitar todos los elementos en el formulario y
restablecer sus valores predeterminados.
submit: Un botn de envo para enviar el formulario. El texto en el botn puede definirse
usando el atributo value.
text: Una casilla de texto para escribir una lnea de texto. El tamao de la casilla puede
definirse usando el atributo size y la extensin mxima del texto con el atributo maxlength.

La etiqueta TEXTAREA
La etiqueta TEXTAREA se usa para definir un cuadro de texto ms grande que la lnea simple
propuesta por la etiqueta INPUT. Esta etiqueta tiene los siguientes atributos:
cols: representa el nmero de caracteres que puede contener un lnea
rows: representa el nmero de lneas
name: representa el nombre asociado con el cuadro de texto, que permite su identificacin
en el par nombre/valor.
readonly: impide que el usuario modifique el texto predeterminado en el campo
value: representa el valor predeterminado que se enviar al script si el usuario no ha
escrito nada en el cuadro de texto

La etiqueta SELECT
La etiqueta SELECT sirve para crear una lista desplegable de elementos (especificados por las
etiquetas OPTION dentro de ella). Los atributos de esta etiqueta son:
name: name: representa el nombre asociado con la casilla de texto, que permite su
identificacin en el par nombre/valor.
disabled: crea un lista desactivada, que aparece atenuada
size: representa el nmero de lneas de la lista (este valor puede ser ms grande que el
nmero de elementos reales de la lista).
multiple: Permite al usuario seleccionar varios campos de la lista

Ejemplo de formulario
Los formularios pueden ubicarse en una pgina usando tablas (algo recomendable para una
presentacin profesional). Este es un ejemplo que resume los puntos precedentes, mostrndole
cmo disponer un formulario en una pgina Web mediante una tabla:

<FORM method=post action="cgi-bin/script.pl">


Registro de un usuario
<TABLE BORDER=0>
<TR>
<TD>Apellido</TD>
<TD>
<INPUT type=text name="apellido">
</TD>
</TR>

<TR>
<TD>Nombre</TD>
<TD>
<INPUT type=text name="nombre">
</TD>
</TR>

<TR>
<TD>Gnero</TD>
<TD>
Hombre:
Mujer: <INPUT type=radio name="gnero" value="M">
<br>Mujer: <INPUT type=radio name="gnero" value="F">
</TD>
</TR>

<TR>
<TD>Ocupacin</TD>
<TD>
<SELECT name="ocupacin">
<OPTION VALUE="profesor">Profesor</OPTION>
<OPTION VALUE="estudiante">Estudiante</OPTION>
<OPTION VALUE="ingeniero">Ingeniero</OPTION>
<OPTION VALUE="jubilado">Jubilado</OPTION>
<OPTION VALUE="otro">Otro</OPTION>
</SELECT>
</TD>
</TR>
<TR>
<TD>Comentarios</TD>
<TD>
<TEXTAREA rows="3" name="comentarios">
Escriba aqu sus comentarios</TEXTAREA>
Enviar
</TD>
</TR>

<TR>
<TD COLSPAN=2>
<INPUT type="submit" value="Enviar">
</TD>
</TR>
</TABLE>
</FORM>
Esto es lo que aparece en la pantalla:

Registro de usuario
Apellido

Nombre

Hombre: Mujer:
Gnero
Mujer:

Ocupacin

Comentarios

Enviar

Atributos de etiquetas FORM y tipos de entrada

Etiqueta Atributo Valor Resultado Efecto visual

POST
METHOD
GET

<FORM> ... Enva a la


ACTION
</FORM> direccin mostrada

Especifica el tipo
ENCTYPE
de cdigo

<INPUT> TYPE realiza la ACTION


submit de la etiqueta Send

<FORM>

text lnea simple de


texto cuya longitud
se especifica por
el atributo SIZE

Elimina el
Reset contenido del Reset

formulario

Radio botn de radio

casilla de
Checkbox
seleccin

NAME Nombre

SIZE Tamao del texto

NAME
<TEXTAREA> ...
ROWS Casilla de texto
</TEXTAREA>
COLS

<SELECT> Opcin 1
NAME
<OPTION> ...
</OPTION> Mltiples
Opcin 1
MULTIPLE selecciones
</SELECT>
posibles

Eleccin Opcin 1
<OPTION> ...
SELECTED Opcin 2
</OPTION> predeterminada Opcin 3
PALABRAS RESERVADAS EN PHP

Lista de palabras reservadas

Estas palabras tienen un significado especial en PHP. Algunas


representan cosas que se parecen a funciones, otras se parecen a
constantes, etc.; pero no lo son en realidad: son constructores del
lenguaje. No se puede usar ninguna de las siguientes palabras
como constantes, nombres de clases, nombres de funciones o
mtodos. Se pueden usar como nombres de variables, pero podra
dar lugar a confusiones.

Palabras reservadas de PHP

__halt_compiler() abstract and array() as

break callable (a partir de PHP 5.4) case catch class

clone const continue declare default

die() do echo else elseif

empty() enddeclare endfor endforeach endif

endswitch endwhile eval() exit() extends


final finally (a partir de PHP 5.5) for foreach function

global goto (a partir de PHP 5.3) if implements include

include_once instanceof insteadof (a partir de PHP 5.4) interface isset()

list() namespace (a partir de PHP 5.3) new or print

private protected public require require_

return static switch throw trait (a p

try unset() use var while

xor yield (a partir de PHP 5.5)

Constantes en tiempo de compilacin

__CLASS__ __DIR__ (a partir de PHP 5.3) __FILE__ __FUNCTION__ __LINE_

__NAMESPACE__ (a partir de PHP 5.3) __TRAIT__ (a partir de PHP 5.4)

add a note

User Contributed Notes 3 notes

up
down

Chris
1 year ago

Here they are as arrays:

<?php
$keywords =
array('__halt_compiler', 'abstract', 'and', 'array', 'as', 'break', 'c
allable', 'case','catch', 'class', 'clone', 'const', 'continue', 'decl
are', 'default', 'die', 'do', 'echo', 'else','elseif', 'empty', 'endde
clare', 'endfor', 'endforeach', 'endif', 'endswitch', 'endwhile', 'eva
l','exit', 'extends', 'final', 'for', 'foreach', 'function', 'global',
'goto', 'if', 'implements','include', 'include_once', 'instanceof', 'i
nsteadof', 'interface', 'isset', 'list', 'namespace','new', 'or', 'pri
nt', 'private', 'protected', 'public', 'require', 'require_once', 'ret
urn','static', 'switch', 'throw', 'trait', 'try', 'unset', 'use', 'var
', 'while', 'xor');

$predefined_constants =
array('__CLASS__', '__DIR__', '__FILE__', '__FUNCTION__', '__LINE__','
__METHOD__', '__NAMESPACE__', '__TRAIT__');
?>

Along with get_defined_functions() and get_defined_constants(), this


can be useful for checking eval() statements.

up

down

martindilling at gmail dot com


10 months ago

RegEx to find all the keywords:

\b(
(a(bstract|nd|rray|s))|
(c(a(llable|se|tch)|l(ass|one)|on(st|tinue)))|
(d(e(clare|fault)|ie|o))|
(e(cho|lse(if)?|mpty|nd(declare|for(each)?|if|switch|while)|val|x(it|
tends)))|
(f(inal|or(each)?|unction))|
(g(lobal|oto))|
(i(f|mplements|n(clude(_once)?|st(anceof|eadof)|terface)|sset))|
(n(amespace|ew))|
(p(r(i(nt|vate)|otected)|ublic))|
(re(quire(_once)?|turn))|
(s(tatic|witch))|
(t(hrow|r(ait|y)))|
(u(nset|se))|
(__halt_compiler|break|list|(x)?or|var|while)
)\b

up

down

Bob
4 years ago

There are some cases when you need to use a reserved keyword or
language construct as a class method name. In this instance, there is
very little chance of namespace conflicts (as the class itself acts as
a namespace). If you try to define the method the old way, you will
get an unexpected token error.

There is an unobtrusive, and very useful way to use a reserved keyword


for a method name. For example, you want to define two class methods
'list' and 'unset' (these two are language builtins and normally not
allowed for method names).

<?php
class MyClass
{
// Define MyClass::unset() with a different name, e.g. 'rm'
public function rm($arg)
{
/* code... */
}
// Define MyClass::list() with a different name, e.g. 'ls'
public function ls($arg = null)
{
/* code... */
}
// Now define a __call() method (requires PHP > 5.2.3 to take
effect)
public function __call($func, $args)
{
switch ($func)
{
case 'list':
return $this->ls((isset($args[0]))? $args[0]: null);
break;
case 'unset':
return $this->rm($args[0]);
break;
default:
trigger_error("Call to undefined method
".__CLASS__."::$func()", E_USER_ERROR);
die ();
}
}
}
?>

The only caveat is that to use the long method names, you need PHP >
5.2.3. However, a nice feature is that if you are using an older
version than 5.2.3, all of the __call() stuff is ignored and the class
will behave as expected (in other words, it degrades gracefully).

You also need to be aware of the methods' expected arguments.


MyClass::ls()'s argument is optional, so the extra isset() check is
required. If your methods take more arguments, they will need to be
manually dereferenced from the $args array, e.g. <?php return $this-
>my_func($args[0], $args[1],$args[2]);?> for 3 required arguments.

This is a nice trick, and can let you code better APIs for newer
versions of PHP. However, if this script is to be run on older PHP
installations, be very sure to use the short method names.

You might also like