[Programaci髇] Re: [Programaci锟斤拷锟斤拷Re: [Programaci
贸n] =?iso-8859-1?Q?Sistema_de_pre-inscripci=F3
n_a_eventos_y_jornadas?=
Nicol谩s Aimetti
programacion@lugro.org.ar
Thu, 15 Dec 2005 23:47:19 -0300
soy yo nom谩s, o este mail llego completamente cabaruleado?
Rafael Bidegain wrote:
>El 15/12/05, Arino Omar<ArinoO@bancobsf.com.ar> escribi贸:[..]> Bueno, espero opiniones y mejoras[..]
>le pase el tidy y toque muy poquitas cosas.
><?PHP/*----------------------------------------------*//* Sistema de registraci脙鲁n de asistentes y/o *//* conferencistas, invitados, etc. a jornadas *//* y/o eventos varios *//*----------------------------------------------*//* Desarrolado y distribuido bajo licencia GPL *//* 2005 por Omar Arino y miembros del grupo de *//* usuario linux de Rosario (LUGRO) *//* www.lugro.org.ar *//* arinoo@sinectis.com.ar *//* Versi贸n 0.1.20051215 *//*----------------------------------------------*/
>/*----------------------------------------------*//* Funci贸n para mostrar el contenido del array. *//* Par谩metro de entrad un array *//*----------------------------------------------*/
>function MuestraArray($array){ print ("<pre>"); print_r ($array); print ("</pre>\n");}
>
>/*----------------------------------------------*//* Inicio del script *//* Leo el archivo de configuraci贸n del formu- *//* lario. Este archivo posee 6 elementos separa-*//* dos por ";" *//* 1 => nombre del campo *//* 2 => Texto para identificar el campo *//* 3 => valor por defecto *//* 4 => expresi贸n regular para validaci贸n *//* 5 => informa si el campo es obligatorio(T/F) *//* 6 => informa el largo maximo en caract. *//* *//* El archivo se almacena en el directorio: *//* config.form y el nombre del archivo a leer es*//* config.inc.txt *//* este archivo es de texto plano y cada elemen-*//* to est谩 separado por punto y coma (;) *//*----------------------------------------------*/
>// Leo el archivo y lo almaceno en el array $campos// cada entrada en este array es un campo para el// formulario$campos = file("config.form/config.inc.txt");
>// verifico que este script alla recibido por el// metodo post la variable "accition"// esta variable indica que tipo de proceso debe// realizarse.// si no existe se muestra el formulario.
>//cabecerasprint ("<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n");print ("<html>\n");print ("<head>\n");print ("<meta name=\"generator\" content=");print ("\"HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org\">\n");print ("<title>form de registración</title>\n");print ("</head>\n");print ("<body>\n");
>if (!$_POST['acction']){/* Inicio la construcci贸n del formulario con los*//* valores que contiene el archivo de config. */
>// Inicializo el formularioprint ("<FORM ACTION=\"$_SERVER[PHP_SELF]\" METHOD=\"POST\">\n");
>// Inicializo la tablaprint("<TABLE BORDER=\"1\" ALIGN=\"CENTER\" CELLPADDING=\"1\"CELLSPACING=\"0\" SUMMARY=\"formulario de inscripcion\">");
>// Cuento la cantidad de campos que va a tener// el formulario y hago un bucle para cada elemento.for ($n=0; $n <count($campos); $n++){ // cada elemento de configuraci贸n del campo lo almaceno // en el array $elemento $elementos=explode(";",$campos[$n]); // Muesto la identificaci贸n del campo print ("<TR>\n<TD>".$elementos[1].": "); print ("</TD>\n<TD>"); // Armo el campo para ingresar el elemento pre definido print("<INPUT TYPE=\"TEXT\" NAME=\"formulario[".$elementos[0]."]\""); // Muestro el valor por defecto print(" Value=\"".$elementos[2]."\""); // Seteo el valor maximo de caracteres print(" Maxlength=\"".trim($elementos[5])."\""); // Seteo el largo maximo del campo en el formulario print(" Size=\"".trim($elementos[5])."\""); print(">"); print("</TD>\n</TR>\n");}// Creo un campo escondido con el valor para acctionprint ("<TR><TD><INPUT TYPE=\"HIDDEN\" NAME=\"acction\"VALUE=\"verifica\"> </TD>\n");// Agrego los botones para el formulari!
>oprint ("<TD ALIGN=\"RIGHT\"><INPUT TYPE=\"SUBMIT\"VALUE=\"Enviar\"><INPUT TYPE=\"RESET\"VALUE=\"Borrar\"></TD>\n</TR>\n");print("</table>\n"); // cierro la tablaprint ("</FORM>\n"); // cierro el formulario} else {
>/* Inicio la validaci贸n de los dataos con los *//* valores que contiene el archivo de config. */
>// si existe la variable acction// Llamo a la funci贸n MuestraArray con el array// formulario que es recibido por el m茅todo PostMuestraArray($_POST['formulario']);
>// almaceno los valore recibidos por el m茅todo POST// en una variable local$formulario = $_POST['formulario'];// Inicializo una tablaprint("<TABLE BORDER=\"1\" ALIGN=\"CENTER\" CELLPADDING=\"1\"CELLSPACING=\"0\" SUMMARY=\"formulario de inscripcion\">");
>// Cuento la cantidad de campos que va a tener// el formulario y hago un bucle para cada elemento.for ($n=0; $n <count($campos); $n++){ // cada elemento de configuraci贸n del campo lo almaceno // en el array $elemento $elementos=explode(";",$campos[$n]); // valido los datos ingresados contra la expresi贸n regular $valida = ereg($elementos[3], $formulario[$elementos[0]]); if ($valida) { print ("<TR>\n"); } else { // en el caso de que no valide se marca de otro color // la fila de la tabla print ("<TR bgcolor=\"red\">\n"); } print ("<TD bgcolor=\"white\">".$elementos[1].": "); print ("</TD>\n<TD bgcolor=\"white\">"); print("<INPUT TYPE=\"TEXT\" NAME=\"formulario[".$elementos[0]."]\""); print(" Value=\"".$formulario[$elementos[0]]."\""); // print("Maxlength="$elementos[5]); print(" Size=\"".trim($elementos[5])."\""); if ($valida) { // en el caso de que si valide se marca el campo del // formulario como de solo!
> lectura. print(" Readonly>"); } else { // se muestra un mensaje para que se reingrese el valor print("> <b>Por favor ingrese un valor</b>"); } print("</TD>\n</TR>\n");}print("</table>\n");
>
>// Hipervinculo que lleva al inicio del script
>print ("<a href=".$_SERVER['SCRIPT_NAME'].">Volver</a>\n");}print("</body>\n");print("</html>\n");?>
>
>--/* Rafael BidegainLinux Registered User # 204304CaFeLUG Grupo de Usuarios de Software Libre de Capital Federalhttp://www.cafelug.org.ar */
>_______________________________________________
>Programacion mailing list
>Programacion@lugro.org.ar
>http://www.lugro.org.ar/mailman/listinfo/programacion
>
>
>