No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

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 22

Preguntas 3

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

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

Logre llegar hasta este punto

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

Me sali贸 bien por fin!!

gran curso

muy buena explicacion va paso a paso鈥

<?php
// print_r($_REQUEST);

$palabras = array(鈥渟ol鈥, 鈥渓una鈥, 鈥渃ielo鈥, 鈥渓uz鈥, 鈥渆strellas鈥, 鈥渓luvia鈥);

for($i = 0; $i < count($palabras); $i++){
if($_REQUEST[鈥減alabra鈥 .$i] == $palabras[$i]){
echo 鈥淟a palabra ingresada es correcta鈥 ."<br>";
} else {
echo 鈥淟a palabra ingresada es incorrecta, la palabra correcta es: " .$palabras[$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.

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 鈥榩into鈥 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

$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(鈥渟ol鈥,鈥渓una鈥,鈥渃ielo鈥,鈥渆strellas鈥,鈥渓luvia鈥);

$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(鈥渟ol鈥,鈥渓una鈥,鈥渃ielo鈥,鈥渆strellas鈥,鈥渓luvia鈥);

$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(鈥渟ol鈥, 鈥渓una鈥, 鈥渃ielo鈥, 鈥渓uz鈥, 鈥渆strellas鈥, 鈥渓luvia鈥);

$form ="<form action=鈥榓nalisis.php鈥>";

for($i = 0; $i < count($palabras); $i++){
$form .=鈥淟a palabra: " .str_shuffle($palabras[$i]). " 鈥.
鈥<input type=鈥榯ext鈥 name='palabra鈥.$i."鈥>".
"<br>";
}

$button = 鈥<button type=鈥榮ubmit鈥>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>';
    }
}

?>