350 likes | 473 Views
EXPOSICION PHP (PERSONAL FROM PAGE). UNIVERSIDAD CATOLICA DE MANIZALES INGENIERIA TELEMATICA 2004. PHP (PERSONAL FROM PAGE). QUE ES PHP? PHP (acrónimo de PHP: Procesador de Hipertexto) es el lenguaje que mejor explota las posibilidades de Internet o
E N D
EXPOSICION PHP(PERSONAL FROM PAGE) UNIVERSIDAD CATOLICA DE MANIZALES INGENIERIA TELEMATICA 2004
PHP(PERSONAL FROM PAGE) QUE ES PHP? PHP (acrónimo de PHP: Procesador de Hipertexto) es el lenguaje que mejor explota las posibilidades de Internet o realizar paginas html dinámicas, con php es muy sencillo tratar cadenas de texto o procesar ficheros, generar imágenes on-the-fly, crear documentos PDF o tratar con documentos XML, etc. Se puede decir que PHP es un lenguaje de programación de páginas web del lado del servidor cuyas características principales son la independencia de plataforma y su gratuidad. Un lenguaje del lado del servidor es aquel que se ejecuta en el servidor web, justo antes de que se envíe la página a través de Internet al cliente. Las páginas que se ejecutan en el servidor pueden realizar accesos a bases de datos, conexiones en red, y otras tareas para crear la página final que verá el cliente. El cliente solamente recibe una página con el código HTML resultante de la ejecución de la PHP.
A diferencia de Java o JavaScript que se ejecutan en el navegador, PHP se ejecuta en el servidor, por eso nos permite acceder a los recursos que tenga el servidor como por ejemplo podría ser una base de datos. El programa PHP es ejecutado en el servidor y el resultado enviado al navegador. El resultado es normalmente una página HTML pero igualmente podría ser una pagina WML.
Su licencia es Open Source, corre en múltiples plataformas, Linux, AIX, *BSD, SCO, casi todos los tipos de Unix, además de en todas las versiones de Windows 9x, 2000 y NT. • PHP no es case sensitive (no distingue mayúsculas de minúsculas), salvo bugs en el tratamiento de objetos. • En PHP no se declaran las variables y no tienen un tipo fijo, sino que una misma variable puede almacenar a lo largo de su vida valores de todo tipo (números, cadenas...).
HISTORIA PHP PHP fue concebido en otoño de 1994 por Rasmus Lerdorf. La primera versión disponible para el público surgió a principios de 1995, fue conocida como "Herramientas para páginas web personales" (Personal Home Page Tools). Consistían en un analizador sintáctico muy simple y una serie de utilidades comunes en las páginas web de entonces, un libro de visitas, un contador y otras pequeñas cosas. El analizador sintactico fue reescrito a mediados de 1995 y fue nombrado PHP/FI versión 2. FI viene de otro programa que Rasmus había escrito y que procesaba los datos de formularios, así que combinó las "Herramientas para paginas web personales“ y el "intérprete de formularios", asi añadió soporte para mSQL y PHP/FI creció a gran velocidad. Se estima que a finales de 1996 PHP/FI se estaba usando en al menos 15.000 páginas web alrededor del mundo. A mediados de 1997 el desarrollo del proyecto sufrió un profundo cambio, el analizador sintáctico se reescribió desde el principio por Zeev Suraski y Andi Gutmans y éste nuevo analizador estableció las bases para PHP versión 3. Gran cantidad de código de PHP/FI fue portado a PHP3 y otra gran cantidad fue reescrito desde cero.
Hoy en día, tanto PHP/FI, PHP3 y PHP4 se distribuyen en un gran número de productos comerciales tales como el servidor web "C2's StrongHold" y Redhat Linux. Actualmente PHP se encuentra en su versión 4, que utiliza el motor Zend, desarrollado con mayor meditación para cubrir las necesidades actuales y solucionar algunos inconvenientes como la rapidez gracias a que primero se compila y luego se ejecuta, mientras que antes se ejecutaba mientras se interpretaba el código, su mayor independencia del servidor web creando versiones de PHP nativas para más plataformas y un API más elaborado y con más funciones.
CARACTERISTICAS PHP PHP puede hacer cualquier cosa que se pueda hacer con un script CGI, como procesar la información de formularios, generar páginas con contenidos dinámicos, o mandar y recibir cookies. La característica más potente y destacable de PHP es su soporte para una gran cantidad de bases de datos. Escribir un interfaz vía web para una base de datos es una tarea simple con PHP. Las siguientes bases de datos están soportadas actualmente: • Adabas D • Ingres • Oracle (OCI7 y OCI8) • dBase • InterBase • PostgreSQL • Empress • FrontBase • Solid • FilePro • mSQL • Sybase
IBM DB2 • MySQL • Velocis • Informix • ODBC • Unix dbm PHP también tiene soporte para gran cantidad de estándares de red: LDAP, Corba, Calc, FTP, IMAP, POP3, NNTP, NIS, SMNP, HTTP y derivados. También se pueden abrir sockets de red directos (raw sockets) e interactuar con otros protocolos. Y además PHP también ofrece: • Soporte de Templates dinámicos y caché de templates. • Multiplataforma y multiservidor web • Soporte XML, WDDX, XSLT, DOM • Extensa documentación
Soporte expresiones regulares (de perl, posix y propias) • Generación on-the-fly de Imagenes, Flash y PDF PHP puede realizar una serie de tareas para el desarrollo de la web: *Funciones de correo electrónico *Gestión de base de datos *Tratamiento de imágenes Otras características: *PHP es un lenguaje de scripts que se ejecuta del lado del servidor *Es independiente de la plataforma *Se escribe directamente dentro del código html de una pagina *Es rápido, simple y configurable
QUE SE PUEDE HACER CON PHP? Algunas aplicaciones son: *Portales *Administradores de banners *Clientes de correo *Foros de discusión *Sistema de educación en línea *Chats *Administradores de bases de datos *Libros de visitas *Sistemas de subastas *Contadores *Carritos de compras
CONFIGURACION PHP Abrimos con un editor de texto el archivo php.ini y verificamos que tenga la siguiente línea: extension_dir = ./ Aquí le decimos al PHP dónde se encuentran ubicadas las extensiones de librerías .dll en este caso vemos que deben encontrarse en el directorio raíz del PHP. Luego si lo deseamos buscamos la línea ;extension=php_gd.dll Y le quitamos el ; que tiene al comienzo, así habilitaremos la librería de manipulación de gráficos dinámicos. Sólo resta ubicar el archivo php_gd.dll y copiarlo al directorio raíz del PHP. Y por último hacemos una copia del archivo php.ini dentro del directorio Windows que por lo general es C:\Windows
ELEMENTOS PHP OPERADORES ARITMETICOS Los operadores son símbolos especiales que se utilizan para realizar tanto operaciones matemáticas, como de comparación. Los más utilizados en PHP: • + Suma varios números 5 + 4 = 9 • - Resta varios números 5 - 4 = 1 • * Realiza una multiplicación 3 * 3 = 9 • / Realiza una división 10/2 = 5 • % Devuelve el residuo de una división 10 % 3 = 1 • ++ Suma 1 $v++ (Agrega 1 a $v) • -- Resta 1 $ v-- (Resta 1 a $v) OPERADORES DE COMPARACION • == Devuelve true si la condición de igualdad se cumple 2 == 2 (Verdadero)
!= Devuelve true sin la condición de igualdad no se cumple 2 !== 2 (Falso) • < Devuelve true si un número es menor que el otro 2 < 5 (Verdadero) • > Devuelve true si un número es mayor que el otro 6 > 4 (Verdadero) • <= Devuelve true si un número es menor o igual que otro 2 <= 5 (Verdadero) • >= Devuelve true si un número es mayor o igual que otro 6 >= 4 (Verdadero) OPERADORES LOGICOS • &&Devuelve verdadero cuando ambas condiciones son verdaderas. • and Devuelve verdadero cuando ambas condiciones son verdaderas. • || Devuelve verdadero cuando al menos una es verdadera. • ORDevuelve verdadero cuando al menos una es verdadera.
VARIABLES PHP En PHP no es necesario declarar la variable, es decir, no es necesario decirle al programa si una variable es una cadena o un número entero, ya que PHP se encargará de definirla por sí mismo. Una variable es un contenedor de información, en el que podemos meter números enteros, números decimales, caracteres... el contenido de las variables se puede leer y se puede cambiar durante la ejecución de una página PHP. En PHP todas las variables comienzan con el símbolo del dólar $ Existen 2 tipos de variables, las variables locales que solo pueden ser usadas dentro de funciones y las variables globales que tienen su ámbito de uso fuera de las funciones, podemos acceder a una variable global desde una función con la instrucción global nombre_variable.
CONTANTES PHP Las constantes son similares a las variables, con la salvedad de que no llevan el signo dólar delante, y sólo la podemos asignar una vez. Para definir una constantes usaremos la función define como por ejemplo: define ("CONSTANTE", "Hola Mundo"); PHP crea diversas constantes al arrancar, como PHP_VERSION que contiene la versión de PHP, TRUE que le asigna 1 o FALSE que le asigna 0.
CLASES DE PHP Las Clases no son más que una serie de variables y funciones que describen y actúan sobre algo. Por ejemplo, vamos a crear la clase automóvil, la cual tendrá diversas variables, $color, $modelo, $marca, $potencia, $matricula y habrá una serie de funciones que actuarán sobre la clase automóvil como Precio(), Acelerar(), Frenar(), Girar()y Reparar(). Sirven para hacer el código más legible y reutilizable.
FUNCIONES EN PHP Una Función no es más que un bloque de código al que le pasamos una serie de parámetros y nos devuelve un valor. Para declara una función debemos utilizar la instrucción función seguido del nombre que le vamos a dar, y después entre paréntesis la lista de argumentos separados por comas, aunque también habrá funciones que no recojan ningún argumento. Ejemplo: function nombre_de_funcion (arg_1, arg_2, ..., arg_n) { bloque de código }
LIBRERIAS EN PHP El uso de librerías es tremendamente útil, nos permiten agrupar varias funciones y variables en un mismo fichero, de manera que luego podemos incluir esta librería en distintas páginas y disponer de esas funciones fácilmente. La instrucción para incluir una librería en nuestra página es include("nombre de librería")
LAS TABLAS O ARRAYS EN PHP Las tablas (o array en inglés), son muy importantes en PHP, ya que generalmente, las funciones que devuelven varios valores, como las funciones ligadas a las bases de datos, lo hacen en forma de tabla. Existen dos tipos de tablas, las que se usan utilizando índices y las tablas asociativas en las cuales a cada elemento se le asigna un valor para acceder a el.
CADENAS EN PHP En PHP el tratamiento de cadenas es muy importante, existen bastantes funciones para el manejo de cadenas, a continuación explicaremos las más usadas. • strlen(cadena). Nos devuelve el número de carácteres de una cadena. • split(separador,cadena). Divide una cadena en varias usando un carácter separador. • sprintf(cadena de formato, var1, var2...). Formatea una cadena de texto al igual que printf pero el resultado es devuelto como una cadena. • substr(cadena, inicio, longitud). Devuelve una subcadena de otra, empezando por inicio y de longitud longitud. • chop(cadena). Elimina los saltos de línea y los espacios finales de una cadena. • strpos(cadena1, cadena2). Busca la cadena2 dentro de cadena1 indicándonos la posición en la que se encuentra. • str_replace(cadena1, cadena2, texto). Reemplaza la cadena1 por la cadena2 en el texto.
BUCLES EN PHP Los bucles nos permiten iterar conjuntos de instrucciones, es decir repetir la ejecución de un conjunto de instrucciones mientras se cumpla una condición. Ejemplo: Sentencia while <?php while (condición) { intrucciones a ejecutar. } ?> Mientras la condición sea cierta se reiterará la ejecución de las instrucciones que están dentro del while. Sentencia for <?php for (inicial ; condición ; ejecutar en iteración) { intrucciones a ejecutar. } ?>
SENTENCIAS DE CONTROL PHP Las sentencias de control permiten ejecutar bloque de códigos dependiendo de unas condiciones. Para PHP el 0 es equivalente a Falso y cualquier otro número es Verdadero. La sentencia IF...ELSE permite ejecutar un bloque de instrucciones si la condición es Verdadera y otro bloque de instrucciones si ésta es Falsa. Es importante tener en cuenta que instrucciones si ésta es Falsa. Es importante tener en cuenta que la condición que evaluemos ha de estar encerrada entre paréntesis (esto es aplicable a todas la sentencias de control). Ejemplo if (condición) { Este bloque se ejecuta si la condición es VERDADERA } else { Este boque se ejecuta si la condición es FALSA }
PRIMER SCRIPT Ejemplo: <html><body><?php$myvar = "Hola. Este es mi primer script en PHP \n";//Esto es un comentarioes mi primer script en PHP \n";//Esto es un comentarioecho $myvar;?></body></html>
PHP PARA BASE DE DATOS PHP ofrece soporte para muchas bases de datos como por ejemplo: *Oracle *Sybase *Mysql *SQL server *PostgreSQL *Interbase *Informix *ODBE(Fuente de datos)
CREAR BASE DE DATOS MYSQL PHP con acceso a base de datos es preferible la base de datos MySQL por ser gratuita y por ser también la mas empleada en entornos UNIX, para lo cual el servidor donde tenemos alojadas las páginas nos tiene que proporcionar herramientas para crearla o acceso al Telnet para que la creemos por nosotros mismos. El comando para crear una base de datos MySQL es el siguiente: mysqladmin -u root create base_datos Con este comando conseguimos crear la una base de datos en el servidor de bases de datos de nuestro servidor.
Una vez conseguido esto debemos crear las tablas en la base de datos, la descripción de las tablas contienen la estructura de la información que almacenaremos en ellas. Para crear la tabla puede usar la herramienta de administración de MySQL de su servidor web o puede escribir un fichero de texto con el contenido de la sentencia SQL equivalente y luego decirle al motor de base de datos que la ejecute con la siguiente instrucción: mysql -u root base_datos <prueba.sql
CONEXION CON LA BASE DE DATOS Una vez que se crea la base de datos nos conectamos a la misma desde una página PHP. Para ello PHP nos proporciona una serie de instrucciones para acceder a bases de datos MySQL. Al ejecutar la instrucción mysql_connect creamos un vínculo entre la base de datos y la pagina PHP, este vínculo será usado posteriormente en las consultas que hagamos a la base de datos. Finalmente, una vez que hemos terminado de usar el vínculo con la base de datos, lo liberaremos con la instrucción mysql_close para que la conexión no quede ocupada. Ejemplo:
<html> <head> <title>Ejemplo de PHP</title> </head> <body> <?php function Conectarse() { if (!($link=mysql_connect("localhost","usuario","Password"))) { echo "Error conectando a la base de datos."; exit(); } if (!mysql_select_db("base_datos",$link)) { echo "Error seleccionando la base de datos."; exit(); } return $link; } $link=Conectarse(); echo "Conexión con la base de datos conseguida.<br>"; mysql_close($link); //cierra la conexion ?> </body> </html>
CONSULTAS EN LA BASE DE DATOS Un ejemplo para realizar consultas en la base de datos: • <html> <head> <title>Ejemplo de PHP</title> </head> <body> <H1>Ejemplo de uso de bases de datos con PHP y MySQL</H1> <?php include("conex.phtml"); $link=Conectarse(); $result=mysql_query("select * from prueba",$link); ?> <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1> <TR><TD> Nombre</TD><TD> Apellidos </TD></TR> <?php while($row = mysql_fetch_array($result)) { printf("<tr><td> %s</td><td> %s </td></tr>", $row["Nombre"],$row["Apellidos"]); } mysql_free_result($result); mysql_close($link); ?> </table> </body> </html>
MODIFICAR LA BASE DE DATOS Ejemplo <html> <body> <?php if (isset($id)) { // process form $link = mysql_connect("localhost", "root"); mysql_select_db("mydb",$db); $sql = "UPDATE agenda SET nombre='$nombre', direccion='$direccion',". "telefono='$telefono', email='$email' WHERE id=$id"; $result = mysql_query($sql); }else{ echo "Debe especificar un 'id'.\n"; } </body> </html>
AÑADIR REGISTROS A LA BASE DE DATOS En primer lugar se crear una página web con un simple formulario, con los campos que deseamos. Formulario inicial añadir BD: <html> <body> <form method="post" action="add_reg.php3"> Nombre :<input type="Text" name="nombre"><br> Dirección:<input type="Text" name="direccion"><br> Teléfono :<input type="Text" name="telefono"><br> E-mail :<input type="Text" name="email"><br> <input type="Submit" name="enviar" value="Aceptar información"> </form> </body> </html>
SCRIPT PARA AÑADIR REGISTROS: <html> <body> <?php // process form $link = mysql_connect("localhost","root"); mysql_select_db("mydb",$db); $sql = "INSERT INTO agenda (nombre, dirección, teléfono, mail) ". "VALUES ('$nombre', '$direccion', '$telefono', '$email')"; $result = mysql_query($sql); echo "¡Gracias! Hemos recibido sus datos.\n"; </body> </html>
BORRAR REGISTROS DE LA BASE DE DATOS El proceso de borrar un registro es idéntico al de modificar, solo que en vez de utilizar UPDATE utilizamos DELETE en la sentencia SQL. Por tanto el script quedaría como sigue: <html> <body> <?php if (isset($id)){ // process form $link = mysql_connect("localhost", "root"); mysql_select_db("mydb",$db); $sql = "DELETE agenda WHERE id=$id") $result = mysql_query($sql); }else{ echo "Debe especificar un 'id'.\n"; } </body> </html>
FUNCIONES PARA ABSTRACCION DE BASES DE DATOSBerkeley DB Este es un nivel de abstracción general para varias bases de datos. Como tal su funcionalidad esta limitada a un grupo de modernas bases de datos como Sleepycat software DB2. El comportamiento de varios aspectos depende de la implementación de la base de datos. Funciones como dba_optimize() y dba_sync() cumplirán su Funcionalidad con unas bases de datos pero no con otras. Los siguientes manejadores (handlers) están soportados: • dbm es el mas antiguo (original) tipo de base de datos de la familia de Berkeley DB. Se debe evitar su uso, si es posible. Nosotros no soportamos las funciones de compatibilidad de DB2 y gdbm, porque ellas solo son compatibles a nivel de codigo fuente, pero no pueden manejar el formato original dbm.
ndbm es un tipo mas nuevo y mas flexible que dbm. Todavía tiene la mayoría de las limitaciones de dbm (Por lo tanto es descartado). • gdbm es el gestor de bases de datos de GNU (database manager). • db2 es Sleepycat Software's DB2. Es descrito como "un conjunto de herramientas de programación que proveen acceso de alto nivel a bases de datos en aplicaciones standalone o en el modelo cliente/servidor. “ • cdb es "una rápida, de confianza, sencilla herramienta para la creación y lectura de bases de datos constantes." Fue creada por el autor de qmail y puede encontrarse en here. Como la base es constante solo se soportan las operaciones de lectura.