No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Invierte en tu educación con el precio especial

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

11 Días
13 Hrs
13 Min
48 Seg
Curso Práctico de PHP

Curso Práctico de PHP

Ana Belisa Martínez

Ana Belisa Martínez

Finalizando nuestro juego

14/17
Recursos

Aportes 30

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Logre llegar hasta este punto

Una mejora que se le podría hacer al código sería la de implementar HERENCIA, en nuestro archivo ´analisis.php´ con solo agregar una sola linea de código y borrar otra.

<?php
require 'index.php'; //Mandando a llamar nuestro archivo 'index.php', obtenemos las variables de el, y asi heredamos el array de las palabras de ese archivo y aqui ya no copiamos el array sino que lo mandamos a llamar desde el 'index.php'

for ($i = 0; $i < count($palabras); $i++) {

    if ($_REQUEST["palabra" . $i] === $palabras[$i]) {
        echo "Si es esa palabra." . "<br>";
    } else {
        echo "Incorrecto, la solucion es: " . $palabras[$i] . "<br>";
    }
}

Me salió bien por fin!!

14. Finalizando nuestro juego

Les comparto el código hecho en clase:

Esto corresponde al archivo analisis.php:

<?php

//print_r($_REQUEST);
$wordsList = ["sol", "luna", "cielo", "luz", "estrellas", "lluvia"];

for ($i=0; $i < count($wordsList); $i++) {
    if($_REQUEST["word".$i] == $wordsList[$i]) {
        echo "La palabra ingresada es correcta.<br>";
    } else {
        echo "La palabra ingresada es incorrecta, y la palabra correcta es: $wordsList[$i].<br>";
    }
}

gran curso

Tratando de mejorar la presentación y organización del proyecto llegué a esta solución donde además de los archivos index.php (formulario inicial) y result.php (resultados) agregue uno más: controller.php. En controller.php manejo el array al que tendrán acceso las dos páginas de presentación y en ellas tan solo ‘pinto’ lo que se necesita. Adicional también investigué un poco tratando de organizar mejor el resultado en el html. ¡Anexo los ejemplos!

Estructura de archivos:

  • index.php
  • result.php
  • controller.php
  • style.css!

index.php

<?php
require_once "controller.php";
?>
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Put the words in order</title>
    <link rel="stylesheet" href="style.css">
</head>

<body>
    <h1>Put the words in order</h1>
    <p>Escribe correctamente las siguientes palabras</p>
    <form action='result.php'>
        <?php for ($i = 0; $i < count($words); $i++) : ?>
            <label for="word_<?= $i ?>"><?= str_shuffle($words[$i]) ?></label>
            <input type="text" name="word_<?= $i ?>">
        <?php endfor ?>
        <button type='submit'>Analizar resultados</button>
    </form>
</body>

</html>

result.php

<?php
require_once "controller.php";
?>
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Put the words in order</title>
    <link rel="stylesheet" href="style.css">
</head>

<body>
    <h1>Put the words in order</h1>
    <p>Estos son los resultados de tu intento</p>
    <div class="result">
        <?php for ($i = 0; $i < count($words); $i++) : ?>
            <?php if ($_REQUEST["word_" . $i] === $words[$i]) : ?>
                <p><span class="score">¡Acertaste!</span> La palabra ingresada es correcta</p>
            <?php else : ?>
                <p><span class="fail">¡Fallaste!</span> La palabra correca es <strong><?= $words[$i] ?></strong></p>
            <?php endif ?>
        <?php endfor ?>
    </div>
    <button type="button" onclick="window.open('index.php', '_self')">Volver a jugar</button>
</body>

</html>

controller.php

<?php
$words = [
    "sol",
    "luna",
    "cielo",
    "casa",
    "perro",
];
 

style.css

* {
  box-sizing: border-box;
  font-family: sans-serif;
}

body {
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-height: 100vh;
  background-color: azure;
}

h1 {
  text-transform: capitalize;
  margin-bottom: 0;
  color: darkslateblue;
}

input[type='text'],
label {
  display: block;
}

form {
  width: 500px;
}

label {
  margin: 0.5em 0 0.2em;
}

