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 29

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 鈥榩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
print_r($_REQUEST);

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

for ($i = 0; $i < count($palabras); $i++) {
$palabra = $_REQUEST[鈥減alabra鈥 . $i];
if ($palabra == $palabras[$i]) {
echo 鈥淟a palabra " . $palabra . " es correcta <br/>鈥;
} else {
echo 鈥淟a palabra " . $palabra . " es incorrecta <br/>鈥;
}
}
?>

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

```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(鈥渕oon鈥, 鈥渟occer鈥, 鈥減laying鈥);
$form = 鈥<form action =鈥榓nalysis.php鈥>鈥;

//* makes messy words

for($i = 0; $i < count($words); $i++){
$form .= 鈥淭he word: " . str_shuffle($words[$i]) .鈥 鈥. 鈥<input type=鈥榯ext鈥 name='word鈥. $i .鈥濃>" . 鈥<br>鈥;
}

$button = 鈥<button type=鈥榮ubmit鈥>Send</button>鈥;
$formClose = 鈥</form>鈥;

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

<?php

analisis

$words = array(鈥渕oon鈥, 鈥渟occer鈥, 鈥減laying鈥);

for ($i=0; $i <count($words) ; $i++) {
if($_REQUEST[鈥渨ord鈥 .$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(鈥渟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>';
    }
}

?>