Diferencia entre revisiones de «Usuario:ManuelRomero/NewPHP/B2T1/formularios/ejercicios»

De WikiEducator
Saltar a: navegación, buscar
 
(22 revisiones intermedias por el mismo usuario no mostrado)
Línea 3: Línea 3:
 
=== Contador de accesos===
 
=== Contador de accesos===
 
<br />
 
<br />
 +
 +
{{MRM_Actividad|Title=Tabla de multiplicar|
 +
*Un programa en el que introduzca un número
 +
*Me mostrará la tabla de multiplicar de ese número
 +
*En caso de que no sea número me lo indicará y me mostrará la tabla del 0
 +
}}
 +
 +
{{MRM_Actividad|Title=Conversor numérico|
 +
*Un programa en el que introduzca un número
 +
*El número lo lee en decimal
 +
*Me mostrará la conversión a hexadecimal, octal y binario
 +
*Los mostrará en una tabla
 +
*En caso de que no sea número me lo indicará y me mostrará 0 en todos los valores
 +
}}
 +
 +
{{MRM_Actividad|Title=Mostrar formulario o datos de acceso|
 +
*Realiza un programa que se muestre o bien el formulario o
 +
*bien un mensaje de bienvenida con los datos del usuario
 +
*El usuario y password han de coincidir
 +
*En caso de que  no coincidan se mostrar junto con el formulario un msj de error
 +
}}
 +
 +
 +
*A continuación vamos a ver como usar y leer datos de un formulario.
 +
{{MRM_Actividad|Title = Formulario|
 +
Realiza un formulario donde pidamos al usuario datos para confeccionar una ficha
 +
*Nombre
 +
*Apellidos
 +
*Dirección
 +
*Fecha de nacimiento
 +
*DNI
 +
*Edad
 +
*Idiomas que habla de entre 4 idiomas (Checkbox)
 +
*Si es hombre, mujer o no quiere informar de ello (radio)
 +
*Dirección de correo electrónico.
 +
*Estudios realizados entre ESO, BACHILLER, CICLO FORMATIVO, GRADO UNIVERSITARIO (select)
 +
}}
 +
 +
 +
{{MRM_Actividad|Title=Crear un sitio web|
 +
*Realiza un programa en php que solicite al usuario una serie de parámetros
 +
*Con esos parámetros se construirá una página web según se especifica
 +
[[Archivo:p3_php.png]]
 +
*Donde
 +
* '''A''': altura de la cabecera
 +
<source lang=html5>
 +
  <div style=heigth:A>TITULO DE LA CABECERA</div>
 +
</source>
 +
* '''B''': altura del contenido
 +
<source lang=html5>
 +
  <div style=heigth:B> esto es el contenido (menú y contenido)</div>
 +
</source>
 +
* '''C''': ancho de la parte derecha del contenido
 +
<source lang=html5>
 +
  <div style=width:C>TITULO DE LA CABECERA</div>
 +
</source>
 +
* '''D''': ancho de la parte izquierda del menu
 +
<source lang=html5>
 +
  <div style=width:D>TITULO DE LA CABECERA</div>
 +
</source>
 +
 +
 +
}}
 +
 +
 +
 
{{Actividad|
 
{{Actividad|
 
*Con lo que hemos visto hasta ahora (sin usar cookies, ni sesiones, ni ficheros)
 
*Con lo que hemos visto hasta ahora (sin usar cookies, ni sesiones, ni ficheros)
 
Haz un programa que cuente cuantos accesos hacemos a una página en una misma conexión}}
 
Haz un programa que cuente cuantos accesos hacemos a una página en una misma conexión}}
 +
<!--
 
<font size=4 color=red>[[Usuario:ManuelRomero/NewPHP/formularios/Ejercicios/Ejercicio1 | Solución]]</font>
 
<font size=4 color=red>[[Usuario:ManuelRomero/NewPHP/formularios/Ejercicios/Ejercicio1 | Solución]]</font>
 +
-->
 
<hr />
 
<hr />
 +
{{
 +
Actividad|
 +
*Realiza un programa con una caja de texto y mostraremos el resultado de pasar ese contenido por las funciones '''''htmlspqcialchars()''''' y '''''strip_tag()'''''
 +
*Añadimos un segundo campo de texto para poder pasar un segundo parámetro a la función strip_tag y ver su resultado
 +
*La pequeña aplicación mantendrá el último texto introducido para poder trabajar a partir de él y modificar
 +
}}
 +
 
===Contador de accesos con nombre===
 