input[type='text'] {
  width: 100%;
  padding: 0.8em 1em;
  border: 1px solid grey;
}

button {
  padding: 1em 1.5em;
  background-color: darkslateblue;
  color: whitesmoke;
  border: none;
  border-radius: 2em;
  text-transform: uppercase;
  margin: 2em;
  margin-inline: auto;
  display: block;
  text-decoration: none;
}
.score,
.fail {
  padding: 0.5em 1em;
  display: inline-block;
  border-radius: 2em;
}
.score {
  background-color: greenyellow;
}
.fail {
  background-color: crimson;
}

<?php
print_r($_REQUEST);

$palabras = array(“sol”,“luna”,“cielo”,“luz”,“estrellas”,“lluvia”);

for ($i = 0; $i < count($palabras); $i++) {
$palabra = $_REQUEST[“palabra” . $i];
if ($palabra == $palabras[$i]) {
echo “La palabra " . $palabra . " es correcta <br/>”;
} else {
echo “La palabra " . $palabra . " es incorrecta <br/>”;
}
}
?>

muy buena explicacion va paso a paso…

<?php
// print_r($_REQUEST);

$palabras = array(“sol”, “luna”, “cielo”, “luz”, “estrellas”, “lluvia”);

for($i = 0; $i < count($palabras); $i++){
if($_REQUEST[“palabra” .$i] == $palabras[$i]){
echo “La palabra ingresada es correcta” ."<br>";
} else {
echo “La palabra ingresada es incorrecta, la palabra correcta es: " .$palabras[$i] .”<br>";
}
}

```html <html lang="es"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Curso PHP | Microproyecto: Juego de Ordenamiento</title> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" > <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.min.css"> </head> <body>

Microproyecto: Juego de Ordenamiento

<form action="" method="POST" class=""> "; } ?> <button type="submit" class="btn btn-primary btn-sm w-100">Enviar</button> </form>

Entradas


"; for($i=0; $i<count($palabras) ; $i++){ if($_REQUEST["palabra$i"] == $palabras[$i]){ echo "La palabra ingresada es CORRECTA!!!"; echo "<br>"; }else{ echo "La palabra ingresada es incorrecta, la respuesta correcta es: " . $palabras[$i]; echo "
"; } } } ?>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"> </script> </body> </html> ```\\<html lang="es"> \<head>    \<meta charset="utf-8">    \<meta name="viewport" content="width=device-width, initial-scale=1">    \<title>Curso PHP | Microproyecto: Juego de Ordenamiento\</title>    \<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" >    \<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.min.css">\</head> \<body>    \    \
        \

Microproyecto: Juego de Ordenamiento\

                \
            \<form action="" method="POST" class="">            \";                }             ?>                 \<button type="submit" class="btn btn-primary btn-sm w-100">Enviar\</button>            \</form>        \
        \
            \

Entradas\

            \\
";                     for($i=0; $i\<count($palabras) ; $i++){                        if($\_REQUEST\["palabra$i"] == $palabras\[$i]){                            echo "La palabra ingresada es CORRECTA!!!";                            echo "\<br>";                        }else{                            echo "La palabra ingresada es incorrecta, la respuesta correcta es: " . $palabras\[$i];                            echo "\
";                        }                    }                }             ?>        \
            \
        \<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"        integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous">    \</script>\</body> \</html>
