1 / 70

Desarrollo de aplicaciones PHP para bases de datos Almería 2007

Desarrollo de aplicaciones PHP para bases de datos Almería 2007. Lenguajes de Desarrollo. PHP. Antonio Becerra Terón abecerra@ual.es Departamento de Lenguajes y Computación Universidad de Almer í a. Desarrollo de aplicaciones PHP para bases de datos Almería 2007.

Download Presentation

Desarrollo de aplicaciones PHP para bases de datos Almería 2007

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Desarrollo de aplicaciones PHP para bases de datos Almería 2007 Lenguajes de Desarrollo. PHP Antonio Becerra Terón abecerra@ual.es Departamento de Lenguajes y Computación Universidad de Almería

  2. Desarrollo de aplicaciones PHP para bases de datos Almería 2007 Lenguajes de Desarrollo. 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

  3. Desarrollo de aplicaciones PHP para bases de datos Almería 2007 Lenguajes de Desarrollo. 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

  4. 10. Paso de variables entre scripts PHP Paso de variables por URL En un sitio Web, las páginas y los scripts utilizados son muy numerosos. Muy a menudo, vamos a necesitar que nuestros distintos scripts estén conectados unos con otros, y, sobretodo, que se sirvan y se pasen variables comunes. <a href="destino.php?variable1=valor1&variable2=valor2&..."> Mi enlace</a> • Estas variables no tienen el símbolo $ delante • Una vez realizado el paso, nuestras variables pertenecen • al entorno de la página destino.php • Activada/desactivada la opción de configuración • register_globals del archivo php.ini

  5. 10. Paso de variables entre scripts PHP Paso de variables por URL 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>

  6. 10. Paso de variables entre scripts PHP register_globals On en php.ini Paso de variables por URL 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>

  7. 10. Paso de variables entre scripts PHP register_globals Off en php.ini Paso de variables con $_GET destinoget.php <HTML> <HEAD> <TITLE>destinoget.php</TITLE> </HEAD> <BODY> <? // Captura de las variables pasadas por la URL $saludo = $_GET['saludo']; $texto = $_GET['texto']; $username = $_GET['username']; echo "Variable \$saludo: $saludo <br>\n"; echo "Variable \$texto: $texto <br>\n"; echo "Variable \$username: $username <br>\n"; ?> </BODY> </HTML> phporiegenurl.php ... <a href="destinoget.php?saludo=hola&texto= Esto es una variable texto&username= <?php echo $username;?>"> ...

  8. 10. Paso de variables entre scripts PHP register_globals Off en php.ini Paso de variables con $_GET destinoget.php <HTML> <HEAD> <TITLE>destinoget.php</TITLE> </HEAD> <BODY> <? // Captura de las variables pasadas por la URL $saludo = $_GET['saludo']; $texto = $_GET['texto']; $username = $_GET['username']; echo "Variable \$saludo: $saludo <br>\n"; echo "Variable \$texto: $texto <br>\n"; echo "Variable \$username: $username <br>\n"; ?> </BODY> </HTML>

  9. Desarrollo de aplicaciones PHP para bases de datos Almería 2007 Lenguajes de Desarrollo. 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

  10. 11. Formularios en PHP register_globals Off en php.ini Procesar variables de formularios en PHP • Presentar una primera página con el formulario clásico a rellenar • Las variables del formularios son recogidas en una segunda página • que las procesa <FORM action="lo_que_sea.php" method="POST/GET"> script PHP que procesa la información del formulario POST: usuario envía datos GET: usuario recoge datos

  11. 11. Formularios en PHP Procesar variables de formularios en PHP phpformu1.php <HTML> <HEAD> <TITLE>phpformu1.php</TITLE> </HEAD> <BODY> <FORM METHOD="POST" ACTION="phpdestino.php"> Nombre<br> <INPUT TYPE="TEXT" NAME="nombre"><br> Apellidos<br> <INPUT TYPE="TEXT" NAME="apellidos"><br> <INPUT TYPE="SUBMIT"> </FORM> </BODY> </HTML>

  12. 11. Formularios en PHP Procesar variables de formularios en PHP phpformu1.php <HTML> <HEAD> <TITLE>phpformu1.php</TITLE> </HEAD> <BODY> <FORM METHOD="POST" ACTION="phpdestino.php"> Nombre<br> <INPUT TYPE="TEXT" NAME="nombre"><br> Apellidos<br> <INPUT TYPE="TEXT" NAME="apellidos"><br> <INPUT TYPE="SUBMIT"> </FORM> </BODY> </HTML>

  13. 11. Formularios en PHP Procesar variables de formularios en PHP phpformu1.php <HTML> <HEAD> <TITLE>phpformu1.php</TITLE> </HEAD> <BODY> <FORM METHOD="POST" ACTION="phpdestino.php"> Nombre<br> <INPUT TYPE="TEXT" NAME="nombre"><br> Apellidos<br> <INPUT TYPE="TEXT" NAME="apellidos"><br> <INPUT TYPE="SUBMIT"> </FORM> </BODY> </HTML>

  14. 11. Formularios en PHP Procesar variables de formularios en PHP phpformu1.php <HTML> <HEAD> <TITLE>phpformu1.php</TITLE> </HEAD> <BODY> <FORM METHOD="POST" ACTION="phpdestino.php"> Nombre<br> <INPUT TYPE="TEXT" NAME="nombre"><br> Apellidos<br> <INPUT TYPE="TEXT" NAME="apellidos"><br> <INPUT TYPE="SUBMIT"> </FORM> </BODY> </HTML>

  15. 11. Formularios en PHP Procesar variables de formularios en PHP phpformu1.php <HTML> <HEAD> <TITLE>phpformu1.php</TITLE> </HEAD> <BODY> <FORM METHOD="POST" ACTION="phpdestino.php"> Nombre<br> <INPUT TYPE="TEXT" NAME="nombre"><br> Apellidos<br> <INPUT TYPE="TEXT" NAME="apellidos"><br> <INPUT TYPE="SUBMIT"> </FORM> </BODY> </HTML> phpdestino.php <HTML> <HEAD> <TITLE>phpdestino.php</TITLE> </HEAD> <BODY> <?PHP $nombre = $_POST['nombre']; $apellidos = $_POST['apellidos']; echo "Variable \$nombre: $nombre <br>\n"; echo "Variable \$apellidos: $apellidos <br>\n" ?> </BODY> </HTML>

  16. 11. Formularios en PHP Procesar variables de formularios en PHP phpformu1.php <HTML> <HEAD> <TITLE>phpformu1.php</TITLE> </HEAD> <BODY> <FORM METHOD="POST" ACTION="phpdestino.php"> Nombre<br> <INPUT TYPE="TEXT" NAME="nombre"><br> Apellidos<br> <INPUT TYPE="TEXT" NAME="apellidos"><br> <INPUT TYPE="SUBMIT"> </FORM> </BODY> </HTML> phpdestino.php <HTML> <HEAD> <TITLE>phpdestino.php</TITLE> </HEAD> <BODY> <?PHP $nombre = $_POST['nombre']; $apellidos = $_POST['apellidos']; echo "Variable \$nombre: $nombre <br>\n"; echo "Variable \$apellidos: $apellidos <br>\n" ?> </BODY> </HTML>

  17. 11. Formularios en PHP Procesar variables de formularios en PHP phpformu1.php <HTML> <HEAD> <TITLE>phpformu1.php</TITLE> </HEAD> <BODY> <FORM METHOD="POST" ACTION="phpdestino.php"> Nombre<br> <INPUT TYPE="TEXT" NAME="nombre"><br> Apellidos<br> <INPUT TYPE="TEXT" NAME="apellidos"><br> <INPUT TYPE="SUBMIT"> </FORM> </BODY> </HTML> phpdestino.php <HTML> <HEAD> <TITLE>phpdestino.php</TITLE> </HEAD> <BODY> <?PHP $nombre = $_POST['nombre']; $apellidos = $_POST['apellidos']; echo "Variable \$nombre: $nombre <br>\n"; echo "Variable \$apellidos: $apellidos <br>\n" ?> </BODY> </HTML>

  18. 11. Formularios en PHP Procesar variables de formularios en PHP phpformu1.php <HTML> <HEAD> <TITLE>phpformu1.php</TITLE> </HEAD> <BODY> <FORM METHOD="POST" ACTION="phpdestino.php"> Nombre<br> <INPUT TYPE="TEXT" NAME="nombre"><br> Apellidos<br> <INPUT TYPE="TEXT" NAME="apellidos"><br> <INPUT TYPE="SUBMIT"> </FORM> </BODY> </HTML> phpdestino.php <HTML> <HEAD> <TITLE>phpdestino.php</TITLE> </HEAD> <BODY> <?PHP $nombre = $_POST['nombre']; $apellidos = $_POST['apellidos']; echo "Variable \$nombre: $nombre <br>\n"; echo "Variable \$apellidos: $apellidos <br>\n" ?> </BODY> </HTML>

  19. 11. Formularios en PHP Procesar variables de formularios en PHP phpformu1.php <HTML> <HEAD> <TITLE>phpformu1.php</TITLE> </HEAD> <BODY> <FORM METHOD="POST" ACTION="phpdestino.php"> Nombre<br> <INPUT TYPE="TEXT" NAME="nombre"><br> Apellidos<br> <INPUT TYPE="TEXT" NAME="apellidos"><br> <INPUT TYPE="SUBMIT"> </FORM> </BODY> </HTML> phpdestino.php <HTML> <HEAD> <TITLE>phpdestino.php</TITLE> </HEAD> <BODY> <?PHP $nombre = $_POST['nombre']; $apellidos = $_POST['apellidos']; echo "Variable \$nombre: $nombre <br>\n"; echo "Variable \$apellidos: $apellidos <br>\n" ?> </BODY> </HTML>

  20. 11. Formularios en PHP Procesar variables de formularios en PHP phpformu1.php <HTML> <HEAD> <TITLE>phpformu1.php</TITLE> </HEAD> <BODY> <FORM METHOD="POST" ACTION="phpdestino.php"> Nombre<br> <INPUT TYPE="TEXT" NAME="nombre"><br> Apellidos<br> <INPUT TYPE="TEXT" NAME="apellidos"><br> <INPUT TYPE="SUBMIT"> </FORM> </BODY> </HTML>

  21. 11. Formularios en PHP Procesar variables de formularios en PHP phpdestino.php <HTML> <HEAD> <TITLE>phpdestino.php</TITLE> </HEAD> <BODY> <?PHP $nombre = $_POST['nombre']; $apellidos = $_POST['apellidos']; echo "Variable \$nombre: $nombre <br>\n"; echo "Variable \$apellidos: $apellidos <br>\n" ?> </BODY> </HTML>

  22. 11. Formularios en PHP Restricción de acceso por edad edad2.php <html> <head>    <title>Restringir por edad</title> </head> <body> <? $edad = $_POST["edad"]; echo "Tu edad: $edad<p>"; if ($edad < 18) {    echo "No puedes entrar"; }else{    echo "Bienvenido"; } ?> </body> </html> edad.php <html> <head>   <title>Restringir por edad</title> </head> <body> <form action="edad2.php" method="post"> Escribe tu edad: <input type="text" name="edad" size = "2"> <input type="submit" value="Entrar"> </form> </body> </html>

  23. 11. Formularios en PHP Restricción de acceso por edad

  24. 11. Formularios en PHP Restricción de acceso por edad

  25. 11. Formularios en PHP Formulario habitual phpformunormal.php <HTML> <BODY> <FORM METHOD="post" ACTION="mis_datos.php"> <input type="hidden" name="edad" value="55"> <p>Tu nombre <input type="text" name="nombre" size="30" value="antonio becerra"></p> <p>Tu sistema favorito <select size="1" name="sistema"> <option selected value="Linux">Linux</option> <option value="Unix">Unix</option> <option value="Macintosh">Macintosh</option> <option value="Windows">Windows</option> </select></p> <p>¿Te gusta el futbol ? <input type="checkbox" name="futbol" value="ON"></p> <p>¿Cual es tu sexo?</p> <blockquote> <p>Hombre<input type="radio" value="hombre" checked name="sexo"></p> <p>Mujer <input type="radio" name="sexo" value="mujer"></p> </blockquote> <p>Aficiones</p> <p> <textarea rows="5" name="aficiones" cols="28"></textarea></p> <p><input type="submit" value="Enviar datos" name="enviar"> <input type="reset" value="Restablecer" name="B2"></p> </FORM> </BODY> <HTML>

  26. 11. Formularios en PHP Formulario habitual

  27. 11. Formularios en PHP Formulario habitual mis_datos.php <?PHP $enviar = $_POST['enviar']; $nombre = $_POST['nombre']; $sexo = $_POST['sexo']; $edad = $_POST['edad']; $sistema = $_POST['sistema']; $futbol = $_POST['futbol']; $aficiones = $_POST['aficiones']; if ($enviar) { echo "Hola <b>" . $nombre . "</b> que tal estás<BR>\n"; echo "Eres " . $sexo . "<BR>\n"; echo "Tienes " . $edad . "<BR>\n"; echo "Tu sistema favorito es " . $sistema . "<BR>\n"; if ($futbol) { echo "Te gusta el futbol <BR>\n"; } else { echo "NO te gusta el futbol <BR>\n"; } if ($aficiones != "") { echo "Tus aficiones son: <BR>\n"; echo nl2br($aficiones); } else { echo "NO tienes aficiones <BR>\n"; } } echo "<br>"; echo “ <a href=phpformunormal.php>VOLVER AL FORMULARIO</a>" ?>

  28. 11. Formularios en PHP Formulario habitual

  29. 11. Formularios en PHP Formulario más complejo phpformucomplex.php <?php if (isset($_POST['Accion'])) { print '<pre>'; print_r($_POST); echo "<a href= $_SERVER[PHP_SELF] > Por favor, intentálo de nuevo</a>"; print '</pre>'; } else { ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST"> Nombre: <input type="text" name="personal[nombre]"><br> Email: <input type="text" name="personal[email]"><br> Cerveza: <br> <select multiple name="beer[ ]"> <option value="warthog">Warthog</option> <option value="guinness">Guinness</option> <option value="stuttgarter">Stuttgarter Schwabenbräu</option> </select><br> <input type="hidden" name="Accion" value="enviado"> <input type="submit" name="Enviar" value="Envíame!"> </form> <?PHP } ?>

  30. 11. Formularios en PHP Formulario más complejo

  31. 11. Formularios en PHP Ejercicio de Formulario

  32. Desarrollo de aplicaciones PHP para bases de datos Almería 2007 Lenguajes de Desarrollo. 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

  33. 12. Scripts de autenticación y sesiones en PHP Scripts de autenticación Autenticación basada en contraseñas phpinicio_sesion.php <HTML> <HEAD> <TITLE>Inicio de sesión</TITLE> </HEAD> <BODY bgcolor="Aqua"> <FORM name="form1" method="POST" action="phpautenticacion.php"> <TABLE width="400"> <TR> <td colspan="2"> <div align="center"><B>Introduzca un nombre de usuario y una contraseña</B></DIV> </TD> </TR> <TR> <TD> <DIV align="right">Nombre de usuario:</DIV> </TD> <TD> <INPUT type="text" name="username"> </TD> </TR> <TR> <TD> <DIV align="right">Contraseña</DIV> </TD> <TD> <INPUT type="pasword" name="password" maxlength="15"> </TD> </TR> <TR> <TD colspan="2"> <CENTER> <INPUT type="submit" name="submit" value="Enviar"> </CENTER> </TD> </TR> </TABLE> </FORM> </BODY> <HTML>

  34. 12. Scripts de autenticación y sesiones en PHP Scripts de autenticación

  35. 12. Scripts de autenticación y sesiones en PHP Scripts de autenticación if (!(strcmp($password,"antonio"))) { echo "Bienvenido a su página de inicio " . "<b>" . $username . "</b><br>"; } else { die("No ha introducido la contraseña correcta"); } ?> </BODY> </HTML> phpautenticacion.php <HTML> <HEAD> <TITLE>Página de autenticación</TITLE> </HEAD> <BODY bgcolor="Gray"> <?PHP $username = $_POST['username']; $password = $_POST['password']; if (empty($password)) { die("No se ha introducido la contraseña"); } if (strlen($password) < 5) { die("La contraseña introducida es demasiado corta"); }

  36. 12. Scripts de autenticación y sesiones en PHP Scripts de autenticación

  37. 12. Scripts de autenticación y sesiones en PHP Autenticación HTTP Sólo disponible cuando PHP se ejecuta como módulo de Apache Función header() Autenticación controlada por variables predefinidas PHP $_SERVER[‘PHP_AUTH_USER’] $_SERVER[‘PHP_AUTH_PW’] $_SERVER[‘AUTH_TYPE’]

  38. 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>"; } ?>

  39. 12. Scripts de autenticación y sesiones en PHP Autenticación HTTP

  40. 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; } ?> <html> <head> <title>Ejemplo de Autenticación HTTP con PHP</title> </head> <body> Ha conseguido el acceso a la <B>zona restringida</B> de <? echo $_SERVER['PHP_AUTH_USER'];?> </body> </html>

  41. 12. Scripts de autenticación y sesiones en PHP Autenticación HTTP

  42. 12. Scripts de autenticación y sesiones en PHP Control y manejo de sesiones Hemos utilizado variables que sólo existían en el script ejecutado. ¿Cuál es el problema? Cargamos otra página distinta y los valores de estas variables se pierden a menos que pasemos estos valores por la URL, o en un formulario para su posterior explotación • Sesión = intervalo de tiempo empleado por un usuario • en recorrer nuestras páginas, hasta que: • abandona nuestro sitio, • deja de actuar sobre él durante un tiempo prolongado, • cierra el navegador • PHP nos permite almacenar variables de sesión que, una • vez definidas, podrán ser utilizadas durante la actividad • del usuario por cualquiera de los scripts de nuestro sitio Web

  43. 12. Scripts de autenticación y sesiones en PHP register_globals On/Off en php.ini Funciones para control de sesiones Inicio y registro de la sesión bool session_start ( void ) register_globals On en php.ini bool session_register ( mixed nombre [, mixed ...]) $_SESSION[‘nombrevarsesion’ ] = valor register_globals Off en php.ini Idetificación de sesión register_globals On/Off en php.ini string session_id ( [string id])

  44. 12. Scripts de autenticación y sesiones en PHP Funciones para control de sesiones Asignación de nombre a la sesión register_globals On/Off en php.ini string session_name ( [string nombre]) <?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(); ?>

  45. 12. Scripts de autenticación y sesiones en PHP Funciones para control de sesiones Comprobación de registro de sesión bool session_is_registered ( string nombre ) register_globals On en php.ini if (isset($_SESSION[‘nombrevarsesion’ ])) register_globals Off en php.ini Borrado de la sesión register_globals On/Off en php.ini bool session_destroy ( void )

  46. 12. Scripts de autenticación y sesiones en PHP Funciones para control de sesiones Eliminar variables de sesión void session_unset ( void ) register_globals On en php.ini unset($_SESSION[‘nombresvarsesion’ ]) register_globals Off en php.ini

  47. 12. Scripts de autenticación y sesiones en PHP Ejemplos de control de sesiones

  48. 12. Scripts de autenticación y sesiones en PHP Ejemplos de control de sesiones phpunset.php <?php session_name("abecerra"); session_start(); unset($_SESSION['abecerra']); echo "Acabo de eliminar la variable de sesión <b>" .session_name() ."</b>"; ?>

  49. 12. Scripts de autenticación y sesiones en PHP Ejemplo de control de autenticación No inicio de sesión phplogin.php miinicio.php phpsesion.php Proceso de autenticación Definir el entorno de sesión Página de inicio de usuario No inicio de sesión mipagina2.php logout.php Destruir el entorno de la sesión Segunda página de inicio de usuario Presentar ejemplo por pantalla

  50. 12. Scripts de autenticación y sesiones en PHP Ejemplo de control de autenticación phplogin.php <HTML> <HEAD> <TITLE>Inicio de sesión</TITLE> </HEAD> <BODY bgcolor="Aqua"> <FORM name="form1" method="POST" action="phpsesion.php"> <TABLE width="400"> <TR> <td colspan="2"> <div align="center"><B> Introduzca un nombre de usuario y una contraseña</B></DIV> </TD> </TR> <TR> <TD> <DIV align="right">Nombre de usuario:</DIV> </TD> <TD> <INPUT type="text" name="username"> </TD> </TR> <TR> <TD> <DIV align="right">Contraseña</DIV> </TD> <TD> <INPUT type="password" name="password" maxlength="15"> </TD> </TR> <TR> <TD colspan="2"> <CENTER> <INPUT type="submit" name="submit" value="Enviar"> </CENTER> </TD> </TR> </TABLE> </FORM> </BODY> <HTML>

More Related