Desarrollo Paginas Web Con PHP y Mysql
Desarrollo Paginas Web Con PHP y Mysql
Desarrollo Paginas Web Con PHP y Mysql
GUIA DE APRENDIZAJE
Código:
Versión 1
GUIA DE APRENDIZAJE
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL
Aprobación
1. IDENTIFICACIÓN
Programa de Formación
TECNOLOGO ANALISIS DISEÑO DE SISTEMAS DE INFORMACION
Nombre del Proyecto
Desarrollo de aplicación sistemática para la industria del software y
videojuegos apoyada en el control de personal a través de un entorno web.
Nombre de la Guía Duración de la Guía:
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL 20 Horas
Resultados de Aprendizaje:
2. INTRODUCCIÓN
GUIA DE APRENDIZAJE
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL
3. ACTIVACIÓN DE CONOCIMIENTOS
CASO PRACTICO
Un cliente tiene la necesidad de generar una solución a la siguiente
problemática:
Los directivos de la comunidad son los únicos que podrán agregar o eliminar a
los participantes. Las publicaciones deben tener una imágen o logotipo de la
empresa o del anunciante, una dirección de contacto, email, telefono, horario
de atención y la descripción de los servicios ofrecidos.
ACTIVIDAD
Haga el análisis de la información suministrada por el cliente y realice un
modelo de base de datos para almacenar la información requerida.
GUIA DE APRENDIZAJE
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL
Haga otras dos páginas html con las opciones que tendría el menú principal de
la aplicación y la página de administración.
Tiempo: 2 Horas
Evidencias: Modelo de Base de Datos y Páginas web en HTML
SINTAXIS
Todos los comandos de PHP deben ir encerrados dentro de un grupo de etiquetas que
identifican el inicio y el final del código. Estas etiquetas son:
<? y ?>
<?php y ?>
<% y %>
VARIABLES
Todas las variables en PHP empiezan con el simbolo ($). No se admiten comas ni
caracteres especiales, espacios, puntos ni acentos (é,ñ,ü, etc)
Las variables en PHP son sensitivas a mayúsculas y minúsculas, debe empezar por una
letra o un Guión Bajo ( _ ). Las variables se pueden definir en cualquier parte del
programa y automáticamente toman el tipo de dato que almacenan.
$1_nombre=”Pedro”;
$contraseña=”123”;
$suma?total = $a+$b;
ARREGLOS
Los arreglos son variables especiales que permiten almacenar diferentes datos bajo un
Sistema de
Gestión de la REGIONAL DISTRITO - CAPITAL Fecha: Agosto de
Calidad CENTRO PARA LA INDUSTRIA DE LA COMUNICACIÓN GRAFICA 2010
Versión: 2
ESTRUCTURA CURRICULAR TECNÓLOGO EN ANALISIS Y
DESARROLLO DE SISTEMAS DE INFORMACION Página 5 de 18
GUIA DE APRENDIZAJE
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL
mismo nombre, identificados con un indice o un nombre de posición. Hay dos formas
de definir un arrelgo, la primera es declarando la variable con sus posiciones
directamente
Ejemplo:
$arreglo[0]=1;
$arreglo[1]=10;
$arreglo[2]=20;
$arreglo = array(1,10,20);
Todos los arreglos en PHP empiezan con la posición CERO, por lo tanto para un arreglo
de 4 posiciones se tendrán los indices (0,1,2,3)
$estructura['nombre']='Pedro';
$estructura['apellido']='Pedroza';
CONDICIONES
Hay dos formas de tomar desisiones en PHP, la más básica es la sentencia if que tiene
la siguiente sintaxis:
if(condicion){ bloque verdadero } else { bloque falso}
Ejemplo:
if($a>0){ echo “A es mayor a cero”;} else { echo “A es menor o Igual a cero”;}
CONDICIONES ANIDADAS
if($a>0){
if($b>0){
echo “A y B son mayores a Cero”;
} else {
echo “A es mayor a cero y B es menor o Igual a Cero”;
}
} else {
Sistema de
Gestión de la REGIONAL DISTRITO - CAPITAL Fecha: Agosto de
Calidad CENTRO PARA LA INDUSTRIA DE LA COMUNICACIÓN GRAFICA 2010
Versión: 2
ESTRUCTURA CURRICULAR TECNÓLOGO EN ANALISIS Y
DESARROLLO DE SISTEMAS DE INFORMACION Página 6 de 18
GUIA DE APRENDIZAJE
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL
Otra forma más especializada de hacer condiciones es utilizar la sentencia switch que
permite evaluar diferentes valores para una misma variable, tiene una ventaja sobre el
if y es la rapidez en la codificación y la lectura ya que su estructura es mucho más
corta que la de muchos if anidados.
switch($variable){
case(1):
bloque codigo
break;
case(2):
bloque codigo
break;
default:
bloque codigo;
break;
}
Ejemplo: Para este caso se evalua una sola variable y de acuerdo a sus posibles
valores, se toma una acción diferente.
switch($opcion){
case 1:
echo “Ha seleccionado la opcion 1”;
break;
case 2:
echo “Ha seleccionado la opcion 2”;
break;
default:
echo “Ha seleccionado cualquier otra opcion que no es 1 ni 2”;
break;
}
CICLOS
Tenga en cuenta que bloque a repetir se ejecuta MIENTRAS QUE condicion sea
Sistema de
Gestión de la REGIONAL DISTRITO - CAPITAL Fecha: Agosto de
Calidad CENTRO PARA LA INDUSTRIA DE LA COMUNICACIÓN GRAFICA 2010
Versión: 2
ESTRUCTURA CURRICULAR TECNÓLOGO EN ANALISIS Y
DESARROLLO DE SISTEMAS DE INFORMACION Página 7 de 18
GUIA DE APRENDIZAJE
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL
verdadera y cada vez que se llegue al final del bloque se ejecutará la instrucción de
incremento.
Ejemplo:
for($i=1; $i<=10; $i++){
echo $i;
}
Este código imprime de corrido en la pantalla los numeros de 1 a 10 (12345678910)
Por ejemplo si se quisiera repetir el mismo ejemplo que se utilizó para el for pero
utilizando la sentencia while, el código sería el siquiente:
$i=0;
while($i<=10){
echo $i;
$i++;
}
Para conectarse a una base de datos es necesario establecer primero el motor de base
de datos a utilizar, depués conectarse al servidor y por último seleccionar la base de
datos.
Para este caso se va a utilizar MySLQ como motor, localhost como el servidor y la base
de datos pruebas
Una vez conectado al servidor se debe seleccionar la base de datos con la cual se va a
trabajar. Esto quiere decir que es posible conectarse a múltiples bases de datos dentro
del mismo servidor y conectarse a cuantos servidores sea necesario.
Sistema de
Gestión de la REGIONAL DISTRITO - CAPITAL Fecha: Agosto de
Calidad CENTRO PARA LA INDUSTRIA DE LA COMUNICACIÓN GRAFICA 2010
Versión: 2
ESTRUCTURA CURRICULAR TECNÓLOGO EN ANALISIS Y
DESARROLLO DE SISTEMAS DE INFORMACION Página 8 de 18
GUIA DE APRENDIZAJE
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL
Ejemplo:
Suponiendo que se tiene una tabla llamada “municipios” con dos columnas (id_pais, y
nombre_pais) con los siguientes datos:
paises
id_pais nombre_pais
1 Colombia
2 Ecuador
3 Venezuela
El objeto $rst sería una colección como la anterior y el arreglo $fila tedría la siguiente
estructura:
$fila['id_pais'] = 1;
$fila['nombre_pais'] = 'Colombia';
De esta forma es posible acceder a los regisros que componen una colección de datos
obtenida mediante la ejecución de la sentencia mysql_query. Esta sentencia es posible
utilizarla para ejecutar consultas que no traigan resultado de datos, tales como las
utilizadas para insertar, modificar y eliminar registros, en cuyo caso se devolverá un
número positivo en caso exitoso y uno negativo o igual a cero en caso de existir un
error.
Sistema de
Gestión de la REGIONAL DISTRITO - CAPITAL Fecha: Agosto de
Calidad CENTRO PARA LA INDUSTRIA DE LA COMUNICACIÓN GRAFICA 2010
Versión: 2
ESTRUCTURA CURRICULAR TECNÓLOGO EN ANALISIS Y
DESARROLLO DE SISTEMAS DE INFORMACION Página 9 de 18
GUIA DE APRENDIZAJE
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL
Para conocer los errores que se generan dentro del servidor de bases de datos, PHP
ofrece una función llamada mysql_error() la cual imprime el último error que ha
enviado el motor. La forma de utilizarla es:
echo mysql_error();
No sería nada útil PHP si no se pudiera interactuar con él de alguna forma diferente a la
programación neta. Se podría decir que HTML es la “interfase” gráfica de PHP, es
decir, que es la forma como PHP presenta y recibe información hacia y desde el
usuario.
Para poder comunicarse con PHP y enviarle información, se pueden utilizar dos formas,
una explicita llamada GET y otra oculta llamada POST.
EL METODO GET
Cuando es necesario comunicarse con PHP sin utilizar un formulario, es posible utilizar
este método ya que se invoca desde la URL como tal. Para hacer esto es necesario
agregar el simbolo “?” después del nombre del programa y a continuación agregar las
parejas de “variable – valor” separadas por el símbolo “&”
http://www.misitio.com/programa.php?
variable=valor&otravariable=otrovalor
Dentro de PHP es posible acceder a estos valores mediante la SuperGlobal $_GET, esta
variable está disponible siempre en todos los scripts de PHP y se carga con los datos
recibidos mediante la URL como es el caso del siguiente ejemplo
http://localhost/curso_php/saludo.php?nombre=pedro&apellido=perez
saludo.php
<?php
echo “Hola. Tu nombre es : “.$_GET['nombre'].” y el apellido “.$_GET['apellido'];
?>
GUIA DE APRENDIZAJE
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL
METODO POST
Para utilizar este método es necesario crear un formulario en HTML, ya que es la única
forma como PHP puede recibir la información. En el código HTML es necesario
especificar que se va a utilizar este método para que PHP sepa como tratar la
información que recibe. Para esto se utilizan los atributos “method” y “action” del tag
<FORM>
formulario.html
<form action=”nuevo_saludo.php” method=”post”>
<input name=”nombre” type=”text”>
<input name=”apellido” type=”text”>
<input type=”submit” name=”btn_enviar” value=”Enviar”>
</form>
nuevo_saludo.php
<?php
echo “Hola. Tu nombre es : “.$_POST['nombre'].” y el apellido “.$_POST['apellido'];
?>
SESIONES
Una sesión en php empieza en el momento en que el usuario tiene acceso por primera
vez a una página php y puede durar hasta que el usuario abandone la página o
simplemente permaneza inactivo más del tiempo que tiene especificado PHP como
tiempo de vida de la sesión (que por lo general son 15 minutos). Estas sesiones son
como espacios de almacenamiento temporal que el servidor aparta para cada usuario.
Por lo tanto es posible almacenar allí información que va a estar disponible mientras la
sesión esté activa.
Para poder indicarle a PHP que vamos a utilizar este espacio o que vamos a acceder a
una sesión, se debe ejecutar el comando “session_start();” Una vez ejecutado, se
tendrá acceso a la superglobal $_SESSION y por ende a su contenido. Un ejemplo
práctico es el Login dentro de una aplicación, ya que a cada página (programa php)
que se llegue se debe preguntar si el usuario ya ha hecho login. Este comando
session_start() no se puede ejecutar cuando la sesión ya está abierta porque causará
un mensaje de tipo Warning. Para evitar esto se puede manejar de la siguiente forma:
<?php
if(!isset($_SESSION)){
session_start();
}
?>
Sistema de
Gestión de la REGIONAL DISTRITO - CAPITAL Fecha: Agosto de
Calidad CENTRO PARA LA INDUSTRIA DE LA COMUNICACIÓN GRAFICA 2010
Versión: 2
ESTRUCTURA CURRICULAR TECNÓLOGO EN ANALISIS Y
DESARROLLO DE SISTEMAS DE INFORMACION Página 11 de 18
GUIA DE APRENDIZAJE
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL
La función isset() verifica si una variable existe o si es accesible desde el ámbito actual
y retorna verdadero o falso.
Este coódigo anterior garantiza quye la sesión solo se cree cuando no exista una
previamente cargada. Ahora para poder crear variables de sesión, se deben asignar
como un arreglo asociatico comun y corriente, se debe registrar el nombre
$_SESSION['nombre_var']=valor; por ejemplo en el caso del login:
$_SESSION['cod_usuario']=$row['usuario'];
$valor_global = $_SESSION['cod_usuario'];
BASES DE DATOS -
MySql es la base de datos más popular en los últimos años como servidor para atender
los requermientos de una página o aplicación Web.
MySql utiliza dos tecnologías de almacenamiento de datos (InnoDb y MyIsam).
InnoDb permite al motor manejar una integridad relacional entre las tablas que
conforman la base de datos, lo cual garantiza la consistencia de los datos (que las
tablas almacenen la información que corresponde según un modelo relacional), esto
parece ser bueno, pero denigra la velocidad de respuesta en las operaciones de
escritura (Eliminación, edición e inserción). Gracias a esto permite el bloqueo de un
unico registro y el manejo de transacciones.
MyIsam permite búsquedas del estilo “FullText” que son las más utilizadas en la web.
Permite mayor cantidad de registros que InnoDb sin bajar el rendimiento, bloqueo de
toda la tabla al escribir (Eliminación, edición e inserción), es necesario desarrollar toda
la logica de integridad de la base de datos en el programa, ya que esta tecnología no
realiza este tipo de controles.
CONSULTAS
Una parte importante de las bases de datos son las consultas. En mysql como en todo
motor de Sql, existen cuatro basicos de consulta: de insersiòn, actualización,
eliminación e informativas.
Sistema de
Gestión de la REGIONAL DISTRITO - CAPITAL Fecha: Agosto de
Calidad CENTRO PARA LA INDUSTRIA DE LA COMUNICACIÓN GRAFICA 2010
Versión: 2
ESTRUCTURA CURRICULAR TECNÓLOGO EN ANALISIS Y
DESARROLLO DE SISTEMAS DE INFORMACION Página 12 de 18
GUIA DE APRENDIZAJE
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL
De inserción :
Ejemplo:
ESTRUCTURA
DATOS
paises
id_pais nombre_pais
1 Colombia
2 Ecuador
3 Venezuela
departamentos
id_pais id_departamento nombre_departamento
1 1 Cundinamarca
1 2 Bolivar
2 3 Pichincha
2 4 Amazonas
municipios
id_departamento id_municipio nombre_municipio
1 1 Chia
3 2 Kabu
2 3 Cartagena
Sistema de
Gestión de la REGIONAL DISTRITO - CAPITAL Fecha: Agosto de
Calidad CENTRO PARA LA INDUSTRIA DE LA COMUNICACIÓN GRAFICA 2010
Versión: 2
ESTRUCTURA CURRICULAR TECNÓLOGO EN ANALISIS Y
DESARROLLO DE SISTEMAS DE INFORMACION Página 13 de 18
GUIA DE APRENDIZAJE
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL
Query:
select pais.nombre_pais, departamentos.nombre_departamento,
municipios.nombre_municipio from paises, departamentos, municipios where
paises.id_pais =departamentos.id_pais and departamentos.id_departamento =
municipio.id_departamento
Resultados:
nombre_pais nombre_departamento nombre_municipio
Colombia Cundinamarca Chia
Ecuador Pichincha Kabu
Colombia Bolivar Cartagena
Nótese que solo aparecen los resultados de las condiciones que se cumplen por
completo, es decir, solo aparece el listado de los paises que tienen un departamento y
a su vez que esos departamentos tengan un municipio.
GUIA DE APRENDIZAJE
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL
JAVA-SCRIPT
Para que HTML considere que puede enviar el formulario, el evento ONSUBMIT debe
recibir un valor “VERDADERO”. Este valor es otorgado por omisión, es decir, que si no
se especifica lo contrario, siempre será verdadero. Para intervernir en este proceso se
debe modificar la etiqueta <form> agregandole un nombre de función al evento
“ONSUBMIT” de la siguiente forma:
Esto quiere decir que al momento de presionar el botón SUBMIT del formulario, se
ejectutará la función “validar” que lleva como parámetro el formulario completo. Ese
formulario llega a JavaScript como un objeto. El siguiente ejemplo muestra la forma de
incluir un script dentro de una página HTML
<html>
<head>
<script type=”text/javascript”>
Sistema de
Gestión de la REGIONAL DISTRITO - CAPITAL Fecha: Agosto de
Calidad CENTRO PARA LA INDUSTRIA DE LA COMUNICACIÓN GRAFICA 2010
Versión: 2
ESTRUCTURA CURRICULAR TECNÓLOGO EN ANALISIS Y
DESARROLLO DE SISTEMAS DE INFORMACION Página 15 de 18
GUIA DE APRENDIZAJE
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL
function validar(objeto){
if(objeto.id==”forma_registro”){
return true;
} else {
return false;
}
</script>
</head>
<body>
<form id=”forma_registro” method=”post” onsubmit=”validar(this)”>
<table><tr><td>Nombre:</td><td><input type=”text” name=”nombre”
id=”nombre”></td></tr>
<tr><td>Email:</td><td><input type=”text” name=”email”
id=”email”></td></tr>
<tr><td colspan=”2”><input type=”submit” value=”btn_enviar”
name=”btn_enviar”></td></tr>
</table>
</form>
</body>
</html>
ACTIVIDAD
Tiempo: 2 Horas
Evidencias: Paginas web en PHP
ACTIVIDAD
GUIA DE APRENDIZAJE
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL
Tiempo: 6 Horas
Evidencias: Paginas web en PHP
ACTIVIDAD
Agregue toda la funcionalidad para que el Usuario Normal pueda publicar, modificar
y eliminar los anuncios. Tenga en cuenta que los anuncios deben cumplir con los
requerimientos planteados en el caso práctico.
Tiempo: 6 Horas
Evidencias: Paginas web en PHP
ACTIVIDAD
Elabore las fichas de búsqueda para que el usuario pueda encontrar los anuncios
organizados por grupos de letras. Al hacer click en cada grupo se podrán observar
los anuncios que corresponden en forma de listado general incluyendo la foto.
Tiempo: 4 Horas
Evidencias: Paginas web en PHP
6. EVALUACIÓN
Resultados de Reforzar las siguientes competencias
Aprendizaje
Desarrollar el sistema de información que cumpla con los
operación
.
GUIA DE APRENDIZAJE
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL
Equipos de computo PC
Software Plataforma y servicios Web (Servidor local con PHP y MySql)
Conexión de Internet
Asesoría del docente
8. GLOSARIO
$ : Simbolo utilizado en PHP para definir las variables. Toda variable debe llevar este símbolo al
inicio
break: Sentencia utilizada en la cláusula switch de PHP para indicar al intérprete que ha finalizado
un bloque y que no debe seguir evaluando..
consulta: También llamada “query”, es una instrucción que se envía a un servidor de base de
datos para obtener un resultado.
default: Sentencia utilizada en la clausula switch de PHP para indicar lo que se debe hacer
cuando no hay ninguna coincidencia
id: Atributo que permite a las etiquetas de HTML ser identificadas y utilizadas por JavaScript
script: Sección de código en un lenguaje de programación que realiza una labor o tarea específica
validar: Término utilizado para denominar así al proceso de verificación de datos previo al envío
de un formuilario.
Sistema de
Gestión de la REGIONAL DISTRITO - CAPITAL Fecha: Agosto de
Calidad CENTRO PARA LA INDUSTRIA DE LA COMUNICACIÓN GRAFICA 2010
Versión: 2
ESTRUCTURA CURRICULAR TECNÓLOGO EN ANALISIS Y
DESARROLLO DE SISTEMAS DE INFORMACION Página 18 de 18
GUIA DE APRENDIZAJE
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL
Where: Cláusula de SQL utilizada dentro de una consulta para especificar las condiciones de filtro
que deben cumplir los registros para que sean parte de la colección a mostrar.
9. BIBLIOGRAFÍA - CIBERGRAFIA
http://www.w3.org/
https://developer.mozilla.org/en/JavaScript
http://www.w3schools.com/
http://www.php.net/manual/es/manual.php
http://dev.mysql.com/doc/refman/5.6/en/