Index:
<h1>Página super guay</h1> Hola, dinos tu nombre para saber como dirigirnos hacia ti: <form action="panel.php"> <input type="text" name="nombre"> <input type="submit"> </form>
Panel:
<?php session_start(); require_once 'librerias.php'; $nombre = filter_input(INPUT_GET, 'nombre', FILTER_SANITIZE_STRING); if (empty($nombre) && !isset($_SESSION['nombre'])) { ?> <h2>No has introducido ningún nombre. Por favor vuelve atrás.</h2> <a href="index.php">Vuelve atrás y pon un nombre ¡hombre!</a> <?php } else { if (!empty($nombre)) { $_SESSION['nombre'] = $nombre; } else { $nombre = $_SESSION['nombre']; } ?> <h1>Hola <?= $nombre ?>, bienvenido a la página superguay</h1> <a href="equipos.php">Introducir equipos</a><br/> <a href="resultados.php">Introducir resultados</a> <?php if (isset($_SESSION['equipos'])) { ?> <a href="resultados.php">Introducir resultados</a> <?php pintaEquipos($_SESSION['equipos']); } if (isset($_SESSION['equipos']) && isset($_SESSION['resultados'])) {?> <a href="resultados.txt">Descargar resultados</a> <?php muestraResultados($_SESSION['equipos'], $_SESSION['resultados']); } } ?>
equipos:
<h1>Introduzca los equipos separados por comas</h1> <form action="guardar_equipos.php"> <input type="text" name="equipos" size="100"> <input type="submit"> </form>
guardar_equipos:
<?php session_start(); require_once 'librerias.php'; // Recuperar los equipos que nos han mandado $equipos = filter_input(INPUT_GET, "equipos"); // Si está vacío poner un aviso y enlace a equipos.php if (empty($equipos)) { ?> <h1>No has mandado equipos, inténtalo de nuevo</h1> <a href="equipos.php">Volver a equipos</a> <?php } else { //Si no está vacío convertir la lista de equipos en un array $tabla = explode(",", $equipos); //guardarlo en la variable de sesión equipos $_SESSION['equipos'] = $tabla; // Y mostrarlo como una tabla HTML pintaEquipos($tabla); } ?> <a href="panel.php">Volver al panel</a>
resultados:
<?php session_start(); require_once 'librerias.php'; if(isset($_SESSION['equipos'])){ pintaResultados($_SESSION['equipos']); } else{ ?> <h1>No hay equipos definidos, vuelva atrás</h1> <a href="panel.php">Volver atrás</a> <?php } ?>
guardar_resultados:
<?php session_start(); require_once 'librerias.php'; // Recuperar los resultados que nos han mandado $resultados = filter_input(INPUT_POST, 'resultado',FILTER_DEFAULT, FILTER_REQUIRE_ARRAY); // Si está vacío poner un aviso y enlace a equipos.php if (empty($resultados)) { ?> <h1>No has mandado resultados, inténtalo de nuevo</h1> <a href="resultados.php">Volver a resultados</a> <?php } else { //guardarlo en la variable de sesión resultados $_SESSION['resultados'] = $resultados; // Y mostrarlo como una tabla HTML muestraResultados($_SESSION['equipos'],$_SESSION['resultados']); guardaResultados($_SESSION['equipos'],$_SESSION['resultados']); } ?> <a href="panel.php">Volver al panel</a>
librerias:
<?php function pintaEquipos($tabla) { ?> <table> <tr><td>Equipos</td></tr> <?php foreach ($tabla as $valor) { ?> <tr><td><?= ucfirst($valor) ?></td></tr> <?php } ?> </table> <?php } function pintaResultados($tabla) { ?> <form action="guardar_resultados.php" method="post"> <table> <tr><td>Resultados</td></tr> <?php for ($i = 0; $i < count($tabla); $i += 2) { ?> <tr><!--<td><?php echo $tabla[$i]; if (isset($tabla[$i + 1])) { echo " - " . $tabla[$i + 1]; } ?></td>--> <td><?= $tabla[$i] . (isset($tabla[$i + 1]) ? " - " . $tabla[$i + 1] : "") ?></td> <td><input type="text" name="resultado[]"></td> </tr> <?php } ?> </table> <input type="submit"> </form> <?php } function muestraResultados($equipos,$resultados) { ?> <table> <tr><td>Resultados</td></tr> <?php for ($i = 0; $i < count($equipos); $i += 2) { ?> <tr> <td><?= $equipos[$i] . (isset($equipos[$i + 1]) ? " - " . $equipos[$i + 1] : "") ?></td> <td><?=$resultados[$i/2]?></td> </tr> <?php } ?> </table> <?php } function guardaResultados($equipos, $resultados, $archivo = "resultados.txt",$tipo="w") { $fichero = fopen($archivo, $tipo); fwrite($fichero, "Resultados\n"); for ($i = 0; $i < count($equipos); $i += 2) { fwrite($fichero, $equipos[$i] . (isset($equipos[$i + 1]) ? " - " . $equipos[$i + 1] : "")); fwrite($fichero, " : ".$resultados[$i / 2] . "\n"); } fclose($fichero); }