Formularios y PHP

25
Formularios y PHP Introducción a la ingeniería en computación Moisés E. Ramírez G. Páginas con información: http://www.webestilo.com/php - Tutorial basico http://www.php.net/manual/es - Manual en español (Checar la sección II)

description

Formularios y PHP. Introducción a la ingeniería en computación Moisés E. Ramírez G. Páginas con información: http://www.webestilo.com/php - Tutorial basico http://www.php.net/manual/es - Manual en español (Checar la sección II). Formularios. - PowerPoint PPT Presentation

Transcript of Formularios y PHP

Page 1: Formularios y PHP

Formularios y PHP

Introducción a la ingeniería en computaciónMoisés E. Ramírez G.

Páginas con información:http://www.webestilo.com/php - Tutorial basicohttp://www.php.net/manual/es - Manual en español (Checar la sección II)

Page 2: Formularios y PHP

Formularios Sirven para enviar

información de una página a otra.

<HTML> <HEAD> <TITLE>Ejemplo 14</TITLE> </HEAD> <BODY>

<H1>Formularios</H1>

<FORM ACTION=“pagina.php" METHOD="POST"> <INPUT TYPE="text" NAME="nombre"><BR> <INPUT TYPE="submit"><INPUT TYPE="Reset"> </FORM>

</BODY> </HTML>

Page 3: Formularios y PHP

Campos de entrada type="" Indicará el tipo de variable a introducir.

text Indica que el campo a introducir será un texto. Sus atributos: maxlenght="" Seguido de un valor que limitará el número

máximo de carácteres a introducir en ese campo. size="" Seguido de un valor que limitará el numero de

carácteres a mostrar en pantalla. value="" Indica que no hay valor inicial del campo.

Password Indica que el campo a introducir será una palabra de paso. Mostrará asteriscos en lugar de letras escritas. Sus atributos serán los mismos que para text.

Checkbox El campo se elegirá marcando de entre varias opciones una casilla cuadrada. value="" Entre comillas se indicará el valor de la casilla. checked La casilla aparecerá marcada por defecto.

Page 4: Formularios y PHP

Radio El campo se elegirá marcando de entre varias opciones una casilla circular. value="" Entre comillas se indicará el valor de la casilla.

Image El campo contendrá el valor en coordenadas del punto de la imagen que haya pinchado. Atributo obligatorio: src="" Entre comillas escribiremos el nombre del archivo

de imagen.

hidden El visitante no puede modificar su valor ya que no está visible. Se manda siempre junto al atributo value= seguido de su valor entre comillas.

Name="" Indicará el nombre que se asigna a un determinado campo.

Page 5: Formularios y PHP

Botones Se definen mediante la etiqueta <input> a la que le acompañan los

atributos:

type="" Seguido de submit para enviar los datos del formulario y seguido de reset para borrar los datos que se han introducido.

Value="" Indica el texto que incorporaran los botones. Normalmente, enviar y borrar

<FORM ACTION=“pagina.php" METHOD="POST"> <TEXTAREA COLS=20 ROWS=10 NAME="Texto"> </TEXTAREA> <BR><BR> <INPUT TYPE="submit"><INPUT TYPE="Reset">

</FORM>

Page 6: Formularios y PHP

Un formulario1) <html> 2) <head> 3) <title>Ejemplo1 de PHP</title> 4) </head> 5) <body> 6) <H1>Ejemplo de procesado de

formularios</H1> 7) <FORM ACTION="ejemplo1.php" METHOD="GET"> 8) Introduzca su nombre:<INPUT TYPE="text"

NAME="nombre"><BR> 9) Introduzca sus apellidos:<INPUT

TYPE="text" NAME="apellidos"><BR> 10) <INPUT TYPE="submit" VALUE="Enviar"> 11) </FORM> 12) </body> 13) </html>

Page 7: Formularios y PHP

Algo de PHP (ejemplo1.php)

1. <html> 2. <head> 3. <title>Ejemplo1 de PHP</title> 4. </head> 5. <body> 6. <?php 7. if(strlen( $nombre)==0)8. { $nombre=$_GET['nombre'];9. $apellidos=$_GET['apellidos'];10. }11. echo " Nombre: $nombre <br>" ;12. echo " Apellidos: $apellidos <br>" ;13. ?>14. </body> 15. </html>