```js "; }else{ echo "la palabra ingresada no es correcta, la palabra correcta es: ".$palabras[0]."
"; } if($_REQUEST["palabra1"]==$palabras[1]){ echo "la palabra ingresada es correcta"."
"; }else{ echo "la palabra ingresada no es correcta, la palabra correcta es:".$palabras[1]."
"; } if($_REQUEST["palabra2"]==$palabras[2]){ echo "la palabra ingresada es correcta"."
"; }else{ echo "la palabra ingresada no es correcta, la palabra correcta es:".$palabras[2]."
"; } */ print_r($_REQUEST); $palabras = array("sol","luna","cielo","luz","estrellas","lluvia"); for($i=0; $i<count($palabras);$i++){ if($_REQUEST["palabra".$i]==$palabras[$i]){ echo "la palabra ingresada es correcta"."<br>"; }else{ echo"la palabra ingresada es incorrecta, la palabra correcta es:". $palabras[$i]."
"; } } ?> ```
```js $palabras = array("sol","luna","cielo","luz","estrellas","lluvia"); $form = "<form action='analisis.php'>"; for($i=0;$i<count($palabras);$i++){ $form .="la palabra:".str_shuffle($palabras[$i])." "."<input type ='text' name='palabra".$i."'>"."
"; } $button = "<button type='submit'>Enviar</button>"; $formcierre = "</form>"; echo $form.$button.$formcierre; ?> ```
Le comparto el codigo del formulario y del codigo php que valida las respuestas. ```js "Sol", "palabra2" =>"Luna", "palabra3" =>"Tierra", "palabra4" =>"Aire", "palabra5" =>"Fuego", "palabra6" =>"Lluvia", "palabra7" =>"Trueno", "palabra8" =>"Atmosfera",); $palabras_desordenadas = array(); foreach ( $palabras_correctas as $palabra => $indice){ $palabras_desordenadas[$palabra] = str_shuffle($indice); } $html = "<form action='analiza.php' method='post'> "; foreach ($palabras_desordenadas as $indice => $p) { $html .= "
    <label for='$indice'>$p</label> <input type='text' name= '$indice'>
"; } $html .= " <button type='submit'> Validar </button> </form>"; echo $html; ?> ``````js "Sol", "palabra2" =>"Luna", "palabra3" =>"Tierra", "palabra4" =>"Aire", "palabra5" =>"Fuego", "palabra6" =>"Lluvia", "palabra7" =>"Trueno", "palabra8" =>"Atmosfera",); $html = "<html>"; foreach ($_REQUEST as $indice => $palabra) { $html .= ""; } $html .= "</html>
"; if ( $palabra == $palabras_correctas[$indice] ) $html .= "La respuesta a la $indice es Correcta " ; else $html .= "La respuesta a la $indice es Incorrecta " ; $html .= "
"; print_r($html); ?> ```

