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);
}