Diferencia entre revisiones de «Plantilla:PHP/FormulariosConceptosGenerales»
De WikiEducator
| Línea 41: | Línea 41: | ||
<div class="slide"> | <div class="slide"> | ||
===Cómo leer datos de usuario=== | ===Cómo leer datos de usuario=== | ||
| − | *Nos falta ver como podemos hacer que el cliente aporte valores al programa escribiéndolos por el teclado | + | *Nos falta ver como podemos hacer que el cliente (a través del navegador) aporte valores al programa escribiéndolos por el teclado |
*Para leer datos lo hacemos mediante un formulario (hay más métodos, como leer un fichero ,bases de datos, ...) | *Para leer datos lo hacemos mediante un formulario (hay más métodos, como leer un fichero ,bases de datos, ...) | ||
*El formulario será parte de la página del cliente. | *El formulario será parte de la página del cliente. | ||
| Línea 50: | Línea 50: | ||
<div class="slide"> | <div class="slide"> | ||
;Leyendo del usuario | ;Leyendo del usuario | ||
| − | *En él tendremos cajas de texto donde el | + | *En él tendremos cajas de texto donde en el navegador el usuario podrá escribir contenido |
| − | *En | + | *En los diferentes elementos de entrada de un formulario , como una texto, el usuario podrá escribir valores. |
| − | *Al darle el botón enviar | + | *Al darle el botón enviar dichos valores irán al servidor, en seguida veremos como leerlo en el servidor |
| − | * | + | *Repasemos como crear formularios en el cliente y lo que más nos interesa, como leerlos en el servidor |
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
===Creando un formulario=== | ===Creando un formulario=== | ||
*Esta parte la veis el módulo de diseño de interfaces , no obstante comentaremos lo que aquí vamos a utilizar | *Esta parte la veis el módulo de diseño de interfaces , no obstante comentaremos lo que aquí vamos a utilizar | ||
| + | *Un formulario se establece con la etiqueta '''''form''''' | ||
;Etiqueta form | ;Etiqueta form | ||
| − | + | ||
{{MRM_Definicion| | {{MRM_Definicion| | ||
| − | Para la programación servidor entendemos por formulario una sección del código html que va a poder contener, además de otros elementos varios objetos gráficos con los que el usuario va a poder interactuar e insertar valores para que éstos lleguen al servidor}} | + | Para la programación servidor, entendemos por formulario una sección del código html que va a poder contener, además de otros elementos varios objetos gráficos con los que el usuario va a poder interactuar e insertar valores para que éstos lleguen al servidor}} |
</div> | </div> | ||
| Línea 67: | Línea 68: | ||
<div class="slide"> | <div class="slide"> | ||
===Atributos de la etiqueta=== | ===Atributos de la etiqueta=== | ||
| − | *Etiqueta form con una serie de atributos de los que nos interesan dos principalmente | + | *Etiqueta form con una serie de atributos, de los que nos interesan dos principalmente |
| − | #action especifica el fichero que se | + | #action especifica el fichero que se invocará al servidor. Este fichero contendrá el código php que queremos que se ejecute |
| − | #method especifica el modo en el que se van a pasar los parámetros (valores introducidos a los | + | #method especifica el modo en el que se van a pasar los parámetros (valores introducidos a los diferentes objetos del formulario, o que tengan asignados por defecto). |
| + | ====GET o POST==== | ||
<source lang=html4strict> | <source lang=html4strict> | ||
<form action="mifichero.php" method="POST" | <form action="mifichero.php" method="POST" | ||
| Línea 76: | Línea 78: | ||
</source> | </source> | ||
</div> | </div> | ||
| + | *Por defecto los valores son pasados por GET | ||
| + | *Este método es fácil de ver pues se viauliza en el URL, apareciendo como parte de él separado por el signo interrogación con parejas Variable valor | ||
| + | {{MRM_Ejemplo|Title: Método GET| | ||
| + | ;HTML en el cliente | ||
| + | <source lang=html4strict> | ||
| + | <form action="mifichero.php" method="GET"> | ||
| + | Nombre | ||
| + | <input type=text name = 'nombre' value='maría'> | ||
| + | Apellido | ||
| + | <input type=text name = 'apellido' value='Ruiz'> | ||
| + | <br /> | ||
| + | <input type=submit value=enviar> | ||
| + | </form> | ||
| + | </source> | ||
| + | ;Al fisualizar en el navegador la páginas se verá | ||
| + | [[Imagen:submitGET1.png]] | ||
| + | |||
| + | ;Al presionar submit si observamos el url | ||
| + | [[Imagen:submitGET2.png]] | ||
| + | }} | ||
<!--3 --> | <!--3 --> | ||
Revisión de 07:02 3 nov 2016
- Por defecto los valores son pasados por GET
- Este método es fácil de ver pues se viauliza en el URL, apareciendo como parte de él separado por el signo interrogación con parejas Variable valor
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<h1>Juego de adivinar un número </h1>
<h3>Tú piensas un número de 1 al 1024 y yo lo adivino en 10 intentos .... (o menos)</h3>
<hr />
<?php if (!isset($_POST[empezar])): ?>
<form action ="." method="POST">
<b>Haz click para empezar</b>
<input type=submit name ="empezar" value="empezar" />
</form>
<?php
else:
echo "<form action ='.' method='POST'>";
$intento = $_POST['intento'];
$intento++;
$min = is_null($_POST['min']) ? 0 : $_POST['min'];
$max = is_null($_POST['max']) ? 1024 : $_POST['max'];
$estado = $_POST['valor'];
$num = $min+ round(($max - $min ) / 2);
switch ($estado) {
case 'mayor':
$min = $num + 1;
break;
case 'menor':
$max = $num - 1;
break;
case 'acertado':
break;
}
$num = $min+round(($max - $min ) / 2);
echo "Intento número $intento, El número es $num <br />";
echo "<input type='hidden' name='intento' value =$intento />";
echo "<input type='hidden' name='min' value =$min />";
echo "<input type='hidden' name='max' value =$max />";
?>
<input type="radio" name="valor" value = mayor>Mayor <br />
<input type="radio" name="valor" value = menor>Menor <br />
<input type="radio" name="valor" value = igual>Acertaste <br />
<br />
<input type=submit name ="empezar" value="Evaluar" />
</form>
<?php endif ?>
</body>
</html>