[](

![]()

main
<?php

$words = array(“moon”, “soccer”, “playing”);
$form = “<form action =‘analysis.php’>”;

//* makes messy words

for($i = 0; $i < count($words); $i++){
$form .= “The word: " . str_shuffle($words[$i]) .” “. “<input type=‘text’ name='word”. $i .”’>" . “<br>”;
}

$button = “<button type=‘submit’>Send</button>”;
$formClose = “</form>”;

echo $form . $button . $formClose;
?>

<?php

analisis

$words = array(“moon”, “soccer”, “playing”);

for ($i=0; $i <count($words) ; $i++) {
if($_REQUEST[“word” .$i] == $words[$i]) {
echo "The word is correct. " . “<br>”;

}else {
echo "The word is incorrect, the word is: " . $words[$i] . “<br>”;
}
}
?>

Actualización del juego 💚.


Main


<?php

//* Palabras iniciales
$palabras = ["sol", "luna", "cielo", "luz", "estrellas", "lluvia"];

$form = "<form action='analisis.php' >";

// *Mezcla de palabras
for ($i = 0; $i < count($palabras); $i++) {
  $form .= "La palabra:" . str_shuffle($palabras[$i]) . " " . "<input type='text' name='palabra" . $i . "'>" . "<br/>";
}

$button = "<button type='submit'>Enviar 😎</button>";
$formcierre = "</form>";

echo $form . $button . $formcierre;
?>

Analisis


<?php

//* Palabras iniciales
$palabras = ["sol", "luna", "cielo", "luz", "estrellas", "lluvia"];

// *Verificar respuesta usuario
for ($i = 0; $i < count($palabras); $i++) {
  if ($_REQUEST["palabra" . $i] == $palabras[$i]) {
    echo "<br>Adivininaste 🎉 las respuesta es correcta<br>";
  } else {
    echo "<br>Incorrecto 🥺, la palabra es {$palabras[$i]}<br>";
  }
}
?>


supermal explicado todo, no explicó en el curso nada sobre como instalar wamp ni nada.

<?php

$palabras = array('carro','triciclo','moto','bicicleta','camion','tractocamion');

$form = "<form action='analisis.php'>";

for ($i=0; $i <count($palabras); $i++) { 
   
    $form .="la palabra :".str_shuffle($palabras[$i])." "."<input type='text' name='palabra".$i."'>"."<br>";

}

$button = "<button type='submit'>Enviar</button>";
$form_cierre = "</form>";

echo $form.$button.$form_cierre;    

?>
<?php

print_r($_REQUEST);

$palabras = array('carro','triciclo','moto','bicicleta','camion','tractocamion');

echo "<br>";


for ($i=0; $i <count($palabras); $i++) { 
   
    if ($_REQUEST["palabra".$i] == $palabras[$i]) {
        
        echo "la palabra ingresada es correcta"."<br>";

    }else {
        echo "la palabra ingresada es incorrecta, la palabra ingreasada es: ".$palabras[$i]."<br>";
    }
}

?>

RETO3.PHP
$palabras = array(“sol”,“luna”,“cielo”,“estrellas”,“lluvia”);

$form = "<form action='analisis.php'>";
$conta=0;
foreach ($palabras as  $value) {
    $form.="La palabra; ".str_shuffle($value)." ".
    "<input type='text' name='pal".$conta++."'> <br>";
   

}

$button="<button type='submit'>Analizar</button>";
$formCierre="</form>";

echo $form.$button.$formCierre;

?>

ANALISIS.PHP

$palabras = array(“sol”,“luna”,“cielo”,“estrellas”,“lluvia”);

$conta=0;

foreach ($palabras as  $value) {
  
  if($_REQUEST["pal".$conta]==$value){
    
    echo "La palabra es correcta" . "<br>";

  } else {
    echo "La palabra ingresada es incorrecta,
    la palabra correcta es " . $value . "<br>";
    
  }
  $conta++;
}

Solo avisaré que tuve una idea al ver este capítulo. Es 14 de Septiembre de 2022, 00:38 horas.
Cuando resulte agregaré ya sea un vínculo a un video de lo que hace o un vínculo a una copia pública.

Esta parte es de las más valiosas que pueden utilizar, leer dinámicamente los inputs, obvio también la generación dinámica de los mismos.

index.php

<?php

$palabras = array("sol", "luna", "cielo","luz","estrellas","perro","otorrinolaringologo","odontologo");
$desorden = array();

foreach ($palabras as $value) {
    array_push($desorden,str_shuffle($value));
}

?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
    <title>Document</title>
</head>
<body>
    <main class="mt-5">
        <h1 class="text-center">Adivina La Palabra</h1>
        <div class="container mt-5">
            <div class="row">
                <form class="form-group" action="analisis.php">
                    <?php
                    foreach ($desorden as $key => $value) {
                            echo "<div class='mb-3'>
                                        <label for='exampleInputPassword$key' class='form-label text-center'>$value</label>
                                        <input type='text' class='form-control' name='palabra$key' id='exampleInputPassword$key'>
                                  </div>";
                    }
                    ?>
                    <button type='submit' class="btn btn-primary">Enviar</button>
                </form>
            </div>
        </div>
    </main>
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
</body>
</html>

analisis.php

<?php
$palabras = array("sol", "luna", "cielo","luz","estrellas","perro","otorrinolaringologo","odontologo");
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
    <title>Document</title>
</head>
<body>
    <main class="mt-5" >
        <div class="container">
            <div class="row align-items-center">
                <?php
                    foreach ($palabras as $key => $value) {
                        if ($_REQUEST["palabra$key"] == $value) {
                            echo "<div class='alert alert-success d-flex align-items-center' role='alert'>
                                    <svg class='bi flex-shrink-0 me-2' width='24' height='24' role='img' aria-label='Success:'><use xlink:href='#check-circle-fill'/></svg>
                                    <div>
                                        La Palabra Es Correcta Ascertaste
                                    </div>
                                </div>";
                        }else{
                            echo "<div class='alert alert-danger d-flex align-items-center' role='alert'>
                                    <svg class='bi flex-shrink-0 me-2' width='24' height='24' role='img' aria-label='Danger:'><use xlink:href='#exclamation-triangle-fill'/></svg>
                                    <div>
                                        La Palabra Correcta Era: $value
                                    </div>
                                </div>";
                        }
                    }
                ?>
            </div>
        </div>
    </main>
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
</body>
</html>

muyyyyyyyy bieeeen

<?php 
    include "./common/verifyData.php";
    
    for ($i = 0; $i < count($word); $i++){
        
        if(verifyData($word[$i],$i) == false){
            echo " this word #".$_REQUEST["word".$i]
            ."# is not written correctly, the correct word is ".$word[$i].", ";

        }else{
            echo  $word[$i]." is written correctly, ";
        }
    }

?>

// verifyData file

<?php

$word = array("sun", "moon", "sky", "light","stars","rain");


function verifyData ($word,$index){

    if($_REQUEST["word".$index] == $word){
        return true;
    }

    return false;
}

Con este ejemplo pude hacer un tipo de formulario con opciones

<?php 

$Pregunta = '¿Que significa PID?';
$id_pregunta = "101";
$opciones = array( 
                'a' => "Proyecto integrador docente",
                'b' => "Protecion inteligente dedicada",
                'c' => "Proporcional integral derivativo",
                'd' => "Diseño integral proyectivo"   );
$answer="c";


$form = "<p>".$Pregunta."</p>";
$form .= "<form action= 'analisis.php'>";

foreach($opciones as $letra => $texto){
    
    $form .= "<input type='radio' name=".$id_pregunta." value=".$letra .    ">";
    $form .= "<label for=".$letra. ">".$texto."</label><br>";
}

$form.= "  <input type='submit' value='Verificar'>";
$form .="</form> ";

echo $form;

?>

Una refactorización del proyecto, espero que les sirva de ayuda, estoy repasando basico de php.

Index.php

<?php 

    $palabras = ['marcus', 'penicilina', 'maracuya', 'arbolada'];
    $wordsDeso = [];
    for ($i=0; $i < count($palabras); $i++) { 
        
        $wordsDeso[] = str_shuffle($palabras[$i]);
    }
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Ordenamiento</title>
</head>
<body>
    <main>
        <form action="result.php" method="POST">
            <?php for($i = 0; $i < count($wordsDeso) ; $i++):?>

                <label for="word<?=$i?>">La palabra es: <?=$wordsDeso[$i]?></label>
                <input type="text" name="word<?=$i?>"><br>

            <?php endfor;?>            
            <input type="submit" value="Enviar">
        </form>
    </main>
</body>
</html>

result.php

<?php

$resultados = respuesta();

foreach($resultados as $resultado ){
    echo $resultado . "<br>";
}

function respuesta()
{
    $palabras = ['marcus', 'penicilina', 'maracuya', 'arbolada'];
    $respuestas = [];
    if(isset($_REQUEST)) {
        
        $count= count($_REQUEST);
        for ($i=0; $i < $count; $i++) { 
            
            if($_REQUEST["word".$i] == $palabras[$i]) {

                
                $respuestas[] = "La respuesta es correcta . <br>";
            } else {
                $respuestas[] = "La respuesta no es correcta. La respuesta es: {$palabras[$i]}. <br>";
            }
        }
    }
    return $respuestas;
}


function messWord(array $array) : array {

    $result = [];
    foreach($array as $items) {
        $result[] = str_shuffle($items);
    }

    return $result;
}


?>

<?php

$palabras = array(“sol”, “luna”, “cielo”, “luz”, “estrellas”, “lluvia”);

$form ="<form action=‘analisis.php’>";

for($i = 0; $i < count($palabras); $i++){
$form .=“La palabra: " .str_shuffle($palabras[$i]). " “.
”<input type=‘text’ name='palabra”.$i."’>".
"<br>";
}

$button = “<button type=‘submit’>Enviar</button>”;
$formCierre = “</form>”;

echo $form.$button.$formCierre;

<?php

// print_r($_REQUEST);

// echo '<br>';

$words = array('sol', 'luna', 'cielo', 'luz', 'estrella', 'lluvia');

for ($i = 0; $i < count($words); $i++) {
    if ($_REQUEST["word{$i}"] == $words[$i]) {
        echo 'La palabra ingresada es correcta!<br>';
    } else {
        echo 'La palabra es incorrecta, la palabra correcta es: ' . $words[$i] . '<br>';
    }
}

?>