Page 8: Formularios y PHP

Problema 1. Tomar 2 números fraccionarios (numerador y denominador) y mostrar (usando tablas) su suma, resta, división y multiplicación. No mostrar los resultados en decimales. También deberán reducir la fracción a su mínima expresión, por ejemplo 100/50 se puede reducir a 2 ó 2/1 1. function reduce_fraccion($num,$den)2. { $num=(int)$num;3. $den=(int)$den;4. 5. for($i=2; $i<=$num && $i<=$den;)6. { if($num %$i==0 && $den %$i==0 )7. { $num=$num/$i;8. $den=$den/$i;9. }10. else11. $i++;12. }13. $arreglo[0]=$num;14. $arreglo[1]=$den;15. return $arreglo;16. }

Page 9: Formularios y PHP

1. echo "Los datos originales son: $n1/$d1 y $n2 /

$d2 <br><br>";2. if($d1==0 || $d2==0 || $n2==0)3. { echo "Se está tratando de hacer una división

por cero<br><br>";4. die("<a href=\"prob1.html\">Introducir datos

otra vez</a>" );5. }

6. $sn=$d2*$n1+$d1*$n2;7. $sd=$d1*$d2;8. $arreglo=reduce_fraccion($sn,$sd);9. echo "La suma es: $sn / $sd =

$arreglo[0]/$arreglo[1]<br><br>";

10.$sn=$d2*$n1-$d1*$n2;11.$sd=$d1*$d2;12.$arreglo=reduce_fraccion($sn,$sd);13.echo "La resta es: $sn / $sd =

$arreglo[0]/$arreglo[1]<br><br>";14.. . .

Page 10: Formularios y PHP

Problema 2. Tomar cualquier cantidad de números números y mostrar el mayor, el menor y su promedio. Sugerencia: usar un TEXTAREA para adquirir los números. 1. $nums=split("\n",$numeros);2. for($i=0; $i<count($nums); $i++)3. { $nums[$i]=chop($nums[$i]);4. }5. $numeros=join(",",$nums);6. echo "Datos originales: ".$numeros."<br>";

7. $suma=$min=$max=$nums[0];8. for($i=1;$i<count($nums); $i++)9. { if($nums[$i]>$max)10. $max=$nums[$i];11. if($nums[$i]<$min)12. $min=$nums[$i];13. $suma+=$nums[$i];14. }15. $suma=$suma/count($nums);

16. echo "<br>El máximo es $max <br><br>";17. echo "El minimo es $min <br><br>";18. echo "El promedio es $suma <br><br>";

Page 11: Formularios y PHP

Problema 3. Tomar un número y mostrarlo y junto con sus factores primos en una tabla. Por ejemplo: de 15, sus factores primos son: 3 y 5. De 12 son 2, 2 y 3.

1. echo "El número que me diste fue $num. <br> <br> Sus factores primos son:<br><br>";

2. echo "<table bgcolor=dddddd align=center>";3. echo "<tr><td><font color=black> Número

</td><td><font color=black>Factor</td><tr>";

4. for($i=2; $i<=$num;)5. { if($num%$i==0)6. { echo "<tr><td><font color=black> $num

</td><td><font color=black><b>$i</b>";7. $num=$num/$i;8. echo "</td><tr>";

9. }else10. $i++;11. }12. echo "</table>";

Page 12: Formularios y PHP

Problema 4. Obtener el factorial de un número n y mostrar el proceso de obtención en una tabla.

1. echo "El número que me diste fue $num. <br> <br> El factorial es<br><br>";

2. echo "<table bgcolor=dddddd align=center>";3. echo "<tr><td><font color=black>

Fact(x)</td><td><font color=black>Valor</td><tr>";

4. for($i=1,$prod=1; $i<=$num;$i++)5. { echo "<tr><td><font

color=black>f($i)</td><td><font color=black><b>f(".($i-1).") * $i";

6. $prod*=$i;7. echo "=$prod</b>";8. echo "</td><tr>";9. }10.echo "</table>";11.echo "<br><br>El factorial de $num es: $prod " ;

Page 13: Formularios y PHP

Problema 5. Mostrar la tabla de multiplicar de un número en una tabla