===Contador de accesos con nombre===
 
Se trata de modificar el ejercicio uno.
 
Se trata de modificar el ejercicio uno.
Línea 18: Línea 93:
 
#En todo momento la aplicación nos mostrará un listado con todas las conexiones de cada usuario.
 
#En todo momento la aplicación nos mostrará un listado con todas las conexiones de cada usuario.
 
}}
 
}}
<!--
 
<font size=4 color=red>[[Usuario:ManuelRomero/NewPHP/formularios/Ejercicios/Ejercicio2 | Solución]]</font>
 
-->
 
  
 
+
===Texto en idiomas===
<hr />
+
{{Actividad|
{{MRM_Actividad|Title=Juego de adivinar números|
+
;Haz un programa donde aparezca un formulario que pida nombre, passs y un botón de acceder.
*Haz un programa que genere un número aleatorio entre 0 y  1024
+
*Además tendré tres radio buttons para seleccionar el idioma (Castellano, Francés o Inglés).
*Después deberás de intentar adivinarlo.
+
*Tendré otro botón submit para seleccionar el idioma
*El programa te informará de si el número que aportas es menor, mayor o si lo has acertado
+
*Si cambio el idioma cambiarán las palabras al idioma seleccionado
*Tendrás 10 intentos.
+
*Si accedo, voy a una página donde podrá una bienvenida en el idioma seleccionado
Deberás de tener dos fichero: El index.html que te generará la información y jugar.php que es es juego
+
 
}}
 
}}
  
{{Plegable|hide|juego adivinar: index.html|
+
#Cada vez que se inserte un nombre en el campo de texto y se haga click en el submit, se contabilizará como que el usuario cuyo nombre hemos insertado se ha conectado una vez.
<source lang=php>
+
##Si el campo de texto está vacío no se contabilizará un usuario llamado "vacío".
<!doctype html>
+
#Futuras conexiones del mismo usuario incrementarán el número de accesos de ese usuario
<html lang="en">
+
#Futuras conexiones de otro usuario contabilizarán las conexiones del nuevo formulario
    <head>
+
#En todo momento la aplicación nos mostrará un listado con todas las conexiones de cada usuario.
        <meta charset="UTF-8">
+
        <meta name="viewport"
+
              content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
+
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
+
        <title>Adivina número</title>
+
    </head>
+
    <body>
+
        <fieldset style="width: 60%;float:left;margin-left: 20%; background: bisque">
+
            <legend><h1>Juego adivina número</h1></legend>
+
 
+
 
+
            <h2>    Debes de adivinar un número que yo genero</h2>
+
            <h2>    El número está entre 0 y 1024</h2>
+
            <h2>    Cada vez que verifiques yo te diré</h2>
+
            <ul>
+
                <ol>Si el número buscado es mayor</ol>
+
                <ol>Si el número buscado es menor</ol>
+
                <ol>Si has aceertado el número</ol>
+
            </ul>
+
            <h2>    Tienes 10 intentos</h2>
+
            <h2>    Se te indicará el número de intentos que llevas</h2>
+
            <form action="jugar.php"><input type="submit" value="Empezar juego"></form>
+
        </fieldset>
+
 
+
    </body>
+
</html>
+
</source>
+
 
}}
 
}}
{{Plegable|hide|jugar.php|
+
<!--
<source lang=php>
+
<font size=4 color=red>[[Usuario:ManuelRomero/NewPHP/formularios/Ejercicios/Ejercicio2 | Solución]]</font>
<?php
+
-->
switch ($_POST['enviar']) {
+
    case 'jugar':
+
        $numero_adivinar = filter_input(INPUT_POST, 'numAdivinar');
+
        $intentos = filter_input(INPUT_POST, 'intentos');
+
        $numero = filter_input(INPUT_POST, 'numero');
+
        $intentos++;
+
        $msj = valida($numero_adivinar, $numero);
+
        if ($msj === "FIN")
+
            terminar(true);
+
        if ($intentos === 10)
+
            terminar(false);
+
        $msj.="<br />Llevas $intentos intentos restan " . (10 - $intentos);
+
        $reiniciar = "";
+
        break;
+
    case 'volver':
+
        header("Location:index.php");
+
        exit();
+
 
+
    case 'reiniciar':
+
        $numero_adivinar = rand(0, 1024);
+
        $msj = "Volvemos a empezar el juego";
+
        $intentos = 0;
+
        $reiniciar = "disabled";
+
        break;
+
 
+
    default: //vengo del index
+
        $numero_adivinar = rand(0, 1024);
+
        $msj = "Vamos a empezar a jugar, inserta un número";
+
        $reiniciar = "disabled";
+
        $intentos = 0;
+
}
+
  
function valida($numero_adivinar, $numero) {
 
    switch (true) {
 
        case ($numero > $numero_adivinar):
 
            $msj = "El número $numero es MAYOR que el número buscado";
 
  
            break;
+
<hr />
        case ($numero < $numero_adivinar):
+
<!--
            $msj = "El número $numero es MENOR que el número buscado";
+
            break;
+
        case ($numero === $numero_adivinar):
+
            $msj = "FIN";
+
            break;
+
    }
+
    return $msj;
+
}
+
 
+
function terminar($estado) {
+
    global $msj, $numero, $intentos, $numero_adivinar, $reiniciar;
+
    if ($estado === true) {
+
        $msj = "FELICIDADES,$numero ES EL NÚMERO BUSCADO<br />";
+
        $msj.="Lo has acertado en $intentos intentos";
+
        $reiniciar = disabled;
+
        $intentos = 0;
+
    } else {
+
        $msj = "HAS TERMINADO TUS INTENTOS<br />";
+
        $msj.="El número buscado es $numero_adivinar<br />";
+
        $msj.="Buena suerte para la próxima vez";
+
 
+
        $reiniciar = disabled;
+
        $intentos = 0;
+
    }
+
}
+
?>
+
 
+
 
+
<!doctype html>
+
<html lang="en">
+
    <head>
+
        <meta char3="viewport"
+
              content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
+
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
+
        <title>Document</title>
+
    </head>
+
    <body style="width: 60%;float:left;margin-left: 20%; ">
+
 
+
        <h3><?php echo $msj ?></h3>
+
        <fieldset style="width:30%;background:bisque ">
+
            <legend>Empieza el juego</legend>
+
            <form action="jugar.php" method="POST" >
+
                Escribe un número <input type="text" name="numero" id="">
+
                <hr />
+
                <input type="submit" value="jugar" name="enviar" >
+
                <input type="submit" value="reiniciar" name="enviar" <?php echo $reiniciar ?> >
+
                <input type="submit" value="volver" name="enviar"  >
+
                <input type="hidden" value="<?php echo $intentos ?>" name="intentos">
+
                <input type="hidden" value="<?php echo $numero_adivinar ?>" name="numAdivinar">
+
            </form>
+
        </fieldset>
+
 
+
    </body>
+
</html>
+
</source>
+
}}
+
 
