Crear FORMULARIOS para captura de datos Prof. Juan Carlos Lima.

16
Crear FORMULARIOS para captura de datos Prof. Juan Carlos Lima

Transcript of Crear FORMULARIOS para captura de datos Prof. Juan Carlos Lima.

Page 1: Crear FORMULARIOS para captura de datos Prof. Juan Carlos Lima.

Crear FORMULARIOS para captura de datos

Prof. Juan Carlos Lima

Page 2: Crear FORMULARIOS para captura de datos Prof. Juan Carlos Lima.

<body background="fondo.png"><div id="Layer1" style="position:absolute; width:200px; height:115px; z-index:1; left: 46px; top: 206px;"><form action="procesarorden.php" method=post><table border=0><tr bgcolor=#cccccc> <td width=150><font face="Arial, Helvetica, sans-serif">Libro</font></td> <td width=15><font face="Arial, Helvetica, sans-serif">Cantidad</font></td></tr><tr> <td><font face="Arial, Helvetica, sans-serif">ActionScript</font></td> <td align=center><font face="Arial, Helvetica, sans-serif"> <input type="text" name="actioncnt" size=3 maxlength=3> </font></td></tr>

Page 3: Crear FORMULARIOS para captura de datos Prof. Juan Carlos Lima.

<tr> <td><font face="Arial, Helvetica, sans-serif">Photoshop</font></td> <td align=center><font face="Arial, Helvetica, sans-serif"> <input type="text" name="photocnt" size=3 maxlength=3> </font></td></tr><tr> <td><font face="Arial, Helvetica, sans-serif">Flash MX </font></td> <td align=center><font face="Arial, Helvetica, sans-serif"> <input type="text" name="flashcnt" size=3 maxlength=3> </font></td></tr><tr> <td colspan=2 align=center><input type=submit value="Enviar Pedido"></td></tr></table></form></div>

Page 4: Crear FORMULARIOS para captura de datos Prof. Juan Carlos Lima.

Procesar datos de un formulario

Page 5: Crear FORMULARIOS para captura de datos Prof. Juan Carlos Lima.

<html><head> <title>Formulario de pedido de libros</title></head><body><h1>Librería Online </h1><h2>Resumen del Pedido </h2>

<? echo "<p>Pedido procesado el "; // Iniciando la impresión de la orden

echo date("jS F,H:i "); echo "<br>"; echo "<p>Su pedido es el siguiente:"; echo "<br>"; echo $actioncnt." ActionScript<br>"; echo $photocnt." Photoshop<br>"; echo $flashcnt." Flash MX<br>";

$totalcnt = 0; $totalmonto = 0.00;

Page 6: Crear FORMULARIOS para captura de datos Prof. Juan Carlos Lima.

define("ACTIONPRECIO", 100); define("PHOTOPRECIO", 10); define("FLASHPRECIO", 4);

$totalcnt = $actioncnt + $photocnt + $flashcnt; $totalmonto = $actioncnt * ACTIONPRECIO + $photocnt * PHOTOPRECIO + $flashcnt * FLASHPRECIO; echo "<br>\n"; echo "Artículos Pedidos: ".$totalcnt."<br>\n"; echo "Subtotal: Q."; echo number_format($totalmonto, 2); echo "<br>\n";

$IVA = 0.12; // lmpuesto local de IVA 12% $totalmonto = $totalmonto * (1 + $IVA); $totalmonto = number_format($totalmonto, 2); echo "Total incluyendo impuestos: Q.".$totalmonto."<br>\n";

?></body></html>

Page 7: Crear FORMULARIOS para captura de datos Prof. Juan Carlos Lima.

date()date -- da formato a la fecha/hora local

Descripciónstring date (string format [, int timestamp])Devuelve una cadena formateada de acuerdo con la cadena de

formato dada, utilizando el valor de timestamp dado o la hora local actual si no hay parámetro.

Se reconocen los siguientes caracteres en la cadena de formato:

a - "am" o "pm"A - "AM" o "PM"d - día del mes, dos dígitos con cero a la izquierda; es decir, de "01" a

"31"D - día de la semana, en texto, con tres letras; por ejemplo, "Fri"F - mes, en texto, completo; por ejemplo, "January"h - hora, de "01" a "12"H - hora, de "00" a "23"

Page 8: Crear FORMULARIOS para captura de datos Prof. Juan Carlos Lima.

date()g - hour, sin ceros, de "1" a "12"G - hour, sin ceros; de "0" a "23"i - minutos; de "00" a "59"j - día del mes sin cero inicial; de "1" a "31"l ('L' minúscula) - día de la semana, en texto, completo; por ejemplo, "Friday"L - "1" or "0", según si el año es bisiesto o nom - mes; de "01" a "12"n - mes sin cero inicial; de "1" a "12"M - mes, en texto, 3 letras; por ejemplo, "Jan"s - segundos; de "00" a "59"S - sufijo ordinal en inglés, en texto, 2 caracteres; por ejemplo, "th", "nd"t - número de días del mes dado; de "28" a "31"w - día de la semana, en número, de "0" (domingo) a "6" (sábado)Y - año, cuatro cifras; por ejemplo, "1999"y - año, dos cifras; por ejemplo, "99"z - día del año; de "0" a "365"Z - diferencia horaria en segundos (de "-43200" a "43200")

