Ethical Hacking utilizando BackTrack - Fedora-es
Ethical Hacking utilizando BackTrack - Fedora-es
Ethical Hacking utilizando BackTrack - Fedora-es
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:");