14.05.2013 Views

Ethical Hacking utilizando BackTrack - Fedora-es

Ethical Hacking utilizando BackTrack - Fedora-es

Ethical Hacking utilizando BackTrack - Fedora-es

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

86<br />

programación<br />

php – Muuu Forms<br />

Figura 3. Agregados campos para nombre de<br />

usuario y clave<br />

mejor nos parezca. Podemos, por ejemplo, usar<br />

las típicas tablas o usar CSS (Listado 2).<br />

El bloque de código que acabamos de<br />

<strong>es</strong>cribir nos servirá para la cantidad de campos<br />

que queramos. Es decir, en adelante nos bastará<br />

sólo con agregar más campos con addField<br />

para que se impriman inmediatamente. Sin embargo,<br />

vamos a agregarle algunos detall<strong>es</strong> para<br />

mejorar su pr<strong>es</strong>entación y funcionamiento:<br />

• Le agregamos algunas etiquetas para mejorar<br />

su aspecto con CSS.<br />

• Incluiremos el array de error para que nos<br />

funcione también cuando incluyamos las<br />

reglas y los filtros.<br />

• Agregaremos un bloque condicional IF para<br />

indicar que se hará cuando el formulario<br />

sea enviado correctamente.<br />

Finalmente el bloque para imprimir nu<strong>es</strong>tro<br />

formulario nos quedará de la siguiente manera<br />

(Listado 3).<br />

Luego de agregar nu<strong>es</strong>tros primeros campos<br />

y al haber incluido el código para imprimir<br />

el formulario, obtenemos lo que aparece en la<br />

Figura 1: (Tabla 1).<br />

Ahora nos queda seguir incluyendo campos<br />

mediante el método addField. Comencemos<br />

con pedirle a nu<strong>es</strong>tro usuario su fecha<br />

de nacimiento y su correo electrónico (Listado<br />

4).<br />

Lo anterior r<strong>es</strong>ultará en un formulario como<br />

el que aparece a continuación. Cabe señalar<br />

que el tipo de texto y color<strong>es</strong> se ha definido en<br />

la hoja de <strong>es</strong>tilos CSS.<br />

Lo siguiente será agregar un campo para<br />

que se ingr<strong>es</strong>e un nombre de usuario, una clave<br />

y, finalmente, otro campo para que se repita la<br />

clave a modo de verificación (Listado 5).<br />

Luego de agregados los nuevos campos<br />

tendremos el siguiente r<strong>es</strong>ultado (Figura 3).<br />

Para completar los datos que le solicitamos<br />

a nu<strong>es</strong>tro usuario, incluiremos un campo tipo<br />

select, otro tipo radio y finalmente uno tipo<br />

checkbox (Listado 6).<br />

Para completar el ejemplo, agregamos algunos<br />

títulos y líneas horizontal<strong>es</strong> para mejorar<br />

la pr<strong>es</strong>entación.<br />

// Ejemplo de un título<br />

$form->addField("html","titulo1","",a<br />

rray("html"=>"Datos personal<strong>es</strong>"));<br />

Lo que obtendremos luego de <strong>es</strong>tas modificacion<strong>es</strong><br />

<strong>es</strong> lo siguiente (Figura 4).<br />

Linux+ 7-8/2009<br />

Para <strong>es</strong>ta primera parte del ejemplo hemos<br />

ocupado sólo algunos de los campos HTML,<br />

pero en tus proyectos pued<strong>es</strong> usar cualquier<br />

campo HTML válido.<br />

Manos a la Obra:<br />

La validación<br />

Un formulario sin validación <strong>es</strong>, en gran medida,<br />

inútil. Es por <strong>es</strong>to que abordaremos cómo<br />

agregar reglas y filtros para asegurarnos de que<br />

la información que ingr<strong>es</strong>a el usuario <strong>es</strong> del tipo<br />

que <strong>es</strong>peramos.<br />

Utilizando el formulario que ya creamos,<br />

iremos agregando reglas de acuerdo a las nec<strong>es</strong>idad<strong>es</strong><br />

de cada caso.<br />

Listado 3. Agregamos el procedimiento a realizar cuando el formulario sea enviado correctamente<br />

// Si <strong>es</strong> enviado correctamente lo proc<strong>es</strong>amos, para <strong>es</strong>to consultamos el<br />

método "formSucc<strong>es</strong>s"<br />

if($form->formSucc<strong>es</strong>s()==true){<br />

// Aquí lo que se hará cuando se envíe el formulario correctamente<br />

}else{<br />

$form->startForm();<br />

echo "<br />

Linux+";<br />

foreach($form->fieldsarray as $key=>$value){<br />

echo "".$form->labelsarray[$key].<br />

"$value";<br />

echo "".$form->instructionsarray[$key]."";<br />

echo "".$form->errorarray[$key]."";<br />

}<br />

}<br />

echo "";<br />

$form->endForm();<br />

Listado 4. Agregamos un campo 'fecha' con instruccion<strong>es</strong> sobre el formato<br />

// Agregamos un campo tipo "text" para la fecha de nacimiento y le<br />

indicamos al usuario la instrucción sobre el formato para ingr<strong>es</strong>ar la fecha<br />

$form->addField("text","nacimiento","Fecha de nacimiento:",array("instruct<br />

ions"=>"Formato DD/MM/AA"));<br />

// Un nuevo campo "text" para el correo<br />

$form->addField("text","correo","Correo:");<br />

Listado 5. Incluimos un nuevo campo con instruccion<strong>es</strong> sobre la extensión de carácter<strong>es</strong><br />

// Campo para el nombre de usuario, indicando las instruccion<strong>es</strong> sobre su<br />

extensión<br />

$form->addField("text","usuario",<br />

"Nombre de Usuario:",array("instructions"=>"Entre 2 y 10 caracter<strong>es</strong>"));<br />

// Campo tipo "password" para la clave<br />

$form->addField("password","clave1","Clave:");<br />

// Campo para que se verifique la clave ingr<strong>es</strong>ada<br />

$form->addField("password","clave2","Repita la clave:");

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!