Ejemplos Y Ejercicios PHP - Curso
Ejemplos Y Ejercicios PHP - Curso
Ejemplos Y Ejercicios PHP - Curso
IDSYSTEMS 2011
IDSYSTEMS 2011
Contenido
PRACTICA 1
.........................................................................................................................................
........ 7
PRACTICA 2
.........................................................................................................................................
........ 7
PRACTICA 3
.........................................................................................................................................
........ 7
PRACTICA 4
.........................................................................................................................................
........ 8
Ejercicio 1 - 01_info.php
............................................................................................................................. 8
Ejercicio 2 02_hola.php.....................................................................................................................
........ 9
Ejercicio 3 - 03_hola2.php
.......................................................................................................................... 9
PRACTICA 5
.........................................................................................................................................
...... 10
Ejercicio 4 04_variable1.php.............................................................................................................
...... 11
Ejercicio 5 05_variable2.php.............................................................................................................
...... 12
Ejercicio 6 - 06_break.php
........................................................................................................................ 13
Ejercicio 7 - 07_break2.php
...................................................................................................................... 14
Ejercicio 8 - 08_weekdays1.php
............................................................................................................... 15
Ejercicio 9 - 09_weekdays2.php
............................................................................................................... 16
Ejercicio 10 - 10_Operaciones.php
........................................................................................................... 17
Ejercicio 11 - 11_Comparacion.php
.......................................................................................................... 18
Ejercicio 12 12_Logicos.php................................................................................................................
.... 19
Ejercicio 13 - 13_Ejer01.php
..................................................................................................................... 20
Ejercicio 14 - 14_Redondeo.php
............................................................................................................... 21
Ejercicio 15 - 15_if.php
............................................................................................................................. 22
Ejercicio 16 IF..Else
................................................................................................................................. 23
PRACTICA 6
.........................................................................................................................................
...... 23
PRACTICA 7
.........................................................................................................................................
...... 23
PRACTICA 8
.........................................................................................................................................
...... 24
PRACTICA 9
.........................................................................................................................................
...... 24
Ejercicio 17 - 16_switch.php
..................................................................................................................... 24
Ejercicio 18 17_Tabla1.php.................................................................................................................
.... 25
Ejercicio 19 - 18_tabla2.php
..................................................................................................................... 27
Ejercicio 20 - 19_tabla3.php
..................................................................................................................... 28
Ejercicio 21 20_while.php...................................................................................................................
.... 29
20.html ........................................................................................................................
.......................... 30
Ejercicio 22 20_whileB.php.................................................................................................................
.... 31
PRACTICA 10
.........................................................................................................................................
.... 32
Ejercicio 23 21_libreria.phtml.............................................................................................................
.... 32
22_pag1.php.................................................................................................................
......................... 33
23_pag2.php.................................................................................................................
......................... 33
Ejercicio 24 24_analisis.php................................................................................................................
.... 34
Ejercicio 25 25_analisis.php................................................................................................................
.... 36
Ejercicio 26 26_analisis.php................................................................................................................
.... 37
Ejercicio 27 - 27_pass1.php
...................................................................................................................... 38
CUADERNO DE EJERCICIOS Y PRACTICAS
Pgina 2
[PHP]
IDSYSTEMS 2011
Newpage1.html ...........................................................................................................
.......................... 39
Newpage2.html ...........................................................................................................
.......................... 39
Sorry.html.....................................................................................................................
......................... 39
Ejercicio 28 28_feedback.php.............................................................................................................
.... 40
Ejercicio 29 - 29_counter.php
................................................................................................................... 42
Ejercicio 30 30_guestbook.php...........................................................................................................
.... 43
Ejercicio 31 - 31_encuesta.php
................................................................................................................. 45
Ejercicio 32 32_readfeeds...................................................................................................................
.... 46
PRACTICA 10 Formulario (controles text y submit)
............................................................................... 47
PRACTICA 11 Formulario (control radio)
............................................................................................... 47
PRACTICA 12 - Formulario (control
checkbox)......................................................................................... 47
PRACTICA 13 Formulario (control select)
.............................................................................................. 47
PRACTICA 14 Formulario (control textarea)
.......................................................................................... 48
PRACTICA 15 Vectores (tradicionales)
................................................................................................... 48
PRACTICA 16 Creacion de un archivo de texto
...................................................................................... 48
PRACTICA 17 Lectura de un archivo de texto
........................................................................................ 49
PRACTICA 18 Vectores (asociativos)
...................................................................................................... 49
PRACTICA 19 Funciones
......................................................................................................................... 49
Ejercicio 33 - 33_seguridad
....................................................................................................................... 51
Ejercicio 34 - 34_album.php
..................................................................................................................... 52
Ejercicio 40 - 40_mysql01.php
.................................................................................................................. 54
Ejercicio 41 - 41_mysql02.php
.................................................................................................................. 55
Ejercicio 42 - 42_mysql03.php
.................................................................................................................. 56
Acceso.inc.php ............................................................................................................
.......................... 57
Ejercicio
43
Alta
de
registros..................................................................................................................
58
pagina2.php................................................................................................................
........................... 58
PRACTICA 20 Insert (alta de registros en una
tabla).............................................................................. 59
Ejercicio 44
Listado.............................................................................................................................
.... 59
PRACTICA 21 Listado (seleccion de registros de una
tabla)................................................................... 60
Ejercicio
45
Consulta
.............................................................................................................................. 60
pagina2.php................................................................................................................
........................... 60
PRACTICA 22 Consulta (seleccin de registros de una tabla)
................................................................ 61
Ejercicio
46
Delete
.................................................................................................................................
61
pagina2.php................................................................................................................
........................... 61
PRACTICA 23 Delete (Baja de un registro en una tabla)
........................................................................ 62
Ejercicio 47 Delete (todo)
...................................................................................................................... 62
PRACTICA 24 Delete (Baja de todos los registros de una tabla)
............................................................ 63
Ejercicio
48
Update
................................................................................................................................
63
pagina2.php................................................................................................................
...........................
63
pagina3.php................................................................................................................
........................... 64
PRACTICA 25 Update (Modificacion de un registro de una tabla)
........................................................ 64
Ejercicio
49
Insert...........................................................................................................................
........
65
pagina2.php................................................................................................................
........................... 65
PRACTICA 26 Insert (y consulta de otra
tabla)....................................................................................... 66
CUADERNO DE EJERCICIOS Y PRACTICAS
Pgina 3
[PHP]
IDSYSTEMS 2011
Update
2
tablas................................................................................................................... 68
pagina2.php................................................................................................................
...........................
68
pagina3.php................................................................................................................
........................... 69
PRACTICA 29 Update (modificacion de un registro trabajando con dos tablas)
................................... 69
Ejercicio 53 Group by
............................................................................................................................. 70
PRACTICA 30 Clausula Group by de SQL
................................................................................................ 70
Ejercicio
54
Parametros
en
hipervinculo
...............................................................................................
71
pagina2.php................................................................................................................
........................... 71
PRACTICA 31 Parametros en un
hipervinculo........................................................................................ 72
Ejercicio 55
Paginacion.......................................................................................................................
.... 72
PRACTICA 32 Paginacion de registros
.................................................................................................... 73
Ejercicio
56
Subir
un
archivo
..................................................................................................................
73
pagina2.php................................................................................................................
........................... 74
PRACTICA 33 Subir un archivo al servidor (upload)
............................................................................... 74
Ejercicio
57
Cookies
............................................................................................................................... 74
pagina2.php................................................................................................................
........................... 75
PRACTICA 34 Creacion y lectura de una cookie
..................................................................................... 76
Ejercicio
58
Borrado
de
cookie
..............................................................................................................
76
pagina2.php................................................................................................................
........................... 76
PRACTICA 35 Borrado de una cookie
..................................................................................................... 77
Ejercicio
59
Cookie
de
sesion
.................................................................................................................
77
pagina2.php................................................................................................................
........................... 78
Ejercicio
60
Variables
de
sesion
.............................................................................................................
78
pagina2.php................................................................................................................
...........................
79
pagina3.php................................................................................................................
........................... 79
PRACTICA 36 Variables de sesion ($_SESSION)
..................................................................................... 80
Ejercicio
61
Incluir
un
archivo
externo
..................................................................................................
80
pagina2.php................................................................................................................
........................... 80
PRACTICA 37 Incluir un archivo externo (require_once)
....................................................................... 81
Ejercicio
62
Redireccionar
a
otra
pagina................................................................................................
81
pagina2.php................................................................................................................
........................... 82
PRACTICA 38 Redireccionar a otra pagina (header)
.............................................................................. 82
Ejercicio 63 Creacion de imgenes dinamicas
....................................................................................... 82
PRACTICA 39 Creacion de imgenes dinamicas desde
PHP................................................................... 83
Ejercicio
64
Captcha
en
HTML
...............................................................................................................
84
pagina2.php................................................................................................................
...........................
84
pagain3.php................................................................................................................
........................... 85
PRACTICA 40 Agregar imgenes dinamicas en un archivo HTML
.......................................................... 85
Ejercicio
65
Fechas
.................................................................................................................................
86
pagina2.php................................................................................................................
........................... 86
CUADERNO DE EJERCICIOS Y PRACTICAS
Pgina 4
[PHP]
IDSYSTEMS 2011
pagina3.php.................................................................................................................
.......................... 87
PRACTICA 41 Administracion de fechas y horas (funcion date)
............................................................ 87
Ejercicio 66 Validacion de una fecha
ingresada..................................................................................... 88
66_checkdate1.php .....................................................................................................
.......................... 88
66_checkdate2.php .....................................................................................................
.......................... 88
PRACTICA 42 Validacion de una fecha ingresada por teclado (checkdate)
........................................... 89
Ejercicio 67 Carga de una fecha en una tabla
........................................................................................ 89
PRACTICA 43 Carga de una fecha en una tabla de MySQL
.................................................................... 91
Ejercicio 68 Funcion printf()
................................................................................................................... 91
PRACTICA 44 Formateo de datos en una pagina
(printf)....................................................................... 93
Ejercicio 69 Funcion sprintf()
................................................................................................................. 93
PRACTICA 45 Formateo de datos y salida a un string (sprintf)
.............................................................. 94
IDSYSTEMS 2011
PARTE I
Pgina 6
[PHP]
IDSYSTEMS 2011
PRACTICA 1
Para la leccion 1.1 deberas leer las paginas de la 4 a la 10 del Cuaderno de
Trabajo. A
continuacion responde lo que se te pide:
PREGUNTA
Quin invento PHP?
Qu es PHP?
RESPUESTA
Qu signifca PHP?
Cules son las diferencias mas notables
entre
JavaScript y PHP?
PRACTICA 2
Investiga sobre las diferentes versiones de php existentes y sus
caracteristicas
PRACTICA 3
Realiza la practica de Instalacion XAMPP de tu Cuaderno de Trabajo
(Busca en internet y descarga el XAMPP. Tambien deberas instalarlo
en un USB personal)
PREGUNTA
De que sitio obtuviste el XAMPP?
De que sitio obtuviste el XAMPP
Portable?
Qu servicios instalaste del XAMPP?
RESPUESTA
IDSYSTEMS 2011
PRACTICA 4
Realiza la practica de virtualizacion de tu Cuaderno de Ejercicios.
PREGUNTA
Qu es lo que hace la funcion
phpinfo()?
Responde a lo siguiente:
RESPUESTA
IDSYSTEMS 2011
Ejercicio 2 - 02_hola.php
NOTA: El famoso programa HOLA MUNDO en php
<html>
<head>
<title>Hola Mundo</title>
</head>
<body>
<h1> El famoso script Hello World</h1>
<p>
<?php
echo "Hola Mundo!";
?>
</p>
</body>
</html>
PREGUNTA
Cmo comenzamos un bloque de php?
Cmo imprimimos un mensaje en
pantalla?
Responde a lo siguiente:
RESPUESTA
Ejercicio 3 - 03_hola2.php
NOTA: Variacion del programa anterior, usando ademas etiquetas HTML para darle
enfasis
<html>
<head>
<title>Hola Mundo</title>
</head>
<body>
<h1> El famoso script Hello World</h1>
<p>
CUADERNO DE EJERCICIOS Y PRACTICAS
Pgina 9
[PHP]
IDSYSTEMS 2011
<?php
echo "<b>Hola</b> Mundo!";
?>
</p>
</body>
</html>
Responde a lo siguiente:
PREGUNTA
RESPUESTA
Cul es la diferencia con el ejercicio 2?
PRACTICA 5
Confeccione un programa que muestre una serie de mensajes en la pagina
empleando el comando ECHO. Tenga en cuenta que cuando utiliza el comando
ECHO el mensaje se debe encerrar entre comillas dobles.
Ejercicio 4 - 04_variable1.php
NOTA: Uso de variables en php y como se declaran
<html>
<head>
<title></title>
</head>
<body>
<h1>Primer ejemplo de Variables </h1>
<p>
<?php
$Name = "Miguel";
echo "Hola <b>$Name</b>, encantado de conocerte";
?>
</p>
</body>
</html>
PREGUNTA
Cmo declaramos una variable?
Importan las mayusculas y minusculas
en la
declaracion de las variables?
Responde a lo siguiente:
RESPUESTA
IDSYSTEMS 2011
IDSYSTEMS 2011
Ejercicio 5 - 05_variable2.php
NOTA: Uso de variables en variacion al programa anterior, usando concatenacion de
variables
<html>
PREGUNTA
Qu es la concatenacion?
Cmo hacemos la concatenacion en
php?
<head>
<title></title>
</head>
RESPUESTA
<body>
<h1>Segundo ejemplo de Variables usando el operador concatenacion .</h1>
<p>
<?php
$Name = "Miguel";
echo "Hola <b>" . $Name . "</b>, encantado de conocerte";
?>
</p>
</body>
</html>
Responde a lo siguiente:
IDSYSTEMS 2011
Ejercicio 6 - 06_break.php
NOTA: Ejemplo para ver como se formatea el codigo para el usuario
<html>
<head>
<title></title>
</head>
<body>
<h1>Break en la ventana del navegador </h1>
<p>
<?php
$Name = "Miguel";
echo "Hola <b>$Name</b>, encantado de conocerte<br>";
echo "Gracias por venir!";
?>
</p>
</body>
</html>
PREGUNTA
Qu es lo que hace el script?
Responde a lo siguiente:
RESPUESTA
IDSYSTEMS 2011
Ejercicio 7 - 07_break2.php
NOTA: Ejemplo de variacion del script anterior, para ver el formato dentro de php
en avance de linea. Notar las diferencias cuando se haga la ejecucion via VER
CODIGO FUENTE del navegador.
<html>
<head>
<title></title>
</head>
<body>
<h1>Break en la ventana del navegador con signo \ </h1>
<p>
<?php
$Name = "Miguel";
echo "Hola <b>$Name</b>, encantado de conocerte<br>\n";
echo "Gracias por venir!\n";
?>
</p>
</body>
</html>
PREGUNTA
RESPUESTA
Cul es la diferencia con el ejercicio 6?
Responde a lo siguiente:
IDSYSTEMS 2011
Ejercicio 8 - 08_weekdays1.php
NOTA: Aunque los arrays se ven mas adelante segn el temario del curso, en el
cuaderno de trabajo vienen antes y no son dificiles de asimilar. Queda a discrecion
ponerlos en orden o hacerlos despues del no. 21 que son los ciclos y antes de
entrar a los formularios.
<html>
<head>
<title>Introduccion a los arrays, metodo largo</title>
</head>
<body>
<h1> Introduccion a los arrays, metodo largo </h1>
<p> A continuacion escribiremos los arrays de acuerdo al metodo largo </p>
<p>
<?php
/*
Este es el metodo largo para la creacion de arrays, donde cada
uno de los arreglos esta en una linea diferente, junto con su
valor indice correspondiente
*/
$dia[0] = "domingo";
$dia[1] = "lunes";
$dia[2] = "martes";
$dia[3] = "miercoles";
$dia[4] = "jueves";
$dia[5] = "viernes";
$dia[6] = "sabado";
//mostrar el
miercoles echo
$dia[3];
?>
</p>
</body>
</html>
PREGUNTA
Qu es un array?
RESPUESTA
IDSYSTEMS 2011
Ejercicio 9 - 09_weekdays2.php
NOTA: Es el mismo ejercicio de arreglos anterior, pero aqu se ven en una sola
linea para simplificar el codigo. Tambien, hay que hacer notar el uso de
comentarios y como se ponen en php.
<html>
<head>
<title>Introduccion a los arrays, metodo corto</title>
</head>
<body>
<h1> Introduccion a los arrays, metodo corto </h1>
<p> A continuacion escribiremos los arrays de acuerdo al metodo corto </p>
<p>
<?php
/*
Este es el metodo corto para la creacion de arrays, donde
cada todo el array puede estar en una sola linea de codigo.
*/
$dia = array( "domingo", "lunes", "martes", "miercoles", "jueves", "viernes",
"sabado");
//mostrar el
miercoles echo
$dia[0];
?>
</p>
</body>
</html>
PREGUNTA
Qu diferencia hay con el script 7?
RESPUESTA
IDSYSTEMS 2011
Ejercicio 10 - 10_Operaciones.php
NOTA: Uno de los temas es ver como se realizan las operaciones en php, en este
ejemplo se ven cadenas y numeros y como se hacen las operaciones aritmeticas
basicas, asi como los incrementos y decrementos a las variables. Tambien
vemos como se crea una variable en php.
<html>
<head>
<title>Ejemplo de operaciones</title>
</head>
<body>
<h1>Ejemplo de operaciones aritmeticas en PHP</h1>
<?php
$a = 8;
$b = 3;
echo $a + $b,
"<br>"; echo $a
- $b, "<br>";
echo $a * $b,
"<br>"; echo $a
/ $b, "<br>";
$a++ ;
echo $a,"<br>";
$b--;
echo $b,"<br>";
?>
</body>
</html>
PREGUNTA
RESPUESTA
Cmo se declara una variable numerica
en php?se realiza una operacin con
Cmo
variables
numericas?
Es posible mostrar en pantalla en una
misma
linea cadenas y numeros?
Cmo incrementamos una variable?
Responde a lo siguiente:
[PHP]
IDSYSTEMS 2011
Ejercicio 11 - 11_Comparacion.php
NOTA: Sobre el mismo punto de operaciones, pero ahora de comparacion con
variables numericas y observar el resultado en tiempo de ejecucion.
<html>
<head>
<title>Ejemplo de operadores de
Comparacion</title>
</head>
<body>
<h1>Ejemplo de operaciones comparacion en PHP</h1>
<?php
$a = 8;
$b = 3;
$c = 3;
echo $a == $b,
"<br>"; echo $a !
= $b, "<br>";
echo $a < $b,
"<br>"; echo $a
> $b, "<br>";
echo $a >= $c,
"<br>"; echo $a
<= $c, "<br>";
?>
</body>
</html>
PREGUNTA
==
!=
<
<
>=
<=
RESPUESTA
Ejercicio
12
12_Logicos.php
IDSYSTEMS 2011
de
<htm
l>
<hea
d>
<title>Ejemplo de operadores Logicos</title>
</hea
d>
<bod
y>
<h1>Ejemplo de operaciones logicas en
PHP</h1>
<?
php
$a =
8;
$b =
3;
$c =
3;
echo ($a == $b) && ($c >
$b), "<br>"; echo ($a == $b)
|| ($b == $c), "<br>"; echo !
($b <= $c)b, "<br>";
?
>
</bod
y>
</htm
l>
PREGUNTA
&&
||
RESPUESTA
IDSYSTEMS 2011
Ejercicio 13 - 13_Ejer01.php
NOTA: Este es un ejercicio para los alumnos el cual deben realizarlo por ellos
mismos, comparar sus resultados con este ejercicio resuelto para ver si
entendieron las bases de php, comandos, operaciones, variables, uso de html.
RESULTADO:
IDSYSTEMS 2011
Ejercicio 14 - 14_Redondeo.php
NOTA: Ejemplo para calculos en php usando variables, formateando el codigo
del script y usando algunos comandos nuevos de php (similares a c++)
<!Ejemplo de redondeo>
<html>
<head>
<title>Calculos
</title>
</head>
<body>
<h1>Calculos, redondeo y formato. </h1>
<?php
/* Primero declaramos las variables */
$precioneto = 101.98;
$iva = 0.196;
RESPUESTA
Responde a lo siguiente:
IDSYSTEMS 2011
Ejercicio 15 - 15_if.php
NOTA: Ejemplo del uso de la sentencia IF en la comparativa de variables
<html>
<head>
<title>Condicion IF</title>
</head>
<body>
<h1>Condicional IF</h1>
<?php
$a = 8;
$b = 3;
echo "Valor de a: ",$a," y el valor de b:",$b,"<br>";
if ($a<$b)
{
echo "a es menor que b";
}
else
{
echo " a no es menor que b";
}
?>
</body>
</html>
PREGUNTA
Qu hace la sentencia IFELSE?
RESPUESTA
Responde a lo siguiente:
Ejercicio 16 IF..Else
NOTA: Uso de la sentencia If..else y una funcion de fecha.
<html>
<head></head>
<body>
IDSYSTEMS 2011
<?php
$dia=date("d");
if ($dia<=10)
{
echo "sitio activo";
}
else
{
echo "sitio fuera de servicio";
}
?>
</body>
</html>
PRACTICA 6
Sabiendo que la funcion RAND nos retorna un valor aleatorio entre un rango de dos
enteros:
$num = rand(1,100);
En la variable $num se almacena un valor entero que la computadora genera en
forma aleatoria entre
1 y 100. Hacer un programa que lo muestre por pantalla al valor generado.
Mostrar ademas si es menor o igual a 50 o si es mayor. Para imprimir el
contenido de una variable tambien utilizamos el comando ECHO
PRACTICA 7
Definir una variable de cada ipo: integer, double, string y boolean. Luego
imprimirlas en la pagina, una por linea.
IDSYSTEMS 2011
PRACTICA 8
Definir tres variables enteras. Luego definir un string que incorpore dichas
variables y las sustituya en tiempo de ejecucion. Recordar que una variable se
sustituye cuando el string esta encerrado por comillas dobles:
$precio = 90;
PRACTICA 9
Generar un valor aleatorio entre 1 y 5. Luego imprimir en castellano el numero
(Ej. Si se genera el 3 lugo mostrar en la pagina el string tres). Para ver si una
variable es igual a cierto valor debemos plantear una condicion similar a:
If ($valor==3)
{
//algorimo
}
Ejercicio 17 - 16_switch.php
NOTA: Uso de la sentencia SWITCH segn el valor de una condicion de una
variable, uso de comandos para salirse del codigo.
<html>
<head>
<title>Condicional Switch</title>
</head>
<body>
<h1>Condicional Switch. Ejemplo</h1>
<?php
/*Declaramos una variable con un valor de muestra */
$posicion = "arriba";
echo "La variable posicion es ",$posicion;
echo "<br>;
switch($posicion){
case "arriba":
// Primer condicion
si es arriba echo "La variable contiene el
valor de arriba";
CUADERNO DE EJERCICIOS Y PRACTICAS
Pgina 24
[PHP]
IDSYSTEMS 2011
break;
case "abajo":
//Segunda condicion
del supuesto echo "La variable contiene el
valor de abajo";
break;
default:
//Condicion por default o si no es ninguna
echo "La variable contiene otro valor distinto arriba y abajo";
}
?
>
</body>
</html>
PREGUNTA
Cul es la diferencia de la instruccin
SWITCH
con la instruccin IF?
RESPUESTA
Responde a lo siguiente:
Ejercicio 18 - 17_Tabla1.php
NOTA: Ejemplo del uso de ciclos for, funciones, comandos html, variables y tablas
para combinar php y html.
<html>
<head>
<title>Tabla condicional</title>
</head>
<body>
<h1>Tabla condicional 1</h1>
<?php
/* Crearemos una tabla de valores de seno y coseno de 0 a 2
en incrementos de 0.01. Los valores negativos que
resulten los queremos mostrar en rojo, y los valores
positivos en azul */
/* En primer lugar vamos a crear una funcion con las condicionales
CUADERNO DE EJERCICIOS Y PRACTICAS
Pgina 25
[PHP]
IDSYSTEMS 2011
PREGUNTA
Explica que es lo que hace
el
script
Responde a lo siguiente:
RESPUESTA
IDSYSTEMS 2011
Ejercicio 19 - 18_tabla2.php
NOTA: Variacion del ejercicio anterior, dando color a cada reglon par e
impar, mediante nuevas instrucciones.
<html>
<head>
<title>Tabla condicional 2</title>
</head>
<body>
<h1>Tabla condicional 2</h1>
<?php
/* Crearemos una tabla de valores de seno y coseno de 0 a 2
en incrementos de 0.01. Los valores negativos que
resulten los queremos mostrar en rojo, y los valores
positivos en azul */
/* Variacion. Un color diferente cada fila que se imprima */
function muestra($valor) {
if ($renglon % 2)
$fondo =
"#eeeeee";
else
$fondo =
"#dddddd";
if ($valor < 0.5)
$color = "red";
else
$color = "blue";
echo "<td bgcolor='$fondo'><font color='$color'>$valor</font></td>\n";
}
?>
<table border="1">
<?
$nrenglon = 0;
for ($x=0; $x<=2; $x+=0.01){
echo "<tr>";
muestra($x);
muestra(sin($
x));
muestra(cos($
x)); echo
"</tr>";
}
?>
</body>
</html>
CUADERNO DE EJERCICIOS Y PRACTICAS
Pgina 27
[PHP]
Responde a lo siguiente:
PREGUNTA
Cul es la diferencia con
el
script anterior?
IDSYSTEMS 2011
RESPUESTA
Ejercicio 20 - 19_tabla3.php
NOTA: Variacion del ejemplo anterior usando variables globales. Dejar que los
alumnos investiguen en su cuaderno de trabajo o aulas virtuales como se realiza
este ejemplo
<html>
<head>
<title>Tabla condicional 3</title>
</head>
<body>
<h1>Tabla condicional 3</h1>
<?php
/* Crearemos una tabla de valores de seno y coseno de 0 a 2
en incrementos de 0.01. Los valores negativos que
resulten los queremos mostrar en rojo, y los valores
positivos en azul */
/* Variacion. Un color diferente cada fila que se imprima
Para que funcione bien, necesitamos que la variable renglon se tome
"desde afuera" y no de manera local dentro de la funcion*/
function muestra($valor) {
global $nrenglon;
if ($nrenglon % 2)
$fondo = "#ffff00";
else
$fondo = "#ffffff";
IDSYSTEMS 2011
<table border="1">
<?
$nrenglon = 0;
for ($x=0; $x<=2; $x+=0.05){
echo "<tr>";
muestra($x);
muestra(sin($
x));
muestra(cos($
x)); echo
"</tr>";
}
?>
</body>
</html>
Ejercicio 21 - 20_while.php
NOTA: Uso de ciclo while para hacer una repeticion tantas veces quiera el usuario,
para ello trabajamos con un formulario externo vinculado a php para hacerlo.
Mostrar la conexin y variables externas, asi como el uso del while.
<html>
<head>
<title>Bucle While</title>
</head>
<body>
<h1>Bucle While</h1>
<?php
/* Mostraremos el uso de la sentencia While y comenzamos
a usar entrada del teclado mediante un formulario simple */
if ( isset( $_POST['number'] )) {
$number = $_POST['number'];
$counter = 1;
while ($counter <= $number) {
echo "Los bucles son faciles!<br>\n";
$counter++;
}
echo "Se acabo.\n";
}
CUADERNO DE EJERCICIOS Y PRACTICAS
Pgina 29
[PHP]
?>
</p>
</body>
</html>
<html>
<head>
<title></title>
</head>
<body>
<form action="20_while.php" method="post">
Cuantas veces?
<input type="text" name="number">
<input type="submit" value="Enviar">
</form>
</body>
</html>
20.html
IDSYSTEMS 2011
PREGUNTA
Por qu tenemos dos
archivos
en este ejercicio, uno
php y el otro html?
RESPUESTA
Qu es un formulario?
Explica el ciclo Whilte
Que hace $Counter++
Responde a lo siguiente:
IDSYSTEMS 2011
Ejercicio 22 - 20_whileB.php
NOTA: Variacion sobre el script anterior, pero usando un solo archivo para poner
juntos el formulario y el codigo php. Opcional si los alumnos realizan solos este
ejercicio o lo explica el maestro segn su disposicion y entendimiento.
<html>
<head>
<title></title>
</head>
<body>
<h1>Bucle While 2</h1>
<form action="20_whileB.php" method="post">
Cuantas veces?
<input type="text" name="number">
<input type="submit" value="Enviar">
</form>
<p>
<?php
/* Mostraremos el uso de la sentencia While y comenzamos
a usar entrada del teclado mediante un formulario simple */
if ( isset( $_POST['number'] )) {
$number = $_POST['number'];
$counter = 1;
while ($counter <= $number) {
echo "<b>$counter</b>.- Los bucles son faciles!<br>\n";
$counter++;
}
echo "Se acabo.\n";
}
?>
</p>
</body>
</html>
PREGUNTA
Cul es la diferencia con
el
script anterior?
RESPUESTA
Responde a lo siguiente:
IDSYSTEMS 2011
PRACTICA
10
Mostrar la tabla de multiplicar del 2. Emplear el for, luego el while y por
ultimo el do/while. La estructura FOR permite incrementar una variable de
2 en 2:
For ($f=2; $f<=20;
$f=$f+2)
Ejercicio
23
21_libreria.phtml
NOTA: Uso de funciones en php y como se vinculan con otros archivos php.
Notar la extension de la funcion en el primer archivo y como se incrustan estas
librerias de funciones en otros scripts de php para ser usados.
<htm
l>
<hea
d>
<title>Uso de Librerias y Funciones</title>
</hea
d>
<bod
y>
<?
php
function CabeceraPagina()
{
?
>
<FONT SIZE="+1">Esta cabecera estar en todas sus pginas.</FONT><BR>
<hr>
<
?
}
function PiePagina()
{
?
>
<hr>
<FONT SIZE="-1">Este es el pie de
pgina.</FONT><BR> Autor: Joaquin Gracia
<
?
}
?
>
</bod
y>
</htm
l>
<html>
22_pag1.ph
p
<head>
<title>Ejemplo Pagina 1 Libreria</title>
</head>
<body>
<?php include("21_libreria.phtml") ?>
<?php CabeceraPagina(); ?>
Pgina 1
<BR><BR><BR><BR><BR>
Contenido blalbl blalb alb<BR><BR>
ms cosas...<BR><BR>
fin<BR><BR>
<?php PiePagina(); ?>
</body>
</html>
<html>
23_pag2.ph
p
<head>
<title>Ejemplo Pagina 2 Librerias</title>
</head>
<body>
<?php include("21_libreria.phtml") ?>
<?php CabeceraPagina(); ?>
Esta es otra pgina<BR><BR>
completamente distinta<BR><BR>
pero comparte el pie y la cabecera con la otra.<BR><BR>
<?php PiePagina(); ?>
IDSYSTEMS 2011
IDSYSTEMS 2011
</body>
</html>
PREGUNTA
Quee s lo que hace este
script?
RESPUESTA
Ejercicio 24 - 24_analisis.php
NOTA: Primer ejercicio con formularios, hacer notar como se pasa la variable del
formulario al script php.
<html>
<head>
<title>EJERCICIO 3_1: ANALISIS DE FORMULARIO</title>
</head>
<body>
IDSYSTEMS 2011
</html>
24_analisis.htm
<html>
<head>
<title>EJERCICIO 3_1: ANALISIS DE
FORMULARIO</title>
</head>
<body>
<h1>EJERCICIO 3_1: ANALISIS DE FORMULARIO</h1><br>
<br>
<h1>Rellena los campos (form.html)</h1>
<form action="24_analisis.php" method="post"> Tu nombre: <input type="text"
name="firstname">
<input type="submit">
</form>
</body>
</html>
PREGUNTA
Qu hace la variable
$_POST?
Responde a lo siguiente:
RESPUESTA
IDSYSTEMS 2011
Ejercicio 25 - 25_analisis.php
NOTA: Variacion del formulario anterior con mas variables por pasar.
<html>
<head>
<title>EJERCICIO 3_1: ANALISIS DE FORMULARIO</title>
</head>
<body>
<h1>EJERCICIO 3_1: ANALISIS DE FORMULARIO</h1><br>
<br>
<h1>analisis de formularios (analisis.php)</h1>
<?php
if($_POST['gender'] == 0) {
echo "Hola Sr. ";
} else
{
echo "Hola Sra. ";
}
echo "<b>{$_POST['lastname']}</b>, encantado de saludarte.";
?>
</body>
</html>
25_analisis.html
<html>
<head>
<title>EJERCICIO 3_1: ANALISIS DE FORMULARIO
Version 2</title>
</head>
<body>
<h1>EJERCICIO 3_1: ANALISIS DE FORMULARIO Version 2</h1><br>
<br>
<h1>Rellena los campos (form.html)</h1>
<form action="25_analisis.php" method="post">
<input type="radio" name="gender" value="0"> Sr.
<input type="radio" name="gender"
value="1"> Sra.<br> Tu apellido:<br>
<input type="text" name="lastname">
<input type="submit">
</form>
</body>
</html>
IDSYSTEMS 2011
Ejercicio 26 - 26_analisis.php
NOTA: Variacion del formulario analisis poniendo el codigo html del formulario y
el codigo del script php en un mismo archivo.
<html>
<head>
<title>EJERCICIO 3_2</title>
</head>
<body>
<h1>EJERCICIO 3_1: ANALISIS DE FORMULARIO Version 3 Todo en una
pagina</h1><br>
<br>
<h1>Rellena los campos (form.html)</h1>
<form action="25_analisis.php" method="post">
<input type="radio" name="gender" value="0"> Sr.
<input type="radio" name="gender"
value="1"> Sra.<br> Tu apellido:<br>
<input type="text" name="lastname">
<input type="submit" name="submitbutton" value="Envialo!">
</form>
<?php
if (isset($_POST['gender']) && isset($_POST['lastname']) && $_POST['lastname'] !=
"") {
if($_POST['gender'] == 0) {
IDSYSTEMS 2011
PREGUNTA
Qu hace la funcion isset()?
RESPUESTA
Ejercicio 27 - 27_pass1.php
NOTA: Este programa 27 es para poner password a archivos html. El primer
archivo lleva codigo php con el password puesto en el encabezado antes de
iniciar el codigo html, para redirigir a los archivos correctos o incorrectos.Luego
viene el formulario que pide el password, de acuerdo al password dado, se dirige
a newpage1 o newpage2 segn sea el caso. Si no se sabe el password correcto
se va a un tercer archivo llamado sorry.
<?php
if (isset($_POST['pw'])) {
$pw = $_POST['pw'];
if ($pw == "magic") {
header ("Location: newpage1.html");
} elseif ($pw == "abracadabra" ){
header ("Location: newpage2.html");
} else {
header ("Location: sorry.html");
}
}
?>
<html>
<head>
<title>Ejemplo de password y header</title>
</head>
<body>
<h1> Ejemplo de password y funcion header </h1>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<html>
<head>
<title>newpage1</title>
</head>
Newpage1.ht
ml
<body>
Esta es la pagina protegida con MAGIC
newpage1.html
</body>
</html>
<html>
Newpage2.ht
ml
<head>
<title>newpage2</title>
</head>
<body>
Esta es la pagina protegida con ABRACADABRA
newpage2
</body>
</html>
<html>
Sorry.htm
l
<head>
<title>Sorry</title>
</head>
<body>
Lo sentimos, ese no es el password correcto.
Intentalo otra vez sorry.html
IDSYSTEMS 2011
IDSYSTEMS 2011
</body>
</html>
RESPUESTA
Qu hace $_SERVER?
Ejercicio 28 - 28_feedback.php
NOTA: Pequeo script que muestra un formulario que se enviara por correo
electronico al webmaster todo en un solo archivo. Indicar a los alumnos que es lo
que hace cada linea para que la desglosen e indiquen lo aprendido.
<html>
<head>
<title> un pequeo mailer para recopilar la opinin </title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
</head>
<body>
<h1>Feedback-Mailer</h1>
<p>Enviame un e-mail!</p>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>"
method="post"> Tu direccin de e-mail: <br>
<input type="text" name="Mail" ><br>
Tu comentario: <br>
<textarea name="message" cols="50" rows="5">
CUADERNO DE EJERCICIOS Y PRACTICAS
Pgina 40
[PHP]
IDSYSTEMS 2011
</textarea><br>
<input type="submit" value="Enviar">
</form>
<?php
$receiverMail = "[email protected]"; // escribe
aqui tu direccin if (isset($_POST['Mail']) && $_POST['Mail']
!= "") {
if (mail ($receivermail, "Tienes correo nuevo!", $_POST['message'], "From:
$_POST[Mail]")) {
echo "<p>Gracias por enviarme tu opinin.</p>\n";
} else {
}
}
?>
echo "<p>Lo siento, ha ocurrido un error.</p>\n";
</body>
</html>
Responde a lo siguiente:
IDSYSTEMS 2011
Ejercicio 29 - 29_counter.php
NOTA: Un contador de visitas para cualquier pagina web. Es necesario crear un
archivo de texto en blanco llamado counter.txt en la misma ubicacin donde
se ejecuta el script.
<html>
<head>
<title>Contador Sencillo</title>
</head>
<body>
<h1>Contador Sencillo</h1>
<p>Cantidad de visitas:
<b>
<?php
// Para el contador necesitamos un archivo de texto externo donde almacenamos
// las visitas
// Aqui se veran las funciones para trabajar con archivos, en este caso
// abrir, leer, grabar y cerrar. El contador simplemente se va sumando.
$fp = fopen("counter.txt", "r+");
$counter = fgets($fp, 7);
echo $counter;
$counter ++;
rewind($fp);
fputs($fp,
$counter);
fclose($fp);
?>
</b></p>
</body>
</html>
PREGUNTA
RESPUESTA
Qu hace la funcion fOpen()?
Qu hace fgets()?
Qu hace rewind()?
Qu hace fputs()?
Responde a lo siguiente:
IDSYSTEMS 2011
Qu hace fclose()?
Por qu necesitamos
counter.txt?
Ejercicio 30 - 30_guestbook.php
NOTA: Libro de visitas basado en php. Es necesario crear un archivo de texto
llamado guestbook.txt para almacenar los comentarios de los visitantes.
El codigo es bastante largo y contiene varios comentarios para facilitar la lectura
del mismo.
<html>
<head>
<title>Un libro de visitas muy sencillo</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
</head>
<body>
<h1>Libro de visitas</h1>
IDSYSTEMS 2011
fclose($fp);
}
//Mostrar el archivo
completo readfile($file);
?>
</body>
</html>
RESPUESTA
Responde a lo siguiente:
IDSYSTEMS 2011
Ejercicio 31 - 31_encuesta.php
NOTA: Hacer un script para un POLL o ENCUESTA que segn la decision de los
usuarios seleccionen de un tema. Se necesita un archivo de texto llamado
RESULTS.TXT para almacenar lo que responden los usuarios.
Codigo largo para hacer.
<?php
setcookie("check"
, 1);
if (isset($_POST['submit'])) {
setcookie("vote", 1);
}
?>
<html>
<head>
<title>Encuesta de opinion</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
</head>
<body>
<h1>Encuesta</h1>
<h3>Que opinas de este curso de php?</h3>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="radio" name="reply"
value="0"> Excelente, he aprendido
mucho.<br>
<input type="radio" name="reply"
value="1"> Mas o menos, es muy
complicado.<br>
<input type="radio" name="reply" value="2">
Bah! para que quiero aprender php
<br> <br>
<?php
if (empty($_POST['submit']) && empty($_COOKIE['voted'])) {
//Mostrar el botn submit solo si el formulario todavia
// no se ha enviado y el usuario no ha votado.
?>
<input name="submit" type="submit" value="vota!">
<?php
} else {
echo "<p>Gracias por tu voto.</p>\n";
//Formulario enviado? cookies activas? pero todavia no se ha votado?
if (isset($_POST['reply']) && isset($_COOKIE['check']) &&
empty($_COOKIE['voted'])) {
//Guardar nombre de archivo en la variable
$file="results.txt";
$fp=fopen($file, "r+");
CUADERNO DE EJERCICIOS Y PRACTICAS
Pgina 45
[PHP]
IDSYSTEMS 2011
$vote=fread($fp, filesize($file));
//Descomponer la string del archivo en array con coma como separador
$arr_vote = explode("," , $vote); //explode convierte la string en array
//que valor se ha selleccionado en el formulario?
//El recuento aumenta en 1!
$reply = $_POST['reply'];
$arr_vote[$reply]++;
//volver a montar la string
$vote = implode(",", $arr_vote); // implode vincula elementos de
Ejercicio 32 - 32_readfeeds
Realizar este ejercicio de su cuaderno de trabajo.
IDSYSTEMS 2011
IDSYSTEMS 2011
IDSYSTEMS 2011
Grabar en un archivo de texto cada pedido, separados por una linea de puntos
(obligatoriamente dar el nombre de texto como datos.txt, esto es para que no se
llene el disco duro de archivos.
PRACTICA 19 Funciones
Confeccionar un formulario que solicite la carga del nombre de usuario y su
clave en dos oportunidades. En la pagina que se procesan los datos del
formulario implementar una funcion que imprima un mensaje si las dos claves
ingresadas son distintas.
[PHP]
PARTE
II
Php y
MySql
IDSYSTEMS 2011
IDSYSTEMS 2011
Ejercicio 33 - 33_seguridad
NOTA: Este es el primer ejercicio del segundo cuaderno o manual del Curso: PHP
y MySQL (PC Cuadernos No.30). A partir de aqu se manejaran los ejercicios de
este cuaderno. Aqu se muestra una falla en la seguridad de PHP cuando
tenermos el register_globals = ON en la configuracion de php.ini.
Para ver que es facil entrar a la pagina protegida con password, basta teclear en el
navegador:
http://localhost/33_seguridad.php?login=1
Y entraremos en el area protegida por el programa. Asi cualquiera puede entrar.
<html>
<head>
<title>El gran agujero de seguridad</title>
</head>
<body>
<h2>Agujero de seguridad en register_globals = On</h2>
<form action="<?php echo "33_seguridad.php"; ?>"
method="post"> Contrasea: <input type="password"
name="pass">
<input type="submit" value="Enviar">
</form>
<?php
if ($pass == "abc_xyz_123") {
$login =
true;
}
if ($login) {
echo "<p>Aqui empieza el arma secreta.</p>";
}
?>
</body>
</html>
IDSYSTEMS 2011
Ejercicio 34 - 34_album.php
NOTA: Este ejemplo muestra como crear un album de fotos, asi como algunas
funciones mas avanzadas de php que pueden ser consultadas en el manual de php
oficial. El programa subira a un directorio especificado una imagen seleccionada
por el usuario siempre que sea GIF o JPG y no pase de 200kb, a este directorio y
luego mostrara todas las imgenes que se hayan subido.
Contiene varias sentencias de condicion, funciones de php para manejo de
archivos y directorios y un formulario, asi como variables internas y externas.
Mas adelante viene una extension de este programa como prueba final.
<html>
<head>
<title>Mi album de fotografias</title>
</head>
<body>
<h1> Mi album de fotos en linea </h1>
<h3> Cargar archivo </h3>
<form action='<?php echo $_SERVER['PHP_SELF'] ?>' method="post"
enctype="multipart/form-data">
<input type="file" name="archivo">
<input type="submit" name="submit" value="Cargar archivo">
</form>
<?php
$ruta="img/"; // Indicar ruta
if (isset($_FILES['archivo']) && $_FILES['archivo']['size'] > 0) {
$tamanyomax = 200000; // Indicar tamao en bytes
$nombretemp = $_FILES['archivo']['tmp_name'];
$nombrearchivo = $_FILES['archivo']['name'];
$tamanyoarchivo = $_FILES['archivo']['size'];
$tipoarchivo = GetImageSize( $nombretemp );
IDSYSTEMS 2011
}
} else {
echo "<p>El archivo tiene mas de <b>$tamanyomax bytes</b> y es
demasiado grande.</p>";
}
} else {
echo "<p>No es un archivo GIF o JPG valido.</p>";
}
echo "<form action='{$_SERVER['PHP_SELF']}' method='post'>
<input type='submit' value='OK'></form>";
}
$filehandle = opendir($ruta); // Abrir
archivos while
($file=readdir($filehandle)) {
if ($file != "." && $file != "..") {
$tamanyo = GetImageSize($ruta.$file);
echo "<p><img src='$ruta$file' $tamanyo[3]><br></p>\n";
}
}
closedir($filehandle); // Fin lectura de archivos
?>
</body>
</html>
IDSYSTEMS 2011
Ejercicio 40 - 40_mysql01.php
NOTA: Este es el primer ejercicio de MySQL y php donde se mostraran los datos
almacenados en una tabla de MySQL. Esta base de datos y tabla debio haberse
creado primero con phpmyadmin e introducir unos datos de ejemplo en cada
campo.
Tambien puede usarse el administrador de XAMPP o en su caso HeidiSQL para
accesar a la creacion de la base de datos, tablas, campos e introducir la
informacion de ejemplo.
La base de datos se llama AGENDA, y la tabla se llama DIRECCIONES. Que
contiene solamente 2 campos: Nombre y Apellido.
Aqu veremos las funciones basicas de conexin a la base de datos con
php mySql_connect, mySQl_select_db, MySql_Query, MySQL_Fetch_assoc,
MySQL_Close
<html>
<head>
<title>MySQL 01 - Consulta a BD (Agenda)</title>
</head>
<body>
<h1>Mostrar Nombres de la Agenda. BD </h1>
<?php
$dp = mysql_connect("localhost", "root", "" );
mysql_select_db("agenda", $dp);
$sql = "SELECT * FROM direcciones" ;
$resultado = mysql_query($sql);
while ($row = mysql_fetch_assoc($resultado)) {
echo "$row[Nombre]
$row[Apellido]<br>\n";
}
mysql_close($dp);
?>
</body>
</html>
IDSYSTEMS 2011
Ejercicio 41 - 41_mysql02.php
NOTA: En esta version del primer programa, mostramos la informacion de la
agenda pero usando
tablas o acomodado en las tablas para darle una mejor presentacion. Aqu
cambiamos el ciclo while por un for
<html>
<head>
<title>MySQL 02 - Consulta BD con tabla (Agenda)</title>
</head>
<body>
<h1>MySQL 02 - Consulta BD con tabla (Agenda)</h1>
<?php
$dp = mysql_connect("localhost", "root", "" );
mysql_select_db("agenda", $dp);
$sql = "SELECT * FROM direcciones" ;
$resultado = mysql_query($sql);
$campos = mysql_num_fields($resultado);
$filas = mysql_num_rows($resultado);
echo "<p>Cantidad de filas: $filas</p>\n";
echo "<table border='1' cellspacing='0'>\n";
//Empezar tabla echo "<tr>"; //Crear fila
for ($i = 0; $i < $campos; $i++) {
$nombrecampo = mysql_field_name($resultado, $i);
echo
"<th>$nombrecampo</th>
";
}
echo "</tr>\n"; //Cerrar fila
while ($row = mysql_fetch_assoc($resultado)) {
echo "<tr>"; //Crear fila
IDSYSTEMS 2011
Ejercicio 42 - 42_mysql03.php
NOTA: Aqu tenemos un programa para introducir datos (Altas) a la base de datos
mediante un formulario y las instrucciones basica de conexin MySQL y otras
funciones de php ya vistas. Ademas se incluye otro archivo (con INCLUDE) que es
quien realiza la conexin a la BD.
<html>
<head>
<title></title>
</head>
<body>
<h3>Introducir direcciones</h3>
<?php
include("acceso.inc.p
hp");
if (isset($_POST['submit'])) {
if (empty($_POST['Nombre'])) {
echo "<p>Introduzca el <b>nombre</b>.</p>";
}
else if (strlen($_POST['Apellido']) < 3) {
echo "<p>El apellido debe tener como minimo <b>3</b> caracteres.</p>";
}
else {
$sql = "INSERT INTO direcciones (Tratamiento, Nombre, Apellido, Calle,CP,
Localidad, Tel, Movil, Mail, Website, Categoria, Notas ) VALUES
('$_POST[Tratamiento]',
'$_POST[Nombre]','$_POST[Apellido]','$_POST[Movil]','$_POST[Mail]','$_POST[Websit
e]',
'$_POST[Categoria]','$_POST[Notas]')";
}
$resultado = mysql_query($sql);
if ($resultado)
{
echo "<p> Datos agregados con exito.</p>";
} else {
echo "<p>Datos <b>no</b> agregados.</p>";
}
echo "[ <a href='javascript:history.back()>Volver</a> ] - [ <a
href='$_SERVER[PHP_SELF]'> Introducir nueva fila</a>]";
}
else {
$sql2 = "SELECT * FROM categorias";
$resultado2 = mysql_query($sql2);
$campocat = "";
while ($row = mysql_fetch_assoc($resultado2)) {
CUADERNO DE EJERCICIOS Y PRACTICAS
Pgina 56
[PHP]
IDSYSTEMS 2011
<?php
Acceso.inc.php
$dp = @mysql_connect("localhost", "root", "") or die("<p>No se ha podido
establecer la conexion con
MySQL.</p>");
@mysql_select_db("agenda", $dp) or die("<p>No se ha podido establecer la
conexion con la base de datos.</p>");
?>
IDSYSTEMS 2011
<html>
<head>
<title>Problema</title>
</head>
<body>
<h1>Alta de Alumnos</h1>
<form action="pagina2.php" method="post">
Ingrese nombre:
<input type="text" name="nombre"><br>
Ingrese mail:
<input type="text" name="mail"><br>
Seleccione el curso:
<select name="codigocurso">
<option value="1">PHP</option>
<option value="2">ASP</option>
<option value="3">JSP</option>
</select>
<br>
<input type="submit" value="Registrar">
</form>
</body>
</html>
pagina2.ph
p
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
$conexion=mysql_connect("localhost","root","z80")
or die("Problemas en la conexion");
mysql_select_db("phpfacil",$conexion) or
die("Problemas en la seleccion de la base de datos");
mysql_query("insert into alumnos(nombre,mail,codigocurso) values
('$_REQUEST[nombre]','$_REQUEST[mail]',$_REQUEST[codigocurso])",
$conexion) or die("Problemas en el select".mysql_error());
mysql_close($conexion);
echo "El alumno fue dado de alta.";
?>
</body>
</html>
IDSYSTEMS 2011
Ejercicio 44 Listado
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
$conexion=mysql_connect("localhost","root","z80")
or die("Problemas en la conexion");
mysql_select_db("phpfacil",$conexion)
or die("Problemas en la seleccin de la base de datos");
$registros=mysql_query("select codigo,nombre, mail,
codigocurso from alumnos",$conexion) or
die("Problemas en el select:".mysql_error());
while ($reg=mysql_fetch_array($registros))
{
echo
"Codigo:".
$reg['codigo']."<br>";
echo
"Nombre:".$reg['nombre']."<br>";
echo "Mail:".$reg['mail']."<br>";
echo "Curso:";
switch ($reg['codigocurso']) {
case 1:echo "PHP";
break;
case 2:echo "ASP";
break;
case 3:echo "JSP";
break;
}
echo "<br>";
echo "<hr>";
}
mysql_close($conexion);
?>
</body>
</html>
IDSYSTEMS 2011
Ejercicio 45 Consulta
NOTA: El proceso de consulta de datos de una tabla es similar al del listado, la
diferencia es que se muestra solo aquel que cumple la condicion por la que
buscamos.
45_alumnos03.php
<html>
<head>
<title>Problema</title>
</head>
<body>
<form action="pagina2.php" method="post">
Ingrese el mail del alumno a consultar:
<input type="text" name="mail">
<br>
<input type="submit" value="buscar">
</form>
</body>
</html>
pagina2.ph
p
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
$conexion=mysql_connect("localhost","root","z80") or
die("Problemas en la conexion");
mysql_select_db("phpfacil",$conexion) or
die("Problemas en la seleccin de la base de datos");
$registros=mysql_query("select codigo,nombre, codigocurso
from alumnos where mail='$_REQUEST[mail]'",$conexion) or
die("Problemas en el select:".mysql_error());
if ($reg=mysql_fetch_array($registros))
{
echo "Nombre:".$reg['nombre']."<br>";
echo "Curso:";
switch ($reg['codigocurso']) {
case 1:echo "PHP";
break;
case 2:echo "ASP";
break;
case 3:echo "JSP";
break;
}
CUADERNO DE EJERCICIOS Y PRACTICAS
Pgina 60
[PHP]
}
else
{
echo "No existe un alumno con ese mail.";
}
IDSYSTEMS 2011
mysql_close($conexion);
?>
</body>
</html>
Ejercicio 46 Delete
NOTA: El objetivo de este punto es el borrado de un registro de una tabla. Para
ello, implementaremos un algoritmo que solicite ingresar el mail de un alumno y
posteriormente efecture su borrado.
La primera pagina es identica a la consulta, ya que debemos implementar un
formulario que solicite la
carga del mail del alumno. Por otro lado tenemos el archivo pagina2.php que se
encarga de buscar el mail ingresado en el formulario y en caso que exista se
procede a borrarlo.
46_alumnos04.php
<html>
<head>
<title>Problema</title>
</head>
<body>
<form action="pagina2.php" method="post">
Ingrese el mail del alumno a borrar:
<input type="text" name="mail">
<br>
<input type="submit" value="buscar">
</form>
</body>
</html>
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
pagina2.ph
p
IDSYSTEMS 2011
mysql_select_db("phpfacil",$conexion) or
die("Problemas en la seleccin de la base de datos");
$registros=mysql_query("select codigo from alumnos
where mail='$_REQUEST[mail]'",$conexion) or
die("Problemas en el select:".mysql_error());
if ($reg=mysql_fetch_array($registros))
{
mysql_query("delete from alumnos where mail='$_REQUEST[mail]'",$conexion)
or die("Problemas en el select:".mysql_error());
echo "Se efectu el borrado del alumno con dicho mail.";
}
else
{
echo "No existe un alumno con ese mail.";
}
mysql_close($conexion);
?>
</body>
</html>
IDSYSTEMS 2011
Ejercicio 48 Update
NOTA: De las actividades con tablas, esta es la mas larga. Vamos a resolverlo
implementando tres paginas. La primera un formulario de consulta del mail de un
alumno, la segunda otro formulario que nos permita cargar su mail modificado y
la ultima registrara el cambio en la tabla.
48_alumnos06.php
<html>
<head>
<title>Problema</title>
</head>
<body>
<form action="pagina2.php" method="post">
Ingrese el mail del alumno:
<input type="text" name="mail"><br>
<input type="submit" value="buscar">
</form>
</body>
</html>
pagina2.ph
p
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
$conexion=mysql_connect("localhost","root","z80") or
die("Problemas en la conexion");
mysql_select_db("phpfacil",$conexion) or
die("Problemas en la seleccin de la base de datos");
$registros=mysql_query("select * from alumnos
where mail='$_REQUEST[mail]'",$conexion) or
die("Problemas en el select:".mysql_error());
if ($reg=mysql_fetch_array($registros))
{
IDSYSTEMS 2011
<form action="pagina3.php"
method="post"> Ingrese nuevo mail:
<input type="text" name="mailnuevo" value="<?php echo $reg['mail'] ?>">
<br>
<input type="hidden" name="mailviejo" value="<?php
echo $reg['mail'] ?>">
<input type="submit" value="Modificar">
</form>
<?php
}
else
echo "No existe alumno con dicho mail";
?>
</body>
</html>
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
pagina3.php
$conexion=mysql_connect("localhost","root","z80") or
die("Problemas en la conexion");
mysql_select_db("phpfacil",$conexion) or
die("Problemas en la seleccin de la base de datos");
$registros=mysql_query("update alumnos
set mail='$_REQUEST[mailnuevo]'
where mail='$_REQUEST[mailviejo]'",$conexion) or
die("Problemas en el select:".mysql_error());
echo "El mail fue modificado con exito";
?>
</body>
</html>
IDSYSTEMS 2011
Ejercicio 49 Insert
NOTA: Ahora vamos a ver como resolver el problema del alta de un alumno
seleccionando el curso de la tabla Cursos. Es decir, el formulario de carga de
datos no es HTML puro ya que debemos cargar el control select con los datos de
la tabla CURSOS.
49_alumnos07.php
<html>
<head>
<title>Problema</title>
</head>
<body>
<form action="pagina2.php" method="post">
Ingrese nombre:
<input type="text" name="nombre"><br>
Ingrese mail:
<input type="text" name="mail"><br>
Seleccione el curso:
<select name="codigocurso">
<?php
$conexion=mysql_connect("localhost","root","z80") or
die("Problemas en la conexion");
mysql_select_db("phpfacil",$conexion) or
die("Problemas en la seleccin de la base de datos");
$registros=mysql_query("select codigo,nombrecur from cursos",$conexion) or
die("Problemas en el select:".mysql_error());
while ($reg=mysql_fetch_array($registros))
{
echo "<option value=\"$reg[codigo]\">$reg[nombrecur]</option>";
}
?>
</select>
<br>
<input type="submit" value="Registrar">
</form>
</body>
</html>
pagina2.ph
p
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
$conexion=mysql_connect("localhost","root","z80") or
die("Problemas en la conexion");
mysql_select_db("phpfacil",$conexion) or
die("Problemas en la seleccion de la base de datos");
mysql_query("insert into alumnos(nombre,mail,codigocurso) values
('$_REQUEST[nombre]', '$_REQUEST[mail]',
$_REQUEST[codigocurso])", $conexion) or
die("Problemas en el select".mysql_error());
CUADERNO DE EJERCICIOS Y PRACTICAS
Pgina 65
[PHP]
IDSYSTEMS 2011
mysql_close($conexion);
echo "El alumno fue dado de alta.";
?>
</body>
</html>
IDSYSTEMS 2011
IDSYSTEMS 2011
pagina2.ph
p
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
$conexion=mysql_connect("localhost","root","z80") or
die("Problemas en la conexion");
mysql_select_db("phpfacil",$conexion) or
die("Problemas en la seleccin de la base de datos");
$registros=mysql_query("select * from alumnos
where mail='$_REQUEST[mail]'",$conexion) or
die("Problemas en el select:".mysql_error());
if ($regalu=mysql_fetch_array($registros))
{
?>
<form action="pagina3.php" method="post">
<input type="hidden" name="mailviejo" value="<?php
echo $regalu['mail'] ?>">
<select name="codigocurso">
<?php
$registros=mysql_query("select * from cursos",$conexion) or
die("Problemas en el select:".mysql_error());
while ($reg=mysql_fetch_array($registros))
{
if ($regalu['codigocurso']==$reg['codigo'])
echo "<option value=\"$reg[codigo]\" selected>$reg[nombrecur]</option>";
else
echo "<option value=\"$reg[codigo]\">$reg[nombrecur]</option>";
IDSYSTEMS 2011
}
?>
</select>
<br>
<input type="submit" value="Modificar">
</form>
<?php
}
else
echo "No existe alumno con dicho mail";
?>
</body>
</html>
<head>
<title>Problema</title>
</head>
<body>
<?php
pagina3.php
$conexion=mysql_connect("localhost","root","z80") or
die("Problemas en la conexion");
mysql_select_db("phpfacil",$conexion) or
die("Problemas en la seleccin de la base de datos");
$registros=mysql_query("update alumnos
set codigocurso=$_REQUEST[codigocurso]
where mail='$_REQUEST[mailviejo]'",$conexion)
or die("Problemas en el select:".mysql_error());
echo "El curso fue modificado con exito";
?>
</body>
</html>
IDSYSTEMS 2011
Ejercicio 53 Group by
NOTA: Entre las muchas posibilidades que nos brinda SQL, una es agrupar
registros y obtener informacion resumida de tablas. En nuestro problema, un
listado interesante seria mostrar la cantidad de alumnos inscritos por cursos.
Para resolver de una manera sencilla esta situacion, SQL nos permite agrupar los
registros de la tabla alumnos por la columna codigocurso y contar la cantidad
de registros que hay por cada codigo de curso igual.
53_alumnos11.php
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
$conexion=mysql_connect("localhost","root","z80") or
die("Problemas en la conexion");
mysql_select_db("phpfacil",$conexion) or
die("Problemas en la seleccin de la base de datos");
$registros=mysql_query("select count(alu.codigo) as cantidad,
nombrecur from alumnos as alu
inner join cursos as cur on cur.codigo=alu.codigocurso
group by alu.codigocurso", $conexion) or
die("Problemas en el select:".mysql_error());
while ($reg=mysql_fetch_array($registros))
{
echo "Nombre del curso:".$reg['nombrecur']."<br>";
echo "Cantidad de inscriptos:".$reg['cantidad']."<br>";
echo "<hr>";
}
mysql_close($conexion);
?>
</body>
</html>
IDSYSTEMS 2011
Cantidad de inscripciones: 2
Nombres: Hernandez Hector Roca Marta
pagina2.ph
p
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
echo "Listado de la tabla del $_REQUEST[tabla] <br>";
for($f=1;$f<=10;$f++)
{
$valor=$f*$_REQUEST['tabla'];
echo $valor."-";
}
?>
</body>
</html>
IDSYSTEMS 2011
Ejercicio 55 Paginacion
NOTA: En situaciones en las cuales una consulta retorna muchos datos, en vez
de enviarlos todos al navegador, se puede enviar un conjunto limitado de
registros. Luego, mediante hipervinculos, ver el resto de los datos. Por ejemplo,
cuando hacemos busquedas con el Servidor Google, generalmente no nos
retorna todas las direcciones donde se encuentran los resultados buscados, nos
retorna paginas
con 10 enlaces por pagina (pensemos el tiempo de transferencia si nos retornara
1,000,000 de enlaces).
55_alumnos13.php
<?php
if (isset($_REQUEST['pos']))
$inicio=$_REQUEST['pos'];
else
$inicio=0;
?>
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
$conexion=mysql_connect("localhost","root","z80") or
die("Problemas en la conexion");
mysql_select_db("phpfacil",$conexion) or
die("Problemas en la seleccin de la base de datos");
$registros=mysql_query("select alu.codigo as
codigo,nombre,mail,codigocurso,
nombrecur from alumnos as alu
inner join cursos as cur on
cur.codigo=alu.codigocurso limit $inicio,2",
$conexion) or
die("Problemas en el select:".mysql_error());
$impresos=0;
while ($reg=mysql_fetch_array($registros))
{
$impresos++;
echo
"Codigo:".
$reg['codigo']."<br>";
echo
"Nombre:".$reg['nombre']."<br>";
echo "Mail:".$reg['mail']."<br>";
echo
"Curso:".
$reg['nombrecur']."<br>";
echo "<hr>";
}
mysql_close($conexion);
if ($inicio==0)
IDSYSTEMS 2011
Hay muchas cosas importantes en este ejemplo, lo primero que vemos es el bloque que rescata a partir
de qu registro ir mostrando:
if (isset($_REQUEST['pos']))
$inicio=$_REQUEST['pos'];
else
$inicio=0;
?>
IDSYSTEMS 2011
</body>
</html>
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
pagina2.php
copy($_FILES['foto']['tmp_name'],$_FILES['foto']['name']);
echo "La foto se registro en el servidor.<br>";
$nom=$_FILES['foto']['name'];
echo "<img src=\"$nom\">";
?>
</body>
</html>
Ejercicio 57 Cookies
NOTA: El protocolo HTTP es desconectado. Esto significa que cada vez que
solicitamos una pgina a un servidor representa una conexin distinta.
Una cookie es una pequea cantidad de datos almacenada por el navegador del
usuario cuando solicita una pgina a un servidor. El que enva que se genere la
cookie es el servidor.
Una cookie consta de un nombre, un valor, una fecha de expiracin y un
servidor. Una cookie est limitada a 4KB.
Luego que una cookie es creada slo el sitio que la cre puede leerla. Luego de
creada una cookie, cada vez que el navegador del usuario visita el sitio, se enva
dicha cookie. Otra cosa importante que hay que tener en cuenta es que el usuario
del browser puede configurar el mismo para no permitir la creacin
de cookies, lo que significa que el uso de cookies debe hacerse con moderacin y
cuando la situacin lo requiera. De todos modos, el 95% de los navegadores estn
configurados para permitir la creacin de cookies.
Para la creacin de una cookie desde PHP debemos llamar a la
funcin setcookie. Los parmetros de esta funcin son:
IDSYSTEMS 2011
<?php
if ($_REQUEST['radio']=="rojo")
pagina2.php
setcookie("color","#ff0000",time()+60*60*24*365,"/");
elseif ($_REQUEST['radio']=="verde")
setcookie("color","#00ff00",time()+60*60*24*365,"/");
elseif ($_REQUEST['radio']=="azul")
setcookie("color","#0000ff",time()+60*60*24*365,"/");
?>
<html>
<head>
<title>Problema</title>
</head>
<body>
Se cre la cookie.
<br>
IDSYSTEMS 2011
<?php
if ($_REQUEST['opcion']=="recordar")
pagina2.php
setcookie("mail",$_REQUEST['mailusuario'],time()+(60*60*24*365),"/");
elseif ($_REQUEST['opcion']=="norecordar")
setcookie("mail","",time()-1000,"/");
?>
<html>
<head>
<title>Problema</title>
</head>
<body>
IDSYSTEMS 2011
<?php
if ($_REQUEST['opcion']=="recordar")
echo "cookie creada";
elseif ($_REQUEST['opcion']=="norecordar")
echo "cookie eliminada";
?>
<br>
<a href="pagina1.php">Ir a la otra pgina</a>
</body>
</html>
IDSYSTEMS 2011
<?php
if (isset($_COOKIE['usuario']))
echo "Cookie de sesin creada. Su valor es $_COOKIE[usuario]";
else
echo "No existe cookie de sesin";
?>
<br>
<a href="pagina2.php">Crear cookie de sesin</a>
</body>
</html>
<?php setcookie("usuario","diego",0);
?>
<html>
<head>
<title>Problema</title>
</head>
<body>
Cookie de sesin creada.<br>
pagina2.php
<a href="pagina1.php">Retornar a la pgina anterior.</a>
</body>
</html>
IDSYSTEMS 2011
pagina2.php
$_SESSION['usuario']=$_REQUEST['campousuario'];
$_SESSION['clave']=$_REQUEST['campoclave'];
?>
<html>
<head>
<title>Problema</title>
</head>
<body>
Se almacenaron dos variables de sesin.<br><br>
<a href="pagina3.php">Ir a la tercer pgina donde se recuperarn
las variables de sesin</a>
</body>
</html>
<?php session_start();
?>
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
pagina3.php
echo "Nombre de usuario recuperado de la variable de sesin:".$_SESSION['usuario'];
echo "<br><br>";
echo "La clave recuperada de la variable de sesin:".$_SESSION['clave'];
?>
</body>
</html>
IDSYSTEMS 2011
<title>Problema</title>
</head>
<body>
<?php require_once("pagina2.php");
cabeceraPagina("Titulo principal de la
pgina");
echo "<br><br><center>Este es el cuerpo de la pgina<br><br></center>";
piePagina("Pie de la pgina");
?>
</body>
</html>
<?php
function cabeceraPagina($tit)
{
pagina2.php
IDSYSTEMS 2011
function piePagina($tit)
{
echo "<table width=\"50%\"
align=\"center\"><tr><td
bgcolor=\"#cccccc\">$tit</td></tr></table>";
}
?>
IDSYSTEMS 2011
<?php
pagina2.php
header("Location: http://$_REQUEST[direccion]");
?>
Otra cosa interesante que podemos hacer es pasar como parmetro en la segunda
pgina un cdigo de error:
<?php
if ($_REQUEST['direccion']<>"z80")
header("Location: pagina1.php?error=1");
?>
63_imagendinamica.php
<?php
$ancho=100;
$alto=30;
$imagen=imageCreate($ancho,$alto);
$amarillo=ImageColorAllocate($imagen,255,255,0);
ImageFill($imagen,0,0,$amarillo);
$rojo=ImageColorAllocate($imagen,255,0,0);
$valoraleatorio=rand(100000,999999);
ImageString($imagen,5,25,5,$valoraleatorio,$rojo);
for($c=0;$c<=5;$c++)
{
$x1=rand(0,$ancho);
$y1=rand(0,$alto);
$x2=rand(0,$ancho);
$y2=rand(0,$alto);
ImageLine($imagen,$x1,$y1,$x2,$y2,$rojo);
}
Header ("Content-type: image/jpeg");
ImageJPEG ($imagen);
ImageDestroy($imagen);
?>
IDSYSTEMS 2011
IDSYSTEMS 2011
<?php
$ancho=100;
$alto=30;
$imagen=imageCreate($ancho,$alto);
pagina2.php
$amarillo=ImageColorAllocate($imagen,255,255,0);
ImageFill($imagen,0,0,$amarillo);
$rojo=ImageColorAllocate($imagen,255,0,0);
$valoraleatorio=rand(100000,999999);
session_start();
$_SESSION['numeroaleatorio']=$valoraleatorio;
ImageString($imagen,5,25,5,$valoraleatorio,$rojo);
for($c=0;$c<=5;$c++)
{
$x1=rand(0,$ancho);
$y1=rand(0,$alto);
$x2=rand(0,$ancho);
$y2=rand(0,$alto);
ImageLine($imagen,$x1,$y1,$x2,$y2,$rojo);
}
Header ("Content-type: image/jpeg");
ImageJPEG ($imagen);
ImageDestroy($imagen);
?>
IDSYSTEMS 2011
<?php session_start();
?>
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
pagain3.php
if ($_SESSION['numeroaleatorio']==$_REQUEST['numero'])
echo "Ingres el valor correcto";
else
echo "Incorrecto";
?>
</body>
</html>
HTML
Confeccionar un formulario que pida ingresar la direccin de un sitio de internet y
mediante un control de tipo select permita dar un puntaje a la misma (cargar los
valores de 0 a 5). Luego, en la segunda pgina, imprimir el nombre del sitio y un
grfico creado en forma dinmica con el puntaje obtenido (hacer un crculo por
cada punto).
Un poco de ayuda para este problema:
En el archivo "pagina2.php" debemos disponer la marca HTML img para mostrar
la imagen y debemos pasar a este archivo el valor que nos lleg del formulario, es
decir, el puntaje seleccionado:
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
echo "La direccion: $_REQUEST[direccion] tiene";
?>
<img src="pagina3.php?puntos=<?php echo $_REQUEST['puntos'];?>">
</body>
</html>
Por ltimo, queda como actividad, dibujar tantos crculos como indica el
parmetro puntos: Recordemos que para recuperar el parmetro puntos lo
accedemos mediante el vector asociativo
$_REQUEST:
REQUEST['puntos']
IDSYSTEMS 2011
Ejercicio 65 Fechas
NOTA: La funcion date retorna un string con una fecha y hora, o partes de ella
segn un string de formato que le pasamos como parametros. Se obtiene la
fecha y hora del servidor.
65_fecha1.php
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
echo "La fecha de hoy es:";
$fecha=date("d/m/Y");
echo $fecha;
echo "<br>";
echo "La hora actual es:";
$hora=date("H:i:s");
echo $hora;
echo "<br>";
?>
<a href="pagina2.php">Siguiente problema</a>
</body>
</html>
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
echo "La fecha de hoy es:";
$fecha=date("j/n/y");
echo $fecha;
echo "<br>";
?>
pagina2.php
<a href="pagina3.php">Siguiente problema</a>
</body>
</html>
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
$dato=date("L");
if ($dato==1)
echo "Ao bisiesto";
else
echo "<br>";
$dato=date("w");
switch ($dato) {
IDSYSTEMS 2011
break;
case 2: echo "martes";
break;
case 3: echo "mircoles";
break;
case 4: echo "jueves";
break;
case 5: echo "viernes";
break;
case 6: echo "sbado";
break;
pagina3.php
}
?>
</body>
</html>
IDSYSTEMS 2011
Por ltimo el archivo "pagina3.php" debe imprimir el archivo con todas las quejas
registradas hasta el momento. Disponer un hipervnculo en el archivo
"pagina1.php" para poder ver todas las quejas registradas.
Recordar que el archivo de texto obligatoriamente debe llamarse: "datos.txt".
66_checkdate.html
<head>
<title>Problema</title>
</head>
<body>
<form action="pagina2.php"
method="post"> Ingrese una fecha
(dd/mm/aaaa):
<input type="text" name="dia" size="2">
<input type="text" name="mes" size="2">
<input type="text" name="anio" size="4">
<br>
<input type="submit" value="validar">
</form>
</body>
</html>
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
66_checkdate1.php
if (checkdate($_REQUEST['mes'],$_REQUEST['dia'],$_REQUEST['anio']))
echo "La fecha ingresada es correcta";
else
echo "La fecha no es vlida";
?>
</body>
</html>
<html>
<head>
<title>Problema</title>
</head>
66_checkdate2.php
CUADERNO DE EJERCICIOS Y PRACTICAS
Pgina 88
[PHP]
IDSYSTEMS 2011
<body>
<?php
if (is_numeric($_REQUEST['dia']) &&
is_numeric($_REQUEST['mes']) &&
is_numeric($_REQUEST['anio']))
{
if (checkdate($_REQUEST['mes'],$_REQUEST['dia'],$_REQUEST['anio']))
echo "La fecha ingresada es correcta";
else
echo "La fecha no es vlida";
}
else
echo "La fecha no es vlida";
?>
</body>
</html>
IDSYSTEMS 2011
{
echo "<option value=\"$reg[codigo]\">$reg[nombrecur]</option>";
}
?>
</select>
<br>
<input type="submit" value="Registrar">
</form>
</body>
</html>
67_fecha1.php
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
$conexion=mysql_connect("localhost","root","z80") or
die("Problemas en la conexion");
mysql_select_db("phpfacil",$conexion) or
die("Problemas en la seleccion de la base de datos");
$fechanacimiento=$_REQUEST['anio']."-".$_REQUEST['mes']."-".$_REQUEST['dia'];
mysql_query("insert into alumnos(nombre,mail,codigocurso,fechanac) values
('$_REQUEST[nombre]','$_REQUEST[mail]',
$_REQUEST[codigocurso],'$fechanacimiento')", $conexion) or
die("Problemas en el select".mysql_error());
mysql_close($conexion);
echo "El alumno fue dado de alta.";
?>
<br>
<a href="pagina3.php">ver listado de alumnos</a>
</body>
</html>
67_fecha2.php
<html>
<head>
<title>Problema</title>
</head>
<body>
IDSYSTEMS 2011
<?php
$conexion=mysql_connect("localhost","root","z80") or
die("Problemas en la conexion");
mysql_select_db("phpfacil",$conexion) or
die("Problemas en la seleccin de la base de datos");
$registros=mysql_query("select alu.codigo as codigo,nombre,mail,
codigocurso,fechanac,nombrecur from alumnos as alu
inner join cursos as cur on
cur.codigo=alu.codigocurso",
$conexion) or
die("Problemas en el
select:".mysql_error());
while ($reg=mysql_fetch_array($registros))
{
echo
"Codigo:".
$reg['codigo']."<br>";
echo
"Nombre:".$reg['nombre']."<br>";
echo "Mail:".$reg['mail']."<br>";
echo "Fecha de Nacimiento:".$reg['fechanac']."<br>";
echo
"Curso:".
$reg['nombrecur']."<br>";
echo "<hr>";
}
mysql_close($conexion);
?>
</body>
</html>
Ejercicio
printf()
68
Funcion
IDSYSTEMS 2011
</head>
<body>
<?php
$entero=255;
printf("Valor entero en formato decimal %d <br>",$entero);
printf("Valor entero en formato hexadecimal con letras minsculas
%x<br>", $entero);
printf("Valor entero en formato hexadecimal con letras maysculas
%X<br>", $entero);
printf("Valor entero en formato binario %b<br>", $entero);
printf("Valor entero en formato octal %o<br>", $entero);
$letra=65;
printf("Valor entero como caracter ascii %c<br>", $letra);
echo "<br>";
$real=10.776;
printf("Impresion de un valor de tipo double %f <br>",$real);
printf("Impresion de un valor de tipo double indicando la cantidad de decimales
a imprimir %0.2f <br>",$real);
?>
<br>
<A href="pagina2.php">Algunas utilidades de estas conversiones</A>
</body>
</html>
68_printf2.php
<html>
<head>
<title>Problema</title>
</head>
<body bgcolor="<?php printf("#%X%X%X",150,150,0); ?>">
En esta pgina definimos el color de fondo indicando la cantidad de
rojo,verde y azul, en formato decimal y solicitando a la funcin printf que
haga la conversin a hexadecimal. Recordemos que la propiedad bgcolor de la
marca body, lo requiere en hexadecimal.<br><br>
<a href="pagina3.php">ltimo ejemplo</a>
</body>
</html>
68_printf3.php
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
$dia=6;
IDSYSTEMS 2011
IDSYSTEMS 2011
</body>
</html>