Actividad de aprendizaje 4 - Evidencia: Taller “Uso de formularios para transferencia”
Publicado por
el
Se crea el archivo index.php, que es la página a la que accede el usuario.
<!DOCTYPE html> <html> <head> <title>Actividad Semana 4</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style> .tg {border-collapse:collapse;border-spacing:0;border-color:#999;} .tg td{font-family:Arial, sans-serif;font-size:14px;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#999;color:#444;background-color:#F7FDFA;} .tg th{font-family:Arial, sans-serif;font-size:14px;font-weight:bold;padding:5px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#999;color:#fff;background-color:#26ADE4;} </style> </head> <?php /* Gabriel Rodríguez DESARROLLO WEB CON PHP(1229212) Evidencia: Taller “Uso de formularios para transferencia” */ //Se requieren las funciones para imprimir el escenario y para enviar las acciones del usuario require("escenario.php"); require("accion.php"); //Se ejecuta el if cuando el usuario envie la informacion del formulario if(isset($_REQUEST["Enviar"])){ //Se captura la información enviada del formulario $fila = $_POST['fila']; $puesto= $_POST['puesto']; $accion= $_POST['accion']; $StringEscenario=$_POST['ListEscenario']; //El String generado en el input oculto se convierte en un Array $count=0; for($i=0;$i<5;$i++){ for($j=0;$j<5;$j++){ $count=5*$i+$j; //Cada captura cada elemento del Array extrayendo dicho elemento del String $ListEscenario[$i][$j]=substr($StringEscenario,$count,1); } $count=0; } //Se devuelve el Array con la información modificada por el usuario $ListEscenario=Accion($fila,$puesto,$accion,$ListEscenario); //Se ejecuta la funcion para mostrar el Escenario, dado el Array modificado Escenario($ListEscenario); } //Se ejecuta el else if cuando el usario borra la informacion del formulario y cuando se carga la página else if(isset($_REQUEST["Reset"]) || !isset($_REQUEST["Enviar"])){ $ListEscenario=array(array("L","L","L","L","L"),array("L","L","L","L","L"),array("L","L","L","L","L"),array("L","L","L","L","L"),array("L","L","L","L","L")); Escenario($ListEscenario); } ?> <body> <table style="margin:auto;"> <form method="post"> <!-- Se separa el array $ListEscenario en un String y de oculta--> <input type="text" name="ListEscenario" value="<?php foreach ($ListEscenario as $fila) {foreach ($fila as $puesto){echo $puesto;}}?>" style="display:none" /> <!-- Se crean los inputs que van a capturar la información introducida por el usario y las acciones--> <tr> <td>Fila: </td> <td> <!-- Se muesta la lista con las opciones posibles para la fila--> <select name="fila"> <option size="4">1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> </select> </td> </tr> <tr> <td>Puesto: </td> <td> <!-- Se muesta la lista con las opciones posibles para la puesto--> <select name="puesto"> <option size="4">1</option> <option size="4">2</option> <option size="4">3</option> <option size="4">4</option> <option size="4">5</option> </select> </td> </tr> <!-- Se muestra el radio button con las acciones posibles--> <tr> <td>Reservar: </td> <td> <input type="radio" name="accion" value="R" /> </td> </tr> <tr> <td>Comprar: </td> <td> <input type="radio" name="accion" value="V" /> </td> </tr> <tr> <td>Liberar: </td> <td> <input type="radio" name="accion" value="L" checked="checked" /> </td> </tr> <tr> <!-- Se muestran los botones con las acciones de enviar la información o borrar toda la informacion ingresada--> <td> <input type="submit" value="Enviar" name="Enviar" /> </td> <td> <input type="submit" value="Borrar" name="Reset" /> </td> </tr> </form> </table> </body>
Se crea la función responsable de crear las tabla con la información del Escenario, es decir, con las filas y los puestos disponibles, reservados o comprados, este caso la biblioteca que contiene la función se llama "escenario.php"
<?php function Escenario($ListEscenario){ //Se crea la tabla y sus encabezados echo "<table class='tg' border='1' style='margin:auto;'>"; echo "<tr>"; echo "<th colspan='6'>Escenario</th>"; echo "<tr>"; /*-- Se crean los encabezados de las tabla*/ echo "<th></th> <th>1</th> <th>2</th> <th>3</th> <th>4</th> <th>5</th> </tr>"; //Se recorre el Array mediante con un foreach y se imprime cada fila y columna de la tabla $i=1; foreach ($ListEscenario as $fila) { echo "<tr>"; echo "<th>"; echo $i; echo "</th>"; foreach ($fila as $silla) { echo "<td>"; echo $silla; echo "</td>"; } echo "</tr>"; $i++; } echo "</table>"; } ?>
Se crea la función responsable de procesar las acciones del usuario, al liberar, reservar o comprar un puesto ubicado en determinada fila, la biblioteca que contiene la acción se llamará "accion.php"
<?php function Accion($fila,$puesto,$accion,$ListEscenario){ //Se evalua la opción del usuario dependiendo de lo contenido en el Array //Si el puesto elegido por el usuario esta libre se modifica el Array con la acción elegida if($ListEscenario[$fila-1][$puesto-1]=="L"){ $ListEscenario[$fila-1][$puesto-1]=$accion; } //Si el puesto elegido por el usuario esta vendido se muestra una alerta con notificando en cada caso lo sucedido else if($ListEscenario[$fila-1][$puesto-1]=="V"){ echo "<script>alert('El puesto ya esta vendido"; if($accion=="L"){echo " no se puede liberar";} else if($accion=="R"){echo " no se puede reservar";} else if($accion=="V"){echo " no se puede volver a vender";} echo "')"; echo "</script>'"; } //Si el puesto elegido por el usuario esta reservado y la accion es reservar se muestra una alerta indicando que ya esta reservado else if($ListEscenario[$fila-1][$puesto-1]=="R" && $accion=="R"){ echo "<script> alert('El puesto ya esta Reservado'); </script>'"; } //Si el puesto esta reservado y la accion es diferente a reservar se modifica el array con la accion elegida por el usuario else if($ListEscenario[$fila-1][$puesto-1]=="R" && $accion!="R"){ $ListEscenario[$fila-1][$puesto-1]=$accion; } //Se retorna el Array modificado return $ListEscenario; } ?>
Buen aporte
ResponderEliminarexelente
ResponderEliminarme sale error
ResponderEliminar¿En qué línea le da error?, ¿Qué versión de PHP usa?, ¿Si esta guardando los archivos de las funciones en la misma carpeta?
ResponderEliminarHola buenas tardes he pegado el codigo y no hace nada que pena la molestia no se por que sera??
ResponderEliminargracias
ResponderEliminarNo te sale nada porque debes poner en el form method="post" la propiedad name ='con el nombre de tu archivo en este caso index.php'
ResponderEliminarExcelente trabajo, me estuve quemando las neuronas desarrollando este ejercicio, y gaste muchas horas haciéndolo como creía, lo tuve a un pelo, pero al ver que eran mas de 500 lineas de código, me dije, creo que algo esta mal. lo único por agregar, es que las funciones se pueden hacer en un mismo archivo, para que 2?
ResponderEliminarMuy buen trabajo...muchas gracias¡ Me fue de gran ayuda¡ Bendiciones¡¡¡
ResponderEliminarexcelente
ResponderEliminarGracias por su comentario.
EliminarMuchas gracias amigo, no sabes cuanto me ayudaste!!
ResponderEliminarme pasas el codigo amigo?:(
Eliminaralguien que me pase ese codigo ya resuelto por favor 😭😭😭
ResponderEliminarpor favor me lo podrian pasar resuelto por favor hasta mañana debo entregarlo
ResponderEliminarMuchas gracias! me funciono perfecto
ResponderEliminarGracias
ResponderEliminar