HTML5 y PHP
HTML5 y PHP
HTML5 y PHP
Curso de programación web 2020
Instructores:
● Camacho Barrientos Juan Carlos
● Cruz Hernández Victor Emiliano
● López Chong Jorge Antonio
Evaluación
➢ Prácticas y tareas - 25%
➢ Extras
Descargar atom: https://atom.io/
Breve historia del internet
En 1962, J.C.R. Licklider propuso la idea de una red de computadores que pudieran
comunicarse entre sí. En 1969, se envió el primer mensaje entre dos computadores a
través de ARPANET (Advanced Research Projects Agency Network), creado por
Departamento de Defensa de los EE.UU.
1971. Raymond Tomlinson creó
el primer programa de correo
electrónico.
https://developer.mozilla.org/es/docs/HTML/HTML5
Estructura de un etiqueta
Lista de atributos:
https://developer.mozilla.org/es/docs/Web/HTML/Atributos
Estructura de un archivo HTML
<title>¿Qué es HTML?</title>
¿Qué es HTML?
Es el texto que los
buscadores toman
para mostrar en los
resultados de
búsqueda en el
título relacionado
con nuestra página
Search
Engine
Optimization
Hay elementos de...
● línea: solo ocupan el tamaño del contenido
Algunos ejemplos son <span>, <strong>, <em>, etc.
● bloque: ocupan el ancho de su elemento padre y el alto de su contenido,
formando así un bloque.
Algunos ejemplos son encabezados (de <h1> a <h6>), <p>, etc.
https://developer.mozilla.org/es/
docs/HTML/HTML5/HTML5_list
a_elementos
Actividad 1. Mi primer diccionario de
etiquetas
Divididos en equipos de 4-6 personas investigar las siguientes etiquetas:
● <!doctype html> ● <body>
● <html> ● <h1>,<h2>,<h3>,<h4>,<h5>,<h6>
● <head> ● <main>
● <title> ● <p>
● <base> ● <hr>
● <link> ● <blockquote>
● <meta> ● <iframe>
● <style>
Plasmar una muy breve explicación de la etiqueta (redactada por ustedes, no copiada) ya sea en
forma de tabla o lista.
Entidades HTML
Muestra caracteres reservados para HTML tales como “<” o
“>”.
&nombre_de_la_entidad; &#número_de_la_entidad;
Por ejemplo,
<hr
>
<h2> Títulos de seciones
<h3>
<h4>
<h5>
<h6>
<h3>
<h4>
<h5>
<h6>
Jerarquía de selectores
id
1. id
2. class
3. elemento class class
Absolutas Relativas
Contiene toda la ruta del archivo, incluyendo Contiene la ruta del archivo a partir del
el directorio raíz. Alguno ejemplos son: directorio en el que se encuentra el archivo.
● https://developer.mozilla.org/es/docs/HT ● miCarpeta/perro.png
ML/HTML5/HTML5_lista_elementos ● ../miCarpetaExterior/gato.png
Cabecera:
Enlaces <link>
Podemos incluir enlaces a otros
archivos que queramos cargar
junto a la página web.
Generalmente archivos CSS o JS
<h1>Formularios HTML</h1>
<form>
Nombre: <input type="text" id="nombre" name="nombre">
Apellido paterno: <input type="text" id="paterno" name="paterno">
Apellido materno: <input type="text" id="materno" name="materno">
Delegación: <input type="text" id="delegacion" name="delegacion">
<input type="submit" value="Enviar">
</form>
X Cualquier lenguaje
A pache
M ySQL
P HP
https://www.apachefriends.org/es/index.html
P erl
Convirtiendo nuestro equipo en un servidor con los servicios MySQL y Apache para la
administración y gestión de nuestros proyectos web.
Tipos de datos en PHP (Primitivos)
Tipo de dato Definición
echo
echo $string;
echo funcionQueRegresaString();
sprintf()
Es una función que devuelve un string
dado por un formato de especificadores
Todo for
String: %s
https://www.php.net/manual/es/function.sp
rintf.php
print_r()
Imprime información legible para
humanos sobre una variable.
print_r($variable[, boolean])
var_dump($expresión);
Operadores
● Aritméticos
● De asignación
● Lógicos
● Relacionales
● De concatenación de cadenas
Operadores aritméticos
El operador de asignación $a += 3; $a = $a + 3;
es el signo de igual (=) $a -= 4; $a = $a - 4;
Pero puede combinarse $a *= 2; $a = $a * 2;
con aritméticos.
$a /= 3; $a = $a / 3;
$a %= 2; $a = $a % 2;
$a **= 3; $a = $a ** 3;
Operadores lógicos
Disyunción (Ó/OR) Conjunción (Y/AND)
A B A || B A B A && B
V V V V V V
V F V V F F
F V V F V F
F F F F F F
Negación: !
$a = true; $b es false
$b = !$a;
Operadores relacionales
Salida: Es verdadero.
Salida: F
(2000 y 2400 sí son bisiestos son divisibles entre 100 pero también entre 400. 1900, 2100, 2200 y 2300 no
lo son porque solo son divisibles entre 100).
Sube el archivo extensión php. No olvides poner comentarios en el código explicando tus procedimientos.
Estructuras iterativas
for do-while
● Estructura iterativa definida. ● Estructura iterativa indefinida.
● Sintaxis: ● Realiza su ciclo una vez y después
○ for ( $var = valor; condicional; incremento) verifica la condición.
○ Ejemplo: for ($i = 0; $i <= 10; $i++) {} ● Sintaxis:
○ do
while {
● Estructura iterativa indefinida. //instrucciones
● Sintaxis: } while (condición);
○ while (condición) {] ● do
○ while ($i < 11) {
{ $i++;
$i++; }while ($i < 11);
}
Actividad 9. Ajedrez
Utilizando estructuras de control elabora un tablero como si fuera de
ajedrez, es decir, una tabla donde de manera intercalada se colorearán
las casillas de dos colores distintos (los que gustes). Esto determinando
con una variable el largo y ancho de la tabla, por ejemplo: si es $x=8 el
tablero será de 8x8, si es $x=10 el tablero será de 10x10, etc.
Teniendo un arreglo de n cantidad de números, realizar un programa para determinar si cada número
del arreglo es mayor o menor a 50, realizando una lista para cada caso, es decir, una lista de números
mayores a 50 y otra de los menores a 50, además de una lista con todos los elementos pertenecientes
al arreglo.
Al final de las listas se debe indicar cuántas veces apareció el número 50.
El programa debe estar hecho en php y debe mostrar la información en pantalla de esta
forma:
foreach
Para recorrer un arreglo se puede usar
distintas técnicas
Deberán realizar un programa en php que muestre los países y el PIB en una tabla. Además,
debajo de ella se debe de mostrar qué país tiene el PIB más alto.
Notar que en la página se usan Euros para medir el PIB anual, utilizar esa misma moneda para las
mediciones en la actividad. Deben de haber mínimo 10 países contemplados en el programa.
Ejemplo: Tenemos nuestro arreglo indexado, y el resultado debe ser el siguiente:
Variables $_GET y $_POST
Son variables que se utilizan al recibir datos de formularios en un archivo PHP, cada una depende
del método utilizado en el atributo method del formulario:
Si se utilizó get:
$var = $_GET[‘name_del_input];
Si se utilizó post:
$var = $_POST[‘name_del_input];
Ejemplo:
Así se reciben y usan los datos:
La función isset() ayuda a saber si en primer lugar que el input exista en el formulario, y el siguiente
condicional verifica que no se enviara vacío:
Actividad 13. Sucesión de Fibonacci
La sucesión de Fibonacci, es una sucesión numérica donde cada número es la suma de los
dos números anteriores, comenzando por 0 y 1. Ejemplo:
Posición 1: 0,
Posición 2: 1,
Posición 3 (suma de los dos números anteriores, P1+P2) : 0+1 = 1,
Posición 4 (P2+P3) : 1+1 = 2,
Posición 5 (P3+P4): 1+2 = 3,
Posición 6 (P4+P5) : 2+3 = 5,
0, 1, 1, 2, 3, 5, …
Actividad 13. Sucesión de Fibonacci
Se tendrá un formulario en un archivo php llamado “solicitud.php” donde se solicite un
número. Al dar clic en el botón de enviar se deberá recibir dicho número en otro archivo
php llamado “respuesta.php” por el método POST, y ser guardado en una variable.
Posteriormente se imprimirá en la pantalla si dicho número está incluido en la sucesión
de Fibonacci o no. Finalmente se imprimirá en la pantalla la sucesión de Fibonacci hasta
llegar al número recibido o al número menor que esté incluido en la serie.
sort();
$array: El arreglo a ordenar
Esta función ordena un arreglo $sort_flags: Constantes útiles para el orden del arreglo.
dado de menor a mayor, sin
mantener el índice original de SORT_NUMERIC : Compara elementos numéricamente
cada elemento. Puede recibir un
SORT_STRING: Compara elementos como cadenas
parámetro para influir en el orden
final SORT_NATURAL : Compara como “un humano lo haría”
array[]=$var;
?>
Devuelve el número de
elementos del arreglo
array_pop();
Extrae el último elemento del
final del array $array: El arreglo al que se le expulsará el último índice
Devuelve un array de string, $delimiter: String que se va a tomar como referencia para
siendo cada uno un substring dividir $string
del parámetro string formado
por la división realizada por los $limit: Entero que dirá cuántos elementos máximos quieres
delimitadores indicados en el en tu arreglo final. Si el entero es n, separará un máximo de n
parámetro delimiter. veces tu cadena. Si el entero es -n, despreciará las últimas n
subcadenas y regresará las subcadenas restantes antes de
las cadenas despreciadas.
array_merge();
Combina dos o más arrays $array: El primer arreglo a juntar
Nombre de la función
Parámetros de la función
Llamada de la función
Argumentos predeterminados
Actividad 14. Destruye el fuerte. (x3 | x2)
Destruye el fuerte será un juego donde a través de la petición de coordenadas (x, y), se enviarán misiles para
destruir bases de x niveles de vida, donde si un edificio por ejemplo tiene el número 3, será destruido hasta
acertar 3 disparos sobre él.
Primero se tendrá un formulario html con el nombre que tu gustes darle al juego, con un select con al
menos las siguientes opciones de dificultades: fácil, medio y difícil.
Se recibirá la opción seleccionada en un archivo con el mismo nombre del formulario pero extensión .php y
por método get y se cumplirá lo siguiente:
-De seleccionar la dificultad fácil se generará un arreglo bidimensional de 4x4
-De seleccionar la dificultad medio se generará un arreglo bidimensional de 6x6
-De seleccionar la dificultad difícil se generará un arreglo bidimensional de 8x8
Cada arreglo al principio estará lleno de ceros (representando el suelo).
Después tendrás que generar la cantidad de edificios según la dificultad de manera aleatoria:
-Si es dificultad fácil: generar 10 edificios con un máximo de 3 vidas (las vidas será el valor numérico
que se encontrará en la casilla correspondiente en la matriz).
-Si es dificultad media: generar 20 edificios de máximo 5 de vida.
-Si es dificultad difícil: generar 40 edificios de máximo 7 de vida.
Cabe destacar que no todos los edificios tienen el mismo número de vidas.
Para generar números aleatorios se utiliza la función rand($min, $max), donde $min es el el número
más pequeño de rango y $max es el número más grande del rango. Ambos están incluidos en el
rango. Por ejemplo, rand(5, 15); genera un número aleatorio entre 5 y 15, incluyendo al 5 y 15.
Una vez preparado el campo de juego se tendrá la siguiente dinámica:
-Debe haber 2 inputs donde se soliciten las coordenadas en “x” y “y” para poder lanzar el misil.
-Las coordenadas y el campo de juego siempre serán enviados al mismo archivo php.
-El jugador tendrá 5 vidas, pierde una si falla un disparo o vuelve a disparar en un fuerte destruido, es
decir, cuando dispara el misil en una casilla con valor 0 o 9.
-Cuando se disparé a un edificio se indicará si se dañó (perdió una vida) o fue destruido con el mensaje
correspondiente en pantalla, como “Has dañado un edificio” ó “Destruiste un edificio”, en caso de
destruirse un edificio, la casilla adquirirá el valor de 9 como anteriormente se mencionó, e igual en el
caso de que falles un disparo (“Has fallado, pierdes una vida”).
-En la pantalla deberá verse la cantidad de edificios y de vidas restantes.
OPCIONAL: Visualizar en una tabla con colores el estatus del campo de juego, para la tierra ocupar café
o gris (si no se ha dañado o destruido un edificio estos también tendrán color café o gris), para los
edificios dañados ocupar el color amarillo, para los destruidos ocupar el color rojo.
Ésta actividad tiene el valor de 2 si está completa, y de 2.5 si se cubre el parámetro opcional.
Si está incompleta pero se logra por lo menos generar los campos de juego y hacer disparos se tomará el
valor de 1. Cada número se multiplica por su calificación sobre 10.
Actividad 15. El espía.
El código morse fue un lenguaje de comunicación muy utilizado en el siglo XX, el cual consistía en
cifrar mensajes suplantando las letras por puntos y guiones.
-Para las traducciones de lenguaje normal a morse: entre cada letra morse debe haber un espacio y
entre cada palabra tres espacios.
-Para las traducciones de morse a normal: entre cada letra debe haber un espacio y entre palabras dos
espacios. La traducción deberá darse en mayúsculas.
-Para caracteres latinos como: ñ, á, é, etc., tanto minúsculas como mayúsculas, se deberán convertir a
sus literales sin signos de acentuación (a, e , i, n). Para caracteres especiales como #, $, %, &, etc, utilizar
el carácter & en lenguaje normal y en morse *****.
$path, $domain, $secure, $httponly: Ayudan a manejar el alcance y manejo seguro de una cookie.
setcookie()
El caracter a mover al inicio estará colocado en la parte superior izquierda del cuadrado y puede
moverse por toda el área. En caso de que llegue a los bordes y se siga moviendo, aparecerá del
otro lado del cuadrado (efecto PAC-MAN).
También debe de haber un botón que al darle click, reinicie el cuadrado colocándolo en su posición
inicial (esquina superior izquierda).
El marco de movimiento del caracter (el cuadrado o rectángulo) puede variar de largo y ancho.
Esto debe de ser controlado con una variable o constante en el código.
Incluir código
externo
include
Esta función la utilizamos para incluir código externo a nuestro archivo php, normalmente
para incluir funciones o procedimientos encontrados en otro archivo php.
En caso de que la ruta del archivo externo enviada como parámetro sea incorrecta, el
programa sólo enviará una advertencia (warning).
include_once()
Funciona igual que include, la única diferencia es que si el código del archivo ya ha sido
incluido, no se volverá a incluir, y se devolverá el valor TRUE (devuelve booleanos). Como
su nombre indica, el archivo será incluido solamente una vez.
Ésta función se puede utilizar en casos donde el mismo archivo podría ser incluido y
evaluado más de una vez durante una ejecución.
require()
Funciona igual que include excepto que en caso de fallo, producirá un error fatal de nivel
E_COMPILE_ERROR. Es decir, detendrá la ejecución del programa al no encontrar el archivo
especificado como parámetro.
require_once()
Cumple la misma función que include_once(), pero con las características de require().
Al igual que la primer función mencionada, nos ayuda a no buscar el archivo varias veces
durante la ejecución.
Sesiones
¿Qué es una sesión?
Función para obtener en una cadena el nombre de nuestra sesión. Si pasamos como parámetro
una cadena, cambiará el nombre a esta, pero debe ser antes del session_start().
session_id()
Función para obtener en una cadena el código identificador de nuestra sesión. Si pasamos
como parámetro una cadena o número, cambiará el identificador a éste parámetro, pero debe
ser antes del session_start().
ANTES DE MODIFICAR
DESPUÉS DE MODIFICAR
Actividad 17. “¿Y tú eres?...”
Es más seguro ya que es más difícil Es menos seguro porque es más fácil de
acceder a la información. acceder a la información.
Disponible hasta que el navegador esté Guarda la información hasta que que
abierto. expire o el usuario la elimine.
Es más seguro ya que es más difícil Es menos seguro porque es más fácil de
acceder a la información. acceder a la información.
Disponible hasta que el navegador esté Guarda la información hasta que que
abierto. expire o el usuario la elimine.
Es más seguro ya que es más difícil Es menos seguro porque es más fácil de
acceder a la información. acceder a la información.
Disponible hasta que el navegador esté Guarda la información hasta que que
abierto. expire o el usuario la elimine.
Es más seguro ya que es más difícil Es menos seguro porque es más fácil de
acceder a la información. acceder a la información.
Disponible hasta que el navegador esté Guarda la información hasta que que
abierto. expire o el usuario la elimine.