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

De WikiEducator
Saltar a: navegación, buscar
 
(12 revisiones intermedias por el mismo usuario no mostrado)
Línea 72: Línea 72:
 
*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.
 
{{Actividad|
 
{{Actividad|
 
;En este caso tendremos un formulario con un campo de texto y un botón submit
 
;En este caso tendremos un formulario con un campo de texto y un botón submit
 +
#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.
 +
##Si el campo de texto está vacío no se contabilizará un usuario llamado "vacío".
 +
#Futuras conexiones del mismo usuario incrementarán el número de accesos de ese usuario
 +
#Futuras conexiones de otro usuario contabilizarán las conexiones del nuevo formulario
 +
#En todo momento la aplicación nos mostrará un listado con todas las conexiones de cada usuario.
 +
}}
 +
 +
===Texto en idiomas===
 +
{{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
 +
}}
 +
 
#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.  
 
#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.  
 
##Si el campo de texto está vacío no se contabilizará un usuario llamado "vacío".
 
##Si el campo de texto está vacío no se contabilizará un usuario llamado "vacío".
Línea 90: Línea 115:
  
 
<hr />
 
<hr />
{{MRM_Actividad|Title=Juego de adivinar números|
 
*Haz un programa que genere un número aleatorio entre 0 y  1024
 
*Después deberás de intentar adivinarlo.
 
*El programa te informará de si el número que aportas es menor, mayor o si lo has acertado
 
*Tendrás 10 intentos.
 
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|
 
<source lang=php>
 
<!doctype html>
 
<html lang="en">
 
    <head>
 
        <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>
 
<?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;
 
        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|

Última revisión de 18: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.

}}