Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Contenidos
10. Paso de variables entre scripts PHP
11. Formularios en PHP
12. Scripts de autenticación y sesiones
13. Cookies en PHP
14. Gestión de envío de archivos en PHP
Desarrollo de
aplicaciones PHP para
bases de datos
Almería 2007
Contenidos
10. Paso de variables entre scripts PHP
11. Formularios en PHP
12. Scripts de autenticación y sesiones
13. Cookies en PHP
14. Gestión de envío de archivos en PHP
10. Paso de variables entre
scripts PHP
<a href="destino.php?variable1=valor1&variable2=valor2&...">
Mi enlace</a>
phporiegenurl.php
<HTML>
<HEAD>
<TITLE>phporigenurl.php</TITLE>
</HEAD>
<BODY>
<?PHP
$username = "abecerra";
?>
<a href="destino.php?saludo=hola&texto=
Esto es una variable texto&username=
<?php echo $username;?>">
Paso variables saludo y texto a la página destino.php</a>
</BODY>
</HTML>
10. Paso de variables entre
scripts PHP
destino.php
<HTML>
<HEAD>
<TITLE>destino.php</TITLE>
</HEAD>
<BODY>
<?
echo "Variable \$saludo: $saludo <br>\n";
echo "Variable \$texto: $texto <br>\n";
echo "Variable \$username: $username <br>\n";
?>
</BODY>
</HTML> register_globals On en php.ini
10. Paso de variables entre
scripts PHP
Contenidos
10. Paso de variables entre scripts PHP
11. Formularios en PHP
12. Scripts de autenticación y sesiones
13. Cookies en PHP
14. Gestión de envío de archivos en PHP
11. Formularios en PHP
Formulario habitual
phpformunormal.php <blockquote>
<HTML> <p>Hombre<input type="radio"
<BODY> value="hombre" checked
<FORM METHOD="post" ACTION="mis_datos.php"> name="sexo"></p>
<input type="hidden" name="edad" value="55"> <p>Mujer
<p>Tu nombre <input type="radio" name="sexo"
<input type="text" name="nombre" size="30" value="mujer"></p>
value="antonio becerra"></p> </blockquote>
<p>Tu sistema favorito <p>Aficiones</p>
<select size="1" name="sistema"> <p>
<option selected value="Linux">Linux</option> <textarea rows="5" name="aficiones"
<option value="Unix">Unix</option> cols="28"></textarea></p>
<option value="Macintosh">Macintosh</option> <p><input type="submit"
<option value="Windows">Windows</option> value="Enviar datos" name="enviar">
</select></p> <input type="reset"
<p>¿Te gusta el futbol ? value="Restablecer" name="B2"></p>
<input type="checkbox" name="futbol" </FORM>
value="ON"></p> </BODY>
<p>¿Cual es tu sexo?</p> <HTML>
11. Formularios en PHP
Formulario habitual
11. Formularios en PHP
Formulario habitual
mis_datos.php else {
<?PHP echo "NO te gusta el futbol <BR>\n";
$enviar = $_POST['enviar']; }
$nombre = $_POST['nombre']; if ($aficiones != "") {
$sexo = $_POST['sexo']; echo "Tus aficiones son: <BR>\n";
$edad = $_POST['edad']; echo nl2br($aficiones);
$sistema = $_POST['sistema']; } else {
$futbol = $_POST['futbol']; echo "NO tienes aficiones <BR>\n";
$aficiones = $_POST['aficiones']; }
if ($enviar) { }
echo "Hola <b>" . $nombre . echo "<br>";
"</b> que tal estás<BR>\n"; echo “
echo "Eres " . $sexo . "<BR>\n"; <a href=phpformunormal.php>VOLVER AL
echo "Tienes " . $edad . "<BR>\n"; FORMULARIO</a>"
echo "Tu sistema favorito es " . $sistema . ?>
"<BR>\n";
if ($futbol) {
echo "Te gusta el futbol <BR>\n";
}
11. Formularios en PHP
Formulario habitual
11. Formularios en PHP
Ejercicio de Formulario
Desarrollo de
aplicaciones PHP para
bases de datos
Almería 2007
Contenidos
10. Paso de variables entre scripts PHP
11. Formularios en PHP
12. Scripts de autenticación y sesiones
13. Cookies en PHP
14. Gestión de envío de archivos en PHP
12. Scripts de autenticación y
sesiones en PHP
Scripts de autenticación
Autenticación basada en contraseñas
phpinicio_sesion.php <TR>
<HTML> <TD>
<HEAD> <DIV align="right">Contraseña</DIV>
<TITLE>Inicio de sesión</TITLE> </TD>
</HEAD> <TD>
<BODY bgcolor="Aqua"> <INPUT type="pasword" name="password"
<FORM name="form1" method="POST" maxlength="15">
action="phpautenticacion.php"> </TD>
<TABLE width="400"> </TR>
<TR> <TR>
<td colspan="2"> <TD colspan="2">
<div align="center"><B>Introduzca un nombre de usuario <CENTER>
y una contraseña</B></DIV> <INPUT type="submit" name="submit" value="Enviar">
</TD> </CENTER>
</TR> </TD>
<TR> </TR>
<TD> </TABLE>
<DIV align="right">Nombre de usuario:</DIV> </FORM>
</TD> </BODY>
<TD> <HTML>
<INPUT type="text" name="username">
</TD>
</TR>
12. Scripts de autenticación y
sesiones en PHP
Scripts de autenticación
12. Scripts de autenticación y
sesiones en PHP
Scripts de autenticación
if (!(strcmp($password,"antonio")))
phpautenticacion.php {
<HTML> echo "Bienvenido a su página de inicio " .
<HEAD> "<b>" .
<TITLE>Página de autenticación</TITLE> $username . "</b><br>";
</HEAD> }
<BODY bgcolor="Gray"> else
<?PHP {
$username = $_POST['username']; die("No ha introducido la contraseña
$password = $_POST['password']; correcta");
if (empty($password)) }
{ ?>
die("No se ha introducido la contraseña"); </BODY>
}
if (strlen($password) < 5) </HTML>
{
die("La contraseña introducida es demasiado corta");
}
12. Scripts de autenticación y
sesiones en PHP
Scripts de autenticación
12. Scripts de autenticación y
sesiones en PHP
Autenticación HTTP
$_SERVER[‘PHP_AUTH_USER’]
$_SERVER[‘PHP_AUTH_PW’]
$_SERVER[‘AUTH_TYPE’]
12. Scripts de autenticación y
sesiones en PHP
Autenticación HTTP
php-autenticacion.php
<?php
if (!isset($_SERVER['PHP_AUTH_USER']))
{
header('WWW-Authenticate: Basic realm="Acceso a Zona Restringida"');
header('HTTP/1.0 401 Unauthorized');
echo '<h1>Autorización Requerida</h1>';
exit;
}
else
{
echo "<p>Hola " . $_SERVER['PHP_AUTH_USER'] . ".</p>";
echo "<p>Has introducido " . $_SERVER['PHP_AUTH_PW'] . " como contraseña.</p>";
}
?>
12. Scripts de autenticación y
sesiones en PHP
Autenticación HTTP
12. Scripts de autenticación y
sesiones en PHP
Autenticación HTTP
php-autenticacion-abecerra.php
<?php
if (($_SERVER['PHP_AUTH_USER']!="abecerra") ||
($_SERVER['PHP_AUTH_PW']!="123"))
{
header('WWW-Authenticate: Basic realm="Acceso restringido"');
header('HTTP/1.0 401 Unauthorized');
echo '<H2>Authorization Required.</H2>';
exit;
}
</head>
?>
<body>
<html>
Ha conseguido el acceso a la <B>zona
<head>
restringida</B> de
<title>Ejemplo de Autenticación HTTP
<? echo $_SERVER['PHP_AUTH_USER'];?>
con PHP</title>
</body>
</html>
12. Scripts de autenticación y
sesiones en PHP
Autenticación HTTP
12. Scripts de autenticación y
sesiones en PHP
Idetificación de sesión
register_globals On/Off en php.ini string session_id ( [string id])
12. Scripts de autenticación y
sesiones en PHP
<?php
// Cambiar el nombre de la sesión a WebsiteID
$nombre_anterior = session_name("WebsiteID");
echo "El anterior nombre de la sesión era $nombre_anterior<p>";
echo "Mientras que el nuevo es " . session_name();
?>
12. Scripts de autenticación y
sesiones en PHP
Borrado de la sesión
register_globals On/Off en php.ini bool session_destroy ( void )
12. Scripts de autenticación y
sesiones en PHP
No inicio de sesión
logout.php mipagina2.php
Contenidos
10. Paso de variables entre scripts PHP
11. Formularios en PHP
12. Scripts de autenticación y sesiones
13. Cookies en PHP
14. Gestión de envío de archivos en PHP
13. Cookies en PHP
Creación de cookies
bool setcookie ( string nombre, string valor, int expirar, string ruta,
string dominio, bool segura)
Ejemplos de cookies
<? <?
setcookie("saludo"); setcookie("saludo", "hola");
?> <? ?>
// Esta cookie dura una hora. 1 hora = 3600 segundos
setcookie("visitas", "1", time()+3600);
?>
13. Cookies en PHP
Ejemplos de cookies
<?
// Esta cookie dura un año
setcookie("visitas", "1", time()+60*60*24*365);
?>
php-setcookie.php
<?
$valor = "algo desde algun lugar";
setcookie("cookiedeprueba",$valor, time() + 3600); /* expira en una
hora */
?>
13. Cookies en PHP
Lectura de cookies
$_COOKIE[‘nombre_cookie’]
Ejemplos de cookies
php-leercookie.php
<?
// Imprime una cookie
echo $_COOKIE['cookiedeprueba'] . "<br>";
// Otra forma de depurar las cookies
echo "<pre>";
print_r($_COOKIE);
echo "</pre>";
?>
13. Cookies en PHP
Eliminación de cookies
Crear la cookie con valor vacío y tiempo de vida pasado
Ejemplos de cookies
php-borrarcookie.php
<?
setcookie("cookiedeprueba","", time() - 3600);
/* expiró hace una hora */
echo "Acabo de eliminar la cookie cookiedeprueba";
?>
13. Cookies en PHP
php-accesocookie.php
<?php
if (!isset($_COOKIE['intentos']))
$intentos = 1;
else
$intentos = $_COOKIE['intentos'] + 1;
setcookie('intentos',$intentos,time() + 60);
if ($intentos <= 3)
{ Un minuto más tarde
echo "<tt>Eres el intento número: " . $intentos . "<br>";
echo "Por tanto, puedes pasar</tt>";
}
else
echo "<tt>Prueba un poco mas tarde, crack</tt>";
?>
Desarrollo de
aplicaciones PHP para
bases de datos
Almería 2007
Contenidos
10. Paso de variables entre scripts PHP
11. Formularios en PHP
12. Scripts de autenticación y sesiones
13. Cookies en PHP
14. Gestión de envío de archivos en PHP
14. Gestión de archivos en PHP
php-file.php
<html>
<head>
<title>Ejemplo de envio de archivos en PHP</title>
</head>
<body>
<form enctype="multipart/form-data" action="php-upload.php"
method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="100000">
Enviando este archivo: <input name="archivousuario“ type="file">
<br>
<input type="submit" value="Enviar Archivo">
</form>
</body>
</html>
14. Gestión de archivos en PHP
Control de upload
$_FILES [‘archivousuario’][‘name’]
$_FILES [‘archivousuario’][‘type’]
$_FILES [‘archivousuario’][‘size’]
$_FILES [‘archivousuario’][‘tmp_name’]
$_FILES [‘archivousuario’][‘error’]
Funciones de gestión de archivos
Control de upload
php-upload.php
<html>
<head>
<title>Ejemplo de envio de archivos en PHP</title>
</head>
<body>
<?php
if (is_uploaded_file($_FILES['archivousuario']['tmp_name']))
{
echo "He recibido el archivo: " . $_FILES['archivousuario']['name'] . "<br>";
echo "Su tamaño es de: " . $_FILES['archivousuario']['size'] . "<br>";
echo "Su nombre temporal en el servidor es: “ .
$_FILES['archivousuario']['tmp_name'] . "<br>";
$nombre_archivo = "/temp/uploads/" . $_FILES['archivousuario']['name'];
move_uploaded_file($_FILES['archivousuario']['tmp_name'],
$nombre_archivo);
}
14. Gestión de archivos en PHP
Control de upload
php-upload.php
else
{
echo "Possible ataque de carga de archivo. Nombre Archivo: "
. $_FILES['archivousuario']['name'] . "<br>";
if ($_FILES['archivousuario']['error']==UPLOAD_ERR_INI_SIZE)
echo "El tamaño excede lo especificado en el archivo php.ini";
if ($_FILES['archivousuario']['error']== UPLOAD_ERR_FORM_SIZE)
echo "El tamaño excede lo especificado para este caso";
if ($_FILES['archivousuario']['error']==UPLOAD_ERR_PARTIAL)
echo "El tamaño no ha subido completamente";
}
?>
</body>
</html>
14. Gestión de archivos en PHP
Control de upload
14. Gestión de archivos en PHP