<hr />
 
<hr />
 
{{MRM_Actividad|Title=Juego de adivinar números|
 
{{MRM_Actividad|Title=Juego de adivinar números|
Línea 172: Línea 125:
 
-->
 
-->
 
<hr />
 
<hr />
{{MRM_Actividad|Title=Mostrar formulario o datos de acceso|
 
*Realiza un programa que se muestre o bien el formulario o
 
*bien un mensaje de bienvenida con los datos del usuario
 
*El usuario y password han de coincidir
 
*En caso de que  no coincidan se mostrar junto con el formulario un msj de error
 
{{Pelgable|hide|código php del ejercicio|
 
<source lang=php>
 
<!DOCTYPE html>
 
<!--
 
To change this license header, choose License Headers in Project Properties.
 
To change this template file, choose Tools | Templates
 
and open the template in the editor.
 
-->
 
<html>
 
    <head>
 
        <meta charset="UTF-8">
 
        <title></title>
 
    </head>
 
 
 
    <body>
 
        <?php
 
        $msj = false;
 
        $error = false;
 
        if ($_POST['enviar']) {
 
            //leo variables de entrada
 
            $nombre = filter_input(INPUT_POST, 'nombre');
 
            $pass = filter_input(INPUT_POST, 'pass');
 
            if ($nombre === $pass)
 
                $msj = "Bienvenido $nombre";
 
            else
 
                $error = "Usuarios incorrecto, vuelva a insetar";
 
        }
 
        ?>
 
 
        <?php
 
        if (!$msj):
 
            echo $error
 
            ?>
 
 
            <form action="index.php" method="POST">
 
                Nombre <input type="text " name ="nombre" value="">
 
                Password <input type="text " name ="pass" value=""><br />
 
                <input type="submit" value="Validar" name="enviar">
 
            </form>
 
            <?php
 
        else:
 
            echo $msj;
 
        endif;
 
        ?>
 
 
 
 
    </body>
 
</html>
 
</source>
 
}}}}
 

Última revisión de 19:58 21 oct 2019



Contador de accesos




Icon activity.jpg
Tabla de multiplicar
  • Un programa en el que introduzca un número
  • Me mostrará la tabla de multiplicar de ese número
  • En caso de que no sea número me lo indicará y me mostrará la tabla del 0





Icon activity.jpg
Conversor numérico
  • Un programa en el que introduzca un número
  • El número lo lee en decimal
  • Me mostrará la conversión a hexadecimal, octal y binario
  • Los mostrará en una tabla
  • En caso de que no sea número me lo indicará y me mostrará 0 en todos los valores





Icon activity.jpg
Mostrar formulario o datos de acceso
  • Realiza un programa que se muestre o bien el formulario o
  • bien un mensaje de bienvenida con los datos del usuario
  • El usuario y password han de coincidir
  • En caso de que no coincidan se mostrar junto con el formulario un msj de error




  • A continuación vamos a ver como usar y leer datos de un formulario.


Icon activity.jpg
Formulario

Realiza un formulario donde pidamos al usuario datos para confeccionar una ficha

  • Nombre
  • Apellidos
  • Dirección
  • Fecha de nacimiento
  • DNI
  • Edad
  • Idiomas que habla de entre 4 idiomas (Checkbox)
  • Si es hombre, mujer o no quiere informar de ello (radio)
  • Dirección de correo electrónico.
  • Estudios realizados entre ESO, BACHILLER, CICLO FORMATIVO, GRADO UNIVERSITARIO (select)






Icon activity.jpg
Crear un sitio web
  • Realiza un programa en php que solicite al usuario una serie de parámetros
  • Con esos parámetros se construirá una página web según se especifica

P3 php.png

  • Donde
  • A: altura de la cabecera
  <div style=heigth:A>TITULO DE LA CABECERA</div>
  • B: altura del contenido
  <div style=heigth:B> esto es el contenido (menú y contenido)</div>
  • C: ancho de la parte derecha del contenido
  <div style=width:C>TITULO DE LA CABECERA</div>
  • D: ancho de la parte izquierda del menu
  <div style=width:D>TITULO DE LA CABECERA</div>







Icon activity.jpg

Actividad

  • Con lo que hemos visto hasta ahora (sin usar cookies, ni sesiones, ni ficheros)

Haz un programa que cuente cuantos accesos hacemos a una página en una misma conexión





Icon activity.jpg

Actividad

  • Realiza un programa con una caja de texto y mostraremos el resultado de pasar ese contenido por las funciones htmlspqcialchars() y strip_tag()
  • Añadimos un segundo campo de texto para poder pasar un segundo parámetro a la función strip_tag y ver su resultado
  • La pequeña aplicación mantendrá el último texto introducido para poder trabajar a partir de él y modificar





Contador de accesos con nombre

Se trata de modificar el ejercicio uno.


Icon activity.jpg

Actividad

En este caso tendremos un formulario con un campo de texto y un botón submit
  1. Cada vez que se inserte un nombre en el campo de texto y se haga click en el submit, se contabilizará como que el usuario cuyo nombre hemos insertado se ha conectado una vez.
    1. Si el campo de texto está vacío no se contabilizará un usuario llamado "vacío".
  2. Futuras conexiones del mismo usuario incrementarán el número de accesos de ese usuario
  3. Futuras conexiones de otro usuario contabilizarán las conexiones del nuevo formulario
  4. En todo momento la aplicación nos mostrará un listado con todas las conexiones de cada usuario.





Texto en idiomas

Icon activity.jpg

Actividad

Haz un programa donde aparezca un formulario que pida nombre, passs y un botón de acceder.
  • Además tendré tres radio buttons para seleccionar el idioma (Castellano, Francés o Inglés).
  • Tendré otro botón submit para seleccionar el idioma
  • Si cambio el idioma cambiarán las palabras al idioma seleccionado
  • Si accedo, voy a una página donde podrá una bienvenida en el idioma seleccionado





  1. Cada vez que se inserte un nombre en el campo de texto y se haga click en el submit, se contabilizará como que el usuario cuyo nombre hemos insertado se ha conectado una vez.
    1. Si el campo de texto está vacío no se contabilizará un usuario llamado "vacío".
  2. Futuras conexiones del mismo usuario incrementarán el número de accesos de ese usuario
  3. Futuras conexiones de otro usuario contabilizarán las conexiones del nuevo formulario
  4. En todo momento la aplicación nos mostrará un listado con todas las conexiones de cada usuario.

}}