Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Curso Práctico de PHP

Curso Práctico de PHP

Ana Belisa Martínez

Ana Belisa Martínez

Mejorando nuestro juego

13/17
Recursos

Aportes 7

Preguntas 4

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Si les sale el error en la parte del “<input type=‘text’ name=‘palabra’.[$i].”’>".
"<br>";

Esta es la solucion

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

13. Mejorando nuestro juego

Comparto el código de la clase, donde hice muy pequeños ajustes para verse mejor:

Así se ve el formulario:

Comparto el código del archivo main.php:

<?php
$wordsList = ["sol", "luna", "cielo", "luz", "estrellas", "lluvia"];

$form = "<form action ='analisis.php'>";
for($i=0; $i < count($wordsList); $i++){
    $form .= "La palabra ". ($i + 1) ." es: " . str_shuffle($wordsList[$i]) . "<br>" .
    "Tu respuesta: ". "<input type='text' name='word" .$i. "'><br>";
}

$button = "<button type='submit'>Enviar</button>";
$formCierre ="</form>";
echo $form.$button.$formCierre;
<?php

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

$inputs = '';

for ($i = 0; $i < count($words); $i++) {
    $inputs .= 'La Palabra: ' . str_shuffle($words[$i]) . ' ' .
    "<input type='text' name='word{$i}'><br>";
}

echo "
    <form action='analysis.php'>
        {$inputs}
        <button type='submit'>Enviar</button>
    </form>
";

?>

Inclui algunos estilos por si quieren un Formulario mas bonito

<style>

form{
    width: 100%;
    max-width: 300px;
    border-radius: 5px;
    border:1px solid #eee;
    box-shadow: -1px 8px 13px #c7c2c2;
    margin: auto;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    padding: 20px;
}

form > input{
    border-radius: 4px;
    border:1px solid gray;
    margin-top: 5px;
    padding: 5px;
}

form > p{
    text-transform: uppercase;
    color: #0292d4;
    font-weight: bolder;
    font-size: 13px;
    font-family: Arial, Helvetica, sans-serif;
}

form > button{
    width: 80%;
    padding: 3%;
    border-radius: 4px;
    border: none;
    background: #0292d4;
    font-weight: bold;
    color: white;
}
</style>

<?php

$palabras = ['sol','luna','cielo','luz','estrellas','lluvia'];

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

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

}
$button = "<button type='submit'>enviar</button>";
$foromClose = "</form>";

echo $form."<br>".$button.$foromClose;


?>```

Esta muy didactica la clase

FORMULARIO DINAMICO

<?php
require_once '../Core/Core.php';
require_once './data.php';

$_palabras = [];

foreach ($palabras as $palabra) {
    array_push($_palabras,str_shuffle($palabra));
}

$form = new Create;
print_r($_palabras);
$form->setAtributos([
    'action' => 'analisis.php',
    'method' => 'post'
]);
echo $form->start();
    for ($i = 0; $i < count($palabras); $i++) {
        echo $form->input([
            'type' => 'text',
            'name' => 'palabra'.$i,
            'placeholder' => "Palabra $i" 
        ]);
        echo "<br>";
    }
    $form->setAtributos(['type'=>'submit']);
    echo $form->start('button');
        echo "Enviar";
    echo $form->end('button');
echo $form->end();

ANALISIS DINAMICO

<?php
require_once './data.php';
print_r($_REQUEST);
echo "<br>";
for ($i = 0; $i < count($palabras); $i++) {
    if ($_REQUEST['palabra'.$i] === $palabras[$i]) {
        echo "Palabra Correcta<br>";
    } else {
        echo "Palabra Incorrecta (R:{$palabras[$i]})<br>";
    }
}

Pequeños cambios en mi código anterior:

<?php
$palabras=["enredadera","sombra","hoja","pasto","edificio","gatos"];
$retos = [];
foreach($palabras as $palabra) {
    $retos[] = str_shuffle($palabra);
}

if($_REQUEST) {
    $indice = 0;
    foreach($_REQUEST as $respuesta) {
        $correcta=$palabras[$indice++];
        if($respuesta == $correcta) {
            echo "<strong>$respuesta:</strong> ¡Respuesta correcta! <strong>:)</strong> <br><br>";
        }else {
            echo "<strong>$respuesta:</strong> ¡Incorrecto! <strong>:(</strong><br>La respuesta es: <strong>" . $correcta . "</strong><br><br>";
        }
    }
    echo "<input type='button' value='Volver a jugar' onClick='history.go(-1);'>";
    exit();
}
?>
<!DOCTYPE html>
<html lang="es">
<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>Juego</title>
</head>
<body>
    <h1>Adivina la palabra</h1>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
        <?php
        $i=0;
        foreach($retos as $reto) {
            echo "<p>La palabra <strong>$reto</strong> es <input type='text' name='respuesta" . ++$i ."' autocomplete='off'></p>";
        }
        ?>
        <button type="submit">Enviar</button>
    </form>
</body>
</html>