1. echo "El número que me diste fue $num. <br> <br> Su tabla de multiplicar es<br><br>";

2. echo "<table bgcolor=dddddd align=center>";

3. for($i=1,$prod=$num; $i<=10;$i++, $prod+=$num)4. { echo "<tr><td align=right><font color=black>$i x </td>";5. echo " <td align=center><font color=black>$num =

</td>";

6. echo " <td align=center><font color=black>$prod </td>";}

7. echo "</table>";

Page 14: Formularios y PHP

Problema 6. Mostrar n y el resultado de la siguiente suma: 1+2+3+...+n usando ciclos. Así como su proceso de obtención en una tabla (análogo al problema 4). Mostrar el resultado usando también la formula de Gauss.

1. echo "El número que me diste fue $num. <br> <br> La sumatoria es<br><br>";

2. echo "<table bgcolor=dddddd align=center>";3. echo "<tr><td><font color=black> Suma(x)</td><td><font

color=black>Valor</td><tr>";4. echo "S(0)=0<br>";5. for($i=1,$prod=0; $i<=$num;$i++)6. { echo "<tr><td><font

color=black>S($i)</td><td><font color=black><b>S(".($i-1).") + $i";

7. $prod+=$i;8. echo "=$prod</b>";9. echo "</td><tr>";10. }11. echo "</table>";12. echo "<br><br>La sumatoria de 1 + 2 + ... + $num = $prod

" ;13. echo "<br><br>Usando la formula de Gauss:

($num)*($num+1)/2=($num*".($num+1).")/2=".($num*($num+1)/2);

Page 15: Formularios y PHP

Problema 7. Hacer una función que sirva para determinar si un número es o no primo y usarla en el siguiente problema:

Pedir dos números m y n y mostrar los números que están entre dichos valores diciendo si el número es o no primo (mostrar la información en una tabla). 1. function primo($num)2. { for($i=2, $es=1; $i<=$num/2; $i++)3. { if($num%$i==0)4. $es=0;5. }6. return $es;7. }8. $num=(int)$num;9. echo "Los números que me diste fueron $num1 y

$num2. <br> <br> Los números primos son:<br><br>";

10.echo "<table bgcolor=dddddd align=center>";11.echo "<tr><td><font color=black>

Valor</td><td><font color=black>Tipo</td><tr>";

Page 16: Formularios y PHP

1. for($i=$num1; $i<=$num2;$i++)2. {3. if(primo($i)==1)4. { echo "<tr><td><font

color=black>$i</td><td><font color=black><b>";5. echo "primo</b>";6. echo "</td><tr>";7. }8. else 9. { if(strcmp($soloPrimos,"on")!=0)10. { echo "<tr><td><font

color=black>$i</td><td><font color=black><b>";

11. echo "compuesto</b>";12. echo "</td><tr>";

13. }14. }15. }16. echo "</table>";

Page 17: Formularios y PHP

Problema 8. Hacer una función para obtener los primeros n elementos de la serie de fibonacci, donde n es adquirido desde un formulario. 1. echo "El número que me diste fue $num. <br>

<br> Su serie de Fibonacci es<br><br>";2. echo "<table bgcolor=dddddd align=center>";3. echo "<tr><td><font color=black> Fib

(x)</td><td><font color=black>Valor</td><tr>";

4. $val1=0;5. $val2=1;6. if($num>=1)7. {8. echo "<tr><td><font color=black>f(0)</td>";9. echo " <td><font color=black>0";

10. echo " </td><tr>";11. }

Page 18: Formularios y PHP

1. if($num>=2)2. {3. echo "<tr><td><font color=black>f(1)</td>";4. echo " <td><font color=black>1";

5. echo " </td><tr>";6. }

7. for($i=2; $i<$num;$i++)8. { echo "<tr><td><font color=black>f($i)</td>";9. echo " <td><font color=black>f(".($i-1).")

+ f(".($i-2).")=".($val1+$val2);

10. echo " </td><tr>";11. $temp=$val1+$val2;12. $val1=$val2;13. $val2=$temp;14. }15. echo "</table>";

Page 19: Formularios y PHP

