Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Aplicaciones Web PHP
Aplicaciones Web PHP
Formularios
Protocolo HTTP
Cliente
(Navegador)
80
x
Servidor
respuesta
cierre
PHP
Paso de parmetros
PHP
http://localhost/CursoPHP/hola.html
<p>Por
favor,indiquesunombre:
<form method="get"action="procesaform.php">
Nombre:
<inputtype="text"name="cliente"/>
<inputtype="submit"value="Enviar">
</form>
</p>
procesaform.php
<?php
$cliente=$_REQUEST["cliente"];
echo "Hola $cliente";
?>
PHP
http://localhost/CursoPHP/hola.html
<p>Por
favor,indiquesunombre:
<form method="post"action="procesaform.php">
Nombre:
<inputtype="text"name="cliente"/>
<inputtype="submit"value="Enviar">
</form>
</p>
procesaform.php
<?php
$cliente=$_REQUEST["cliente"];
echo "Hola $cliente";
?>
PHP
Formularios
<form>
<form action="http://www.miweb.com/procesaform.php"method="post">
Escribetunombre:
<inputtype="text"name="nombre"value=""/>
<br/>
<inputtype="submit"value="Enviar"/>
</form>
POST "/procesaform.php"
nombre="valor"
Juan Pavn - UCM 2012-13
PHP
Formularios
PHP
Formularios
Atributos de <form>
PHP
Formularios
<input />
PHP
10
Formularios
Cuadro de texto
Nombre<br/>
<inputtype="text" name="nombre"value=""/>
Contraseas
Contrasea <br/>
<inputtype="password" name="contrasena"value=""/>
PHP
11
Formularios
PHP
12
Formularios
PHP
13
Formularios
PHP
14
Formularios
Radiobutton
Sexo<br/>
<inputtype="radio" name="sexo"value="hombre"checked="checked"/>
Hombre
<inputtype="radio"name="sexo"value="mujer"/>Mujer
PHP
15
Ejercicio
PHP
16
Formularios
Listas de seleccin
<formaction="">
<select name="lenguajes">
<optionvalue="c">C</option>
<optionvalue="cplusplus">C++</option>
<optionvalue="java"selected>Java</option>
<optionvalue="php">PHP</option>
<optionvalue="python">Python</option>
</select>
</form>
Atributos de option:
value determina el valor que se enva al servidor
selected permite definir la opcin por defecto
PHP
17
Formularios
Agrupacin de elementos
<form action="">
<fieldset>
<legend>Informacinpersonal:</legend>
Nombre:<inputtype="text"size="50"><br>
Email:<inputtype="text"size="50"><br>
Ciudad:<inputtype="text"size="20">
</fieldset>
</form>
PHP
18
$_REQUEST ["nombre-parmetro"]
nombre-parmetro es el que en el formulario se indica con el atributo
name
<p>Nombre:<inputtype="text"name="nombre"/></p>
print_r($_REQUEST);
$_GET ["nombre-parmetro"]
$_POST ["nombre-parmetro"]
Pero $_REQUEST vale para ambos tipos de solicitudes
PHP
19
Ficheros en formularios
Incluir un fichero
<form name="fichero"action="procesa_fichero.php"method="post"
enctype="multipart/form-data">
Fichero:<inputtype="file"name="archivo"/>
<inputtype="submit"value="Enviar">
</form>
PHP
20
Texto correcto
No vaco (strlen() > 0)
Eliminar caracteres en blanco (trim())
Cuidado con caracteres especiales
Nmeros
Bien formados
Enteros: intval()
Reales: floatval()
Rango de valores
Direccin de correo electrnico
Preg_match('/^[^@\s]+@([az09]+\.)+[az]{2,}$/i',$_POST['email'])
Juan Pavn - UCM 2012-13
PHP
21
PHP
22
strip_tags(string)
Retira las etiquetas HTML y PHP de un string
htmlspecialchars(string)
Convierte caracteres especiales en entidades HTML
& &
" (comillas dobles) "
' (comilla simple) '
< '<'
> '>'
trim(string)
Elimina los espacios en blanco iniciales y finales del string
23
PHP
Carcter
Cdigo
%2F
%3A
%3D
"
%22
'
%60
(espacio)
%20
%3F
%40
&
%26
%5C
%7E
%7C
PHP
(tambin como +)
24
htmlspecialchars(string)
& &
" "
< <
> >
nl2br(string)
PHP
25
Ejercicio
PHP
26
Cookies
Cookies
Uso de cookies
Gestin de sesiones
Juan Pavn - UCM 2012-13
PHP
28
Cookies
Atributos
Seguridad
29
PHP
Cookies
crea cookie
respuesta HTTP
navegador
servidor
peticin HTTP
Memoria/
Disco
PHP
30
PHP
31
$cookie1="nombre";
$valor1="Juan";
$tvida=time()+3600*24;//expiraen24horas
setcookie($cookie1,$valor1,$tvida,".dominio.com");
Juan Pavn - UCM 2012-13
PHP
32
Borrado de un cookie
Uso de un cookie
if (isset($_COOKIE["nombre"])){
echo"<p>Elvalordelcookienombrees$_COOKIE[nombre]</p>";
}else {
echo"<p>Noseharecibidoelcookienombre.</p>";
}
PHP
33
Ejercicios Cookies
http://www.mclibre.org/consultar/php/ejercicios/cookies/cookies.html
PHP
34
Sesiones
Sesiones de usuario
Inicio de sesin
Login de usuario
Actividad del usuario
Flujo lgico de operaciones de consulta/modificacin de informacin
Cierre de sesin
Explcito por el usuario
Por expiracin de un tiempo de inactividad
PHP
36
Un cookie: PHPSESSID
Cuando se inicia una sesin en una pgina, el intrprete PHP
comprueba la presencia de este cookie y la establece si no existe
El identificador de sesin en la cookie PHPSESSID permite identificar
unvocamente ese cliente en el servidor
Variables de identificacin de sesin
Normalmente el usuario navega de una pgina a otra del mismo sitio
Se podra crear un identificador nico al visitar la primera pgina si
no existiera y pasarlo en las siguientes pginas
Como un argumento en cada GET
<ahref="siguiente.php?sesion=<?php echo$_GET['id_sesion'];?>">Siguientepgina</a>
En formularios, como un argumento oculto en el POST
<form action=siguiente.php method=post>
Camposdelformulario
<inputtype=hidden name=sesion value="<?php echo$_GET['id_sesion'];?>">
</form>
PHP
37
Sesiones en PHP
PHP
38
PHP
39
Ejercicio Sesiones
<?php
session_start();
$_SESSION["nombre"]="Juan";
print "<p>Sehaguardadotunombre.</p>";
?>
<?php
session_start();
print "<p>Hola $_SESSION[nombre],vemos quesiguespor aqu</p>";
?>
PHP
40
Sesiones
PHP
41
session_register("variable")
session_unregister("variable")
session_is_registered("variable")
session_id()
PHP
42
Ejercicios Sesiones
http://www.mclibre.org/consultar/php/ejercicios/nivel_medio/sesiones/sesiones.html
PHP
43
http://www.mclibre.org/consultar/php/ejercicios/nivel_medio/registro_usuarios.html
Con LDAP:
http://docstore.mik.ua/orelly/webprog/pcook/ch17_09.htm
http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=494
PHP
44