Ver Mensaje Individual
  #7 (permalink)  
Antiguo 03/10/2012, 23:19
Avatar de Nemutagk
Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 21 años
Puntos: 406
Respuesta: Algun experto que me de una mano en php

Cita:
Iniciado por netstat89 Ver Mensaje
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
  1. <?php
  2.  
  3. if (isset($_GET['borrar'])) {
  4.      unset($_SESSION['palabra']);
  5.      unset($_SESSION['letras']);
  6.      unset($_SESSION['numEncontradas']);
  7. }
  8.  
  9. if (isset($_POST['palabra'])) {
  10.      $_SESSION['palabra'] = $_POST['palabra'];
  11.      $_SESSION['letras'] = array();
  12.      $_SESSION['numEncontradas'] = 0;
  13.  
  14.      for($a=0; $a<strlen($_POST['palabra']); $a++) {
  15.           $_SESSION['letras'][$a] = '_';
  16.      }
  17. }
  18. ?>
  19. <!DOCTYPE HTML>
  20. <html lang="en-US">
  21. <head>
  22.      <meta charset="UTF-8">
  23.      <title>Ahorcado</title>
  24. </head>
  25. <body>
  26.      <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
  27.           <?php if (!isset($_SESSION['palabra'])) { ?>
  28.           <p>Define la palabra para jugar</p>
  29.           <input type="text" name="palabra">
  30.           <?php }else { ?>
  31.           <p>Indica una letra a buscar</p>
  32.           <input type="text" name="letra">
  33.           <?php } ?>
  34.           <input type="submit" value="Enviar">
  35.      </form>
  36.  
  37.      <p><a href="<?php $_SERVER['PHP_SELF']; ?>?borrar=true">Volver a comenzar</a></p>
  38.  
  39.      <?php
  40.      if (isset($_POST['letra'])) {
  41.           $nuevaPalabra = '';
  42.           $encontrada = false;
  43.           for($i=0; $i<strlen($_SESSION['palabra']); $i++) {
  44.                if ($_SESSION['palabra'][$i] == $_POST['letra']) {
  45.                     $_SESSION['letras'][$i] = $_POST['letra'];
  46.                     $encontrada = true;
  47.                     $nuevaPalabra .= '_';
  48.                     $_SESSION['numEncontradas']++;
  49.                }else {
  50.                     $nuevaPalabra .= $_SESSION['palabra'][$i];
  51.                }
  52.           }
  53.  
  54.           if (!$encontrada) {
  55.                echo '<p>La letra '.$_POST['letra'].' no encontrada</p>';
  56.           }
  57.  
  58.           ksort($_SESSION['letras']);
  59.  
  60.           $_SESSION['palabra'] = $nuevaPalabra;
  61.      }
  62.  
  63.      if ($_SESSION['numEncontradas'] >= strlen($_SESSION['palabra']) && isset($_SESSION['palabra'])) {
  64.           echo '<p>Hecho, se ah completado la palabra!</p>';
  65.      }
  66.  
  67.      if (isset($_SESSION['letras'])) {
  68.           echo '<p>Letras encontradas</p>';
  69.           echo '<p>'.implode(' ',$_SESSION['letras']).'</p>';
  70.      }
  71.      ?>
  72. </body>
  73. </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!
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)

Última edición por Nemutagk; 03/10/2012 a las 23:31