Diferencia entre revisiones de «Usuario:ManuelRomero/ProgramacionWeb/ProgramacionWeb/INAEM2021/Sesiones/ejercicios»
De WikiEducator
(Página creada con «{{:Usuario:ManuelRomero/ProgramacionWeb/CertificadoWeb2021/Sesiones/nav}}») |
(→Ejercicio 3 : Array en variable de sesión) |
||
(2 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 1: | Línea 1: | ||
{{:Usuario:ManuelRomero/ProgramacionWeb/CertificadoWeb2021/Sesiones/nav}} | {{:Usuario:ManuelRomero/ProgramacionWeb/CertificadoWeb2021/Sesiones/nav}} | ||
+ | ==Sesiones== | ||
+ | ===Localiza variables de sesión=== | ||
+ | <br /> | ||
+ | {{MRM_Actividad|Title=Variables de sesión| | ||
+ | *Localiza y actualiza estas directivas en tu fichero de configuración | ||
+ | *coméntalas con tus palabras en dicho fichero}} | ||
+ | <br /> | ||
+ | |||
+ | ===[[Usuario:ManuelRomero/ProgramacionWeb/Sesiones/ejercicios/ejercicio1|Ejercicio 1 : Cuenta visitas]]=== | ||
+ | <br /> | ||
+ | {{MRM_Actividad|Title=Ejercicio 1 Cuenta visitas| | ||
+ | ;Haz un programa que te cuente cuantas visitas recibe la página | ||
+ | *Puedes poner un botón submit para recargar la página. | ||
+ | *Indica mediane mensaje si accedes haciendo un click, o bien escribiendo la url | ||
+ | *Contabiliza todos los accesos (por click o escribiendo la url en el navegado). | ||
+ | }} | ||
+ | |||
+ | ===[[Usuario:ManuelRomero/ProgramacionWeb/Sesiones/ejercicios/ejercicio2|Ejercicio 2 : Visitas en la misma sesión con fecha ]]=== | ||
+ | <br /> | ||
+ | {{MRM_Actividad|Title= Ejercicio 2: Fechas de cada visita| | ||
+ | *Modifica el programa anterior para almacenar el momento en el cual se produjo cada visita | ||
+ | *Anota hora, minuto y segundo | ||
+ | *Visualiza todas las conexiones en la sesción actual y el momento en el que se produjeron | ||
+ | *Añade un botón para borrar las variables de sesión | ||
+ | *Realiza la visualización en orden inverso a como se han producido (primero la última, etc..) | ||
+ | }} | ||
+ | <br /> | ||
+ | |||
+ | ===[[Usuario:ManuelRomero/ProgramacionWeb/Sesiones/ejercicios/ejercicio3|Ejercicio 3 : Array en variable de sesión]]=== | ||
+ | <br /> | ||
+ | {{MRM_Actividad|Title=Ejercicio 3 Juego del dado| | ||
+ | *Vamos a establecer un juego de tirar dados | ||
+ | *El usuario tirará los dados hasta 10 veces. | ||
+ | *En cada jugada se realizan dos tiradas del dado | ||
+ | *Cada jugada, gana si saca dos números iguales o la suma de los números es menor que 5 | ||
+ | *Al final de las 10' jugadas nos muestra todas las jugadas y las veces que ha ganado | ||
+ | <source lang=php> | ||
+ | session_start(); | ||
+ | $opcion = $_POST['submit'] ?? null; | ||
+ | if ($opcion == "Reiniciar juego") { | ||
+ | session_destroy(); | ||
+ | session_start(); | ||
+ | } | ||
+ | |||
+ | $jugada = realiza_jugada($html_jugada_actual); | ||
+ | $_SESSION['jugadas'][] = $jugada; | ||
+ | |||
+ | $numero_jugada = sizeof($_SESSION['jugadas']); | ||
+ | if ($numero_jugada >= 10) | ||
+ | $html_resumen_juego = muestra_resultado(); | ||
+ | ?> | ||
+ | </source> | ||
+ | |||
+ | <!-- | ||
+ | <source lang=php> | ||
+ | <?php | ||
+ | ini_set('display_errors', true); | ||
+ | error_reporting(E_ALL); | ||
+ | /* | ||
+ | * Vamos a establecer un juego de tirar dados | ||
+ | El usuario tirará los dados hasta 10 veces. | ||
+ | En cada jugada tira dos veces los dados | ||
+ | Gana si saca dos números iguales o la suma de los números es menor que 5 | ||
+ | Al final de las 10' jugadas nos muestra todas las jugadas y las veces que ha ganado | ||
+ | */ | ||
+ | |||
+ | function realiza_jugada(&$html_jugada_actual) | ||
+ | { | ||
+ | $tirada1 = rand(1, 6); | ||
+ | $tirada2 = rand(1, 6); | ||
+ | if ($tirada1 == $tirada2) { | ||
+ | $resultado = true; | ||
+ | $texto_resultado = "ganado"; | ||
+ | } else { | ||
+ | $resultado = false; | ||
+ | $texto_resultado = "ganado"; | ||
+ | } | ||
+ | $jugada['tirada1'] = $tirada1; | ||
+ | $jugada['tirada2'] = $tirada2; | ||
+ | $jugada['resultado'] = $resultado; | ||
+ | $html_jugada_actual = <<<FIN | ||
+ | <h3>Valor de la tirada primera <span style="color:red">$tirada1</span></h3> | ||
+ | <h3>Valor de la tirada segunda <span style="color:red">$tirada2</span></h3> | ||
+ | <h3>En esta jugada has <span style="color:red">$texto_resultado </span></h3> | ||
+ | FIN; | ||
+ | |||
+ | return $jugada; | ||
+ | } | ||
+ | |||
+ | function muestra_resultado() | ||
+ | { | ||
+ | $jugadas = $_SESSION['jugadas']; | ||
+ | $total_ganadas = 0; | ||
+ | |||
+ | $html = "<table>"; | ||
+ | $html .= "<tr><th>Número de jugada</th><th>Tirada 1</th><th>Tirada 2</th><th>Resultado</th></tr>"; | ||
+ | foreach ($jugadas as $numero_jugada => $jugada) { | ||
+ | $resultado = $jugada['resultado']; | ||
+ | if ($resultado) { | ||
+ | $total_ganadas++; | ||
+ | $texto_ganado = "ganado"; | ||
+ | } else | ||
+ | $texto_ganado = "perdido"; | ||
+ | |||
+ | $html .= <<<FIN | ||
+ | <tr> | ||
+ | <td>$numero_jugada</td> | ||
+ | <td>{$jugada['tirada1']}</td> | ||
+ | <td>{$jugada['tirada2']}</td> | ||
+ | <td>$texto_ganado</td> | ||
+ | </tr> | ||
+ | |||
+ | FIN; | ||
+ | } | ||
+ | |||
+ | $html .= "</table>"; | ||
+ | $plural = $total_ganadas > 1 ? "s" : ""; | ||
+ | $html .= "<h2>En total has ganado $total_ganadas jugada{$plural}</h2>"; | ||
+ | return $html; | ||
+ | } | ||
+ | |||
+ | session_start(); | ||
+ | $opcion = $_POST['submit'] ?? null; | ||
+ | if ($opcion == "Reiniciar juego") { | ||
+ | session_destroy(); | ||
+ | session_start(); | ||
+ | } | ||
+ | |||
+ | $jugada = realiza_jugada($html_jugada_actual); | ||
+ | $_SESSION['jugadas'][] = $jugada; | ||
+ | |||
+ | $numero_jugada = sizeof($_SESSION['jugadas']); | ||
+ | if ($numero_jugada >= 10) | ||
+ | $html_resumen_juego = muestra_resultado(); | ||
+ | ?> | ||
+ | |||
+ | |||
+ | <!doctype html> | ||
+ | <html lang="en"> | ||
+ | <head> | ||
+ | <meta charset="UTF-8"> | ||
+ | <meta name="viewport" | ||
+ | content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> | ||
+ | <meta http-equiv="X-UA-Compatible" content="ie=edge"> | ||
+ | <title>Document</title> | ||
+ | </head> | ||
+ | <body> | ||
+ | <h1>Juego de dados</h1> | ||
+ | <h2>El juego consiste en tirar 10 veces el dado</h2> | ||
+ | <fieldset> | ||
+ | <legend>Jugada Actual <span style="color:green"><?=$numero_jugada?></span></legend> | ||
+ | |||
+ | <h3>Resultado obtenido en la jugada actual</h3> | ||
+ | <?= $html_jugada_actual ?> | ||
+ | </fieldset> | ||
+ | <?php if ($numero_jugada >= 10): ?> | ||
+ | <h3>Fin de juego </h3> | ||
+ | <?= $html_resumen_juego; | ||
+ | endif; | ||
+ | ?> | ||
+ | <form action="index.php" method="POST"> | ||
+ | <input type="submit" value="Reiniciar juego" name="submit"> | ||
+ | <input type="submit" value="Jugar" name="submit"> | ||
+ | </form> | ||
+ | |||
+ | |||
+ | </body> | ||
+ | </html> | ||
+ | |||
+ | </source> | ||
+ | --> | ||
+ | }} | ||
+ | <br /> |
Última revisión de 22:55 15 mar 2022
Sesiones
Localiza variables de sesión
Ejercicio 1 : Cuenta visitas
|
Ejercicio 2 : Visitas en la misma sesión con fecha
|
Ejercicio 3 : Array en variable de sesión
session_start(); $opcion = $_POST['submit'] ?? null; if ($opcion == "Reiniciar juego") { session_destroy(); session_start(); } $jugada = realiza_jugada($html_jugada_actual); $_SESSION['jugadas'][] = $jugada; $numero_jugada = sizeof($_SESSION['jugadas']); if ($numero_jugada >= 10) $html_resumen_juego = muestra_resultado(); ?>
|