Problema 9. Tomar un número en base 10 y convertirlo a base b (considerar siempre 1<b<16). Mostrar el número y los residuos obtenidos, es decir el número en la nueva base (hay que tomar en cuenta que dichos residuos son obtenidos al reves en el proceso, deberán mostrar el resultado en el orden correcto). Mostrar también los residuos que se van obteniendoEjemplo: 1510 = 11112

$tnum=$num=(int)$num; $base=(int)$base;

echo "El número que me diste fue $num. <br> <br> Su equivalente en base $base es: <br><br>";

echo "<table bgcolor=dddddd align=center>"; echo "<tr><td><font color=black> Número </td><td><font

color=black>Residuo <br>entre $base</td><tr>";

$resultado="<sub>$base</sub>"; for( ;$num>0;) { $residuo=$num%$base;

echo "<tr><td><font color=black>$num</td><td><font color=black><b>".($residuo);

Page 20: Formularios y PHP

echo " </b>"; echo "</td><tr>"; $num=(int)(floor($num/$base)); if($residuo>9) switch($residuo) { case 10: $residuo="A"; break; case 11: $residuo="B"; break;

case 12: $residuo="C"; break;

case 13: $residuo="D"; break;

case 14: $residuo="E"; break;

case 15: $residuo="F"; break;

} $resultado=$residuo.$resultado; } echo "</table>"; echo "<br><br> $tnum<sub>10</sub> = $resultado" ;

Page 21: Formularios y PHP

Problema 10. Tomar un número cualquiera (de preferencia pequeño para que converga más rápido) la siguiente serie converge a uno siempre (criterio de paro) si se siguen las siguientes reglas: - Si el número n es par, reemplazarlo por n/2 (es decir hacer n=n/2)- Si el número es impar, reemplazarlo por 3*n+1Mostrar el número inicial y todos los que le siguen hasta que la serie converja a 1.

1. $num=(int)$num;2. $lim=280;3. echo "El número que me diste fue $num. <br> <br> La

serie es <br>(configurada a un máximo de $lim elementos)<br><br>";

4. echo "<table bgcolor=dddddd align=center>";5. echo "<tr><td><font color=black> Valor

</td><td><font color=black> Siguiente <br>Valor</td><td><font color=black> Barra</td><tr>";

6. $i=0;7. $temp=$num;8. $max=$num;

Page 22: Formularios y PHP

1. while($num!=1 && $i<$lim)2. { if($num%2==0)3. $num=$num/2;4. else5. $num=$num*3+1;6. $i++;7. if($num>$max)8. $max=$num;9. }10. $num=$temp;11. $i=0;12. while($num!=1 && $i<$lim)13. { echo "<tr><td><font color=black>$num</td>";14. if($num%2==0)15. $num=$num/2;16. else17. $num=$num*3+1;18. echo "<td><font color=black> $num";19. echo "</td>";20. echo "<td><img src=\"./img/barra.jpg\" height=10

width=".((int)($num*400/$max)).">";21. echo "</td><tr>";22. $i++;23. }24. echo "</table>";

Page 23: Formularios y PHP

Tablero ajedrez1. $n=5;

2. for($i=1; $i<=$n; $i++)

3. { echo "\n <tr>";

4. for($j=1; $j<=$n; $j++)

5. { if(($i+$j)%2==0 && $i>=$j)

6. echo "\n <td bgcolor=white align=center><font color=black>$i+$j=".($j+$i)."</td>";

7. else

8. echo "\n <td bgcolor=black align=center><font color=white>$i+$j=".($j+$i)."</td>";

9. }

10. }

Page 24: Formularios y PHP

serie1. function fact($num)2. {if($num>1)3. return $num*fact($num-1);4. else5. return 1;6. }7. function expo($num, $nter)8. { if($nter>1)9. return potencia($num,$nter-1)/fact($nter-

1)+expo($num,$nter-1);10. else11. return 1;12. }13. $n=10;14. echo fact($n)."<br>";15. for($i=1; $i<=$n; $i++)16. echo "<b>".expo(1,$i)." - $i</b> <br>";

Page 25: Formularios y PHP

Corrida del programa serie

1 - 1 2 - 2 2.5 - 3 2.6666666666667 - 4 2.7083333333333 - 5 2.7166666666667 - 6 2.7180555555556 - 7 2.718253968254 - 8 2.7182787698413 - 9 2.7182815255732 - 10