Logre llegar hasta este punto
Introducción
¡Practiquemos con PHP!
¿Qué es la consola de comandos?
Cómo entrenar tu pensamiento lógico
Conceptos básicos en la práctica
Operadores lógicos con PHP
Operadores aritméticos con PHP
Estructuras de control con PHP
¿Qué son las funciones?
Ejercicios matemáticos con código
Mostrando datos en HTML desde PHP
¡Ponte a prueba!
Microproyecto de lógica
Microproyecto: Juego de ordenamiento de palabras, diseño de flujo y algoritmo
¡Creando nuestro juego!
Mejorando nuestro juego
Finalizando nuestro juego
Ejercicios de práctica
Conclusiones
Code Review del proyecto y buenas prácticas
Cierre del curso
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
Paga en 4 cuotas sin intereses
Termina en:
Ana Belisa Martínez
Aportes 30
Preguntas 3
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!!
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
<?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>";
}
}
"; if ( $palabra == $palabras_correctas[$indice] ) $html .= "La respuesta a la $indice es Correcta " ; else $html .= "La respuesta a la $indice es Incorrecta " ; $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>”;
}
}
?>
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>';
}
}
?>
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?