Page 9: Crear FORMULARIOS para captura de datos Prof. Juan Carlos Lima.

define()• define -- Define una constante con nombre.

• Descripción

• int define (string name, mixed value [, int case_insensitive])

• Define una constante con nombre, que es similar a una variable, excepto que:– Las constantes no tienen un símbolo dólar '$' precediéndolas;– Las constantes son accesibles desde cualquier lugar sin tener

en cuenta las reglas de ámbito de las variables.– Las constantes no pueden ser redefinidas o iniciadas una vez

que han sido establecidas, y– Las constantes sólo pueden evaluar valores escalares

Page 10: Crear FORMULARIOS para captura de datos Prof. Juan Carlos Lima.

define()• El nombre de la constante se da en name

(nombre); el valor se da en value (valor).

• El tercer parámetro opcional case_insensitive también se encuentra disponible. Si se da el valor 1, la constante se definirá no dintinguiendo mayúsculas/minusculas. El comportamiento por defecto es si distinguir; i.e. CONSTANT y Constant representan valores diferentes.

• Ejemplo Definición de Constantes

<?phpdefine("CONSTANT", "Hello world.");echo CONSTANT; // outputs "Hello world."?>

Page 11: Crear FORMULARIOS para captura de datos Prof. Juan Carlos Lima.

number_formatnumber_format -- formatea un número en grupos de milesDescripciónstring number_format (float number, int decimals, string

dec_point, string thousands_sep)number_format() devuelve la versión formateada de number.

Esta función acepta tanto uno, como dos o cuatro parámetros (tres no):

• Si sólo se da un parámetro, number será formateado sin decimales, pero con una coma (",") entre cada grupo de miles.

• Si se dan dos parámetros, number será formateado con decimals decimales con un punto (".") al principio, y una coma (",") entre cada grupo de miles.

• Si se dan cuatro parámetros, number será formateado con decimals decimales, dec_point en vez del punto (".") antes de los decimales y thousands_sep en vez de la coma (",") entre cada grupo de miles.

Page 12: Crear FORMULARIOS para captura de datos Prof. Juan Carlos Lima.

Ejercicio

• Crear un formulario con los siguientes datos:

• Nombre, cargo, sueldo, bonificación y Horas Extras

• Tomando en cuenta que cada empleado trabajó 30 días y 8 horas diarias, calcule:

• IGSS sobre sueldo 4.83%• Pago por horas extras• Sueldo liquido

Page 13: Crear FORMULARIOS para captura de datos Prof. Juan Carlos Lima.

Mejoras al Pedido

<tr> <td>¿Cómo conoció nuestra librería</td> <td><select name="find"> <option value = "a">Soy un cliente habitual <option value = "b">Anuncios de Televisión <option value = "c">Informaciones en internet <option value = "d">Me lo aconsejó un amigo </select> </td></tr>

Page 14: Crear FORMULARIOS para captura de datos Prof. Juan Carlos Lima.

Mejoras a Proceso de Pedidos<html><head> <title>Formulario de pedido de libros</title></head><body><h1>Librer&iacute;a Online </h1><h2>Resumen del Pedido </h2>

<? echo "<p>Pedido procesado el "; // Start printing order

echo date("jS F,H:i "); echo "<br>"; echo "<p>Su pedido es el siguiente:"; echo "<br>"; $totalqty = 0; $totalamount = 0.00; define("ACTIONPRICE", 100); define("PHOTOPRICE", 10); define("FLASHPRICE", 4);

Page 15: Crear FORMULARIOS para captura de datos Prof. Juan Carlos Lima.

if( $actionqty < 10 ) $descuento = 0;

elseif( $actionqty >= 10 && $actionqty <= 49 ) $descuento = 5;

elseif( $actionqty >= 50 && $actionqty <= 99 ) $descuento = 10; elseif( $actionqty > 100 ) $descuento = 15; $totalqty = $actionqty + $photoqty + $flashqty; $totalamount = $actionqty * ACTIONPRICE + $photoqty * PHOTOPRICE + $flashqty * FLASHPRICE; if( $totalqty == 0 ) { echo "<font color=red>"; echo "No ha introducido ninguna cantidad en el formulario<br>";

echo "</font>"; } else { if($actionqty>0) echo $actionqty." actionscript<br>"; if($photoqty>0) echo $photoqty." photoshop<br>"; if($flashqty>0) echo $flashqty." flash<br>"; }

Page 16: Crear FORMULARIOS para captura de datos Prof. Juan Carlos Lima.

echo "<P>Descuento en libros ActionScript = ".$descuento."%";switch($find) { case "a" : echo "<P>Se trata de un cliente habitual."; break; case "b" : echo "<P>Este cliente nos ha conocido por los anuncios de televisión."; break; case "c" : echo "<P>Este cliente nos ha conocido por informaciones en Internet"; break; case "d" : echo "<P>Este cliente nos ha conocido por aviso de un amigo"; break; default : echo "<P>No sabemos como nos ha encontrado este cliente."; break; }

?></body></html>