Cita:
Iniciado por netstat89
Me pone esto, si me podes explicar lo que hace cada variable mejor .
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\site\index2.php:1) in C:\site\index2.php on line 2
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\site\index2.php:1) in C:\site\index2.php on line 2
Warning: implode() [function.implode]: Invalid arguments passed in C:\site\index2.php on line 35
Los dos primeros errores es por la forma que has hecho el copy/paste, y es que has puesto el "session_start()" después de una salida de datos..., sobre el implode faltaba una comilla, pero ahorita que ya tengo tiempo hice algo mucho mejor, aunque la idea es la misma...
Código PHP:
Ver original<?php
if (isset($_GET['borrar'])) { unset($_SESSION['palabra']); unset($_SESSION['letras']); unset($_SESSION['numEncontradas']); }
if (isset($_POST['palabra'])) { $_SESSION['palabra'] = $_POST['palabra'];
$_SESSION['letras'] = array(); $_SESSION['numEncontradas'] = 0;
for($a=0; $a<strlen($_POST['palabra']); $a++) { $_SESSION['letras'][$a] = '_';
}
}
?>
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title>Ahorcado</title>
</head>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<?php if (!isset($_SESSION['palabra'])) { ?> <p>Define la palabra para jugar</p>
<input type="text" name="palabra">
<?php }else { ?>
<p>Indica una letra a buscar</p>
<input type="text" name="letra">
<?php } ?>
<input type="submit" value="Enviar">
</form>
<p><a href="<?php $_SERVER['PHP_SELF']; ?>?borrar=true">Volver a comenzar</a></p>
<?php
if (isset($_POST['letra'])) { $nuevaPalabra = '';
$encontrada = false;
for($i=0; $i<strlen($_SESSION['palabra']); $i++) { if ($_SESSION['palabra'][$i] == $_POST['letra']) {
$_SESSION['letras'][$i] = $_POST['letra'];
$encontrada = true;
$nuevaPalabra .= '_';
$_SESSION['numEncontradas']++;
}else {
$nuevaPalabra .= $_SESSION['palabra'][$i];
}
}
if (!$encontrada) {
echo '<p>La letra '.$_POST['letra'].' no encontrada</p>';
}
ksort($_SESSION['letras']);
$_SESSION['palabra'] = $nuevaPalabra;
}
if ($_SESSION['numEncontradas'] >= strlen($_SESSION['palabra']) && isset($_SESSION['palabra'])) { echo '<p>Hecho, se ah completado la palabra!</p>';
}
if (isset($_SESSION['letras'])) { echo '<p>Letras encontradas</p>';
echo '<p>'.implode(' ',$_SESSION['letras']).'</p>'; }
?>
</body>
</html>
Actualización: Me olvidaba algo muy importante en el juego, el que se muestre el numero de letras que posee la palabra y la posición de las letras encontradas!