Presentación PHP & MySQL

Slides:



Advertisements
Presentaciones similares
Estructuras de control
Advertisements

Sun Microsystems desarrolló, en 1991, el lenguaje de programación orientado a objetos que se conoce como Java. La intención de Sun era crear un lenguaje.
Limits page 1 Ahora utilizaremos la nueva opción de Búsqueda avanzada que permite el uso de límites con otras características de PubMed. Nótese que puede.
El mecanismo básico de interacción entre el usuario y un sitio web esta dado por el uso de formularios html. El server envía un formulario que el browser.
Todo el Software necesario puede ser conseguido por separado. Para facilitar la puesta al punto del ambiente, nosotros utilizaremos una herramienta particular.
Scripting en el lado del Cliente
Lenguaje PHP Capítulo 4.
PHP: Acceso a Bases de Datos
Acceso a bases de datos con MySQL y ODBC desde PHP
Fernando Velasco
Marzo de 2010Dos Ideas - La visión de Sistemas desde el Desarrollo Introducción a PL/SQL Conceptos básicos.
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:23 PRESENTACION: BASE DE DATOS ALUMNAS: Velazquez Corona Elsa Ponciano Antonio.
Acceso a bases de datos MySQL en PHP
Desarrollo de Aplicaciones para Internet
Instructor :LIC. Jairo Flores de la o
Desarrollo de Aplicaciones para Internet
Conexión a Base de Datos con NetBeans
ACCESO A BASES DE DATOS ORACLE CON PHP
Tema 2: Lenguaje PHP básico
1 1.Prepare and Install 1.1 You have to know before installation 1.2 Hardware Installation 2. How to use Bluetooth Printer Adapter’s Services 2.1 Connect.
Ing. Eddye Sánchez Castillo. Las principales temas de este capitulo son:  Conectarse al Servidor MySql  Conectarse a la Base de Datos  Enviar Consultas.
CONCEPTOS INTRODUCTORIOS DE JAVASCRIPT Preparado por: Prof. Nelliud D. Torres 14/octubre/2004.
Tema 6: Clases Antonio J. Sierra.
Al término de la clase, el alumno reconoce las ventajas de usar JAVASCRIPT para un proyecto web.
Ingeniero Anyelo Quintero
If anidados y Switch Prof. Lillian Bras.
JavaScript Programación Web. Java Script es un lenguaje de escripts que se usa en páginas web (ligero) Java es un lenguaje de programación orientada a.
Lenguaje C.
Tema 7. Introducción a lenguaje de programación Visual Basic (clase 1)
Tema 1: Lenguaje PHP básico Ing. Tulio Nel Benavides Peña
PL/SQL Francisco Moreno Universidad Nacional.
PAGINAS DINAMICAS PHP. INTRODUCCION PHP (Profesional Home Pages - Páginas Personales Profesionales) es un lenguaje para la creación de páginas web incrustado.
Pulse para añadir texto Desarrollo de sitios web con PHP y MySQL Tema 2: Lenguaje PHP básico Elaborado por: José Mariano González Romano
Introducción a las redes e Internet Unidad 7: Páginas web dinámicas Clase 1 Unidad 7: Páginas web dinámicas Clase 1.
Bases de datos en la Web n Las bases de datos permiten almacenar de una forma estructurada y eficiente toda la información de un sitio web n Ventajas –Proporcionar.
Diseño de una base de datos Zavaleta Nolasco Karina
Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar.
PHP TODO SOBRE PHP.
Para la instalación completa se deberá contar con las siguientes aplicaciones: Servidor APACHE | versión
Diseñando la arquitectura de aplicaciones empresariales. Acceso al SQL Server.- Autenticación de usuario:
introducción al lenguaje
Eng. Ivan E. Juárez. Preliminary Activity The different kind of tools that we will use during this course require to use a gmail account, even if you.
Introducción al Lenguaje. ¿ Qué es PHP ? O Hypertext Pre-processoes (PHP) es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en.
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
Profesora: Laura Patricia Pinto Prieto Ingeniera de sistemas Introducción a Programación 3.
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.
EQUIPO:#3 GRUPO:304 NOMBRES: Lizbeth Nava Barón y Erick Ali Mejía.
Ihr Logo PHP Parte 2 “php toma muchas sintaxis de lenguajes de alto nivel conocidos para poder trabajar”
Vamos a tratar algunos temas que es necesario conocer a la hora de administrar un sistema informático y que nos van a ser útiles sin importar el sistema.
PHP el Lenguaje Ejercicios Básicos.
“variables , sentencia if y bucles”
Tema 11 Bases de Datos y el Lenguaje SQL
UNIDAD 4: Introducción a la Lógica Computacional Objetivo : Interpretar y aplicar adecuadamente los fundamentos básicos de la estructura y funcionamiento.
Práctica Profesional PHP.
Lic. Carla Aguirre Montalvo
Colegio de Bachilleres Plantel 13 Xochimilco - Tepepan
ECOM-6030 CAPÍTULO 2 STORING & RETRIEVING DATA Prof. Nelliud D. Torres © - Derechos Reservados.
Creación de páginas Web (II) PHP Pau Barceló Forteza
¿Cómo programar un Botón para agregar registros a una base de datos?
ECOM-6030 INTRODUCCIÓN AL CURSO Prof. Nelliud D. Torres © - Derechos Reservados.
PASOS PARA CREAR LA BASE DE DATOS BOOK-o_RAMA Prof. Nelliud D. Torres © - Derechos Reservados.
ECOM-6030 CAPÍTULO 9 CREATING WEB DATABASE Prof. Nelliud D. Torres © - Derechos Reservados.
ECOM-6030 PASOS PARA LA INSTALACIÓN DE EASYPHP Prof. Nelliud D. Torres © - Derechos Reservados.
ECOM-6030 CAPÍTULO 7 EXCEPTION HANDLING Prof. Nelliud D. Torres © - Derechos Reservados.
Programación en Visual Basic
 Excel es un programa de aplicaciones que modifica tus habilidades para grabar datos y luego extraer resultados de la misma.  Con Excel puede ingresar.
DLM Transact SQL Sesión I Introducción al SQL Server Uso de las herramientas de consultas del Transact SQL.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Ing. Sanchez Castillo Eddye Arturo Escuela Académica Profesional de Ingeniería de Sistemas.
Transcripción de la presentación:

Presentación PHP & MySQL Por: Nelliud D. Torres

© - Derechos Reservados - Prof. Nelliud D. Torres ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor y genera código HTML o algún otro tipo de output que el visitante podrá ver. Fue concebido en 1994 por Rasmun Lerdorf. Para el 2004 estaba instalado en 17 millones de dominios, se puede ver el número actual en: http://www.php.net/usage.php 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

¿Qué es PHP? (cont.) Usage Stats for April 2007 PHP: 20,917,850 domains, 1,224,183 IP addresses Source: Netcraft

© - Derechos Reservados - Prof. Nelliud D. Torres ¿Qué es PHP? (cont.) Es un producto Open Source. Originalmente PHP significaba Personal Home Page. Luego se cambió a PHP Hypertext Preprocesor. La página principal es: http://www.php.net La página de Zend Technologies que apoya PHP es: http://zend.com 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

© - Derechos Reservados - Prof. Nelliud D. Torres Fortalezas de PHP Alto rendimiento (performance) – PHP es altamente eficiente, en la página http://www.zend.com se muestran estadísticas que así lo confirman. Interactúa con muchas bases de datos – En adición a MySQL, PHP trabaja con PostgreSQL, MSQL, Oracle, dbm, FilePro, Hyperwave, Informix, InterBase y Sybase entre otros. Librerías – Debido a que PHP se diseño para utilizarse en el Web, contiene múltiples funciones integradas (built-in) con tareas relacionadas al Web. 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

Fortalezas de PHP (cont. - 1) Costo – PHP es gratis. La última versión se puede bajar de: http://www.php.net Fácil de aprender – La sintaxis de PHP es similar a la de C. Por lo tanto si uno conoce cualquier lenguaje similar a C (Java, C++, C#) puede aprender PHP rápidamente. Apoyo a Objetos– La versión 5 de PHP provee varias capacidades de este paradigma de programación. 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

Fortalezas de PHP (cont. - 2) Portabilidad – PHP esta disponible para diferentes sistemas operativos. Usualmente el código que se escribe para una plataforma, trabaja sin modificaciones en otra. Source Code – El programador tiene acceso al código fuente lo que permite hacer modificaciones sin la necesidad de esperar por actualizaciones ni preocuparse si el vendedor se va a quiebra y termina el apoyo al producto. Disponibilidad de apoyo – La compañía Zend Technologies (www.zend.com) provee apoyo a PHP. 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

© - Derechos Reservados - Prof. Nelliud D. Torres ¿Qué es MySQL? (cont.) Es un robusto y rápido Relational Database Management (RDBMS) Controla el acceso a los datos y se asegura que múltiples usuarios puedan utilizarlo. Provee acceso rápido y seguro. Utiliza el standard query language (SQL). Es el database open source más popular del mundo 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 8

© - Derechos Reservados - Prof. Nelliud D. Torres Fortalezas de MySQL Rendimiento (performance) – MySQL es innegablemente rápido. En la página http://www.mysql.com/why-mysql/white-papers/performance.php muestra comparaciones con otros productos. En el 2002 la revista eWeek hizo una comparación de ejecutoria de bases de datos y MySQL quedó empatado con Oracle. PDF Bajo costo – Se puede conseguir una licencia open source sin costo alguno y licencias comerciales a un costo bajo. Fácil de usar – La operación del producto es similar a otros. 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

Fortalezas de MySQL (cont.) Portabilidad – Se puede utilizar en diferentes sistemas Unix y en Windows. Source Code – El programador tiene el código fuente disponible para hacer cambios y/o mejoras a la base de datos. Disponibilidad de apoyo – No todos los productos open source tienen una compañía que provea apoyo, entrenamiento, consultoría, etc. Sin embargo se puede obtener todos estos beneficios en MySQLAB. (www.mysql.com) 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

Decisiones a tomar cuando se va a construir un e-commerce site Hardware para el servidor Sistema Operativo Software orientado a Web Sistema de Base de Datos Un lenguaje de programación scripting Algunas de estas elecciones puede crear dependencia en otras. Ej. No todos los sistemas Operativos corren el mismo Hardware y no todos los lenguajes scripting se conectan a todas las bases de datos. 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 11

Estadísticas sobre servidores Web marzo 2008

Estadísticas sobre servidores Web marzo 2008 (cont.) Estadísticas del mes de http://www.securityspace.com/s_survey/data/200803/com/index.html 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

Ejemplo sencillo de cómo utilizar XHTML y PHP - 1 Nombre del script de PHP que se va a correr cuando se someta la forma <html> <body> <form action="processorder.php" method="post"> <table border="0"> <tr bgcolor="#cccccc"> <td width="150">Item</td> <td width="15">Quantity</td> </tr> <tr> <td>Tires</td> <td align="center"><input type="text" name="tireqty" size="3" maxlength="3"></td> <td>Oil</td> <td align="center"><input type="text" name="oilqty" size="3" maxlength="3"></td> Primera Parte Método en el que se van a pasar valores al script de PHP Nombres de variables de la forma que pueden ser utilizados dentro del script de PHP 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

Ejemplo sencillo de cómo utilizar XHTML y PHP - 2 Segunda Parte <td>Spark Plugs</td> <td align="center"><input type="text" name="sparkqty" size="3" maxlength="3"></td> </tr> <tr> <td>How did you find Bob's?</td> <td><select name="find"> <option value = "a">I'm a regular customer</option> <option value = "b">TV advertising</option> <option value = "c">Phone directory</option> <option value = "d">Word of mouth</option> </select> </td> <td colspan="2" align="center"><input type="submit" value="Submit Order"></td> </table> </form> </body> </html> List Box Botón para someter la forma 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

Forma creada por el Browser 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

Código en PHP que procesa la forma <html> <head> <title>Bob’s Auto Parts – Order Results</title> </head> <body> <h1>Bob’s Auto Parts – Order Results</h1> <h2>Order Results</h2> <?php echo ’<p>Order processed.</p>’; ?> </body> </html> Este ejemplo sólo tira el mensaje de que la orden fue procesada 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

Mensaje generado por PHP 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

Cotejar el código (source) de la página 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

Algunas Instrucciones de PHP

© - Derechos Reservados - Prof. Nelliud D. Torres USO DE LOS TAGS EN PHP El código PHP comienza con <?php y termina con ?> similar a los tags que se utilizan en HTML. Estos símbolos se llaman php tags y le indican al Web server en donde comienza y termina el código de PHP. Cualquier código que se ponga dentro de estos tags se interpreta por el Web server como código de PHP. Lo que no esté dentro del tag de PHP se considera HTML. 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

© - Derechos Reservados - Prof. Nelliud D. Torres Whitespace Los espacios en blanco al igual que en HTML no afecta la ejecución del código ni el resultado en pantalla. Sin embargo se recomiendo la indentación y separación adecuada que facilite la lectura del código. Ejemplo: echo ‘hello ‘; echo ‘world’; echo ‘hello ‘; echo ‘world’; Pag. 18 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

© - Derechos Reservados - Prof. Nelliud D. Torres Comentarios Comments – Al igual que otros lenguajes, PHP permite incluir comentarios dentro de su código e ignorarlos al momento de ejecución. Ejemplos: /* Author: Bob Smith Last modified: April 10 This program processes the customer orders. */ echo ’<p>Order processed.</p>; // Start printing order Comentarios de más de una línea Comentarios como parte de una misma línea 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

Resultado Contenido Dinámico La fecha y hora se genera al momento de ejecutarse el script que crea la página. Pag. 20 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

© - Derechos Reservados - Prof. Nelliud D. Torres Uso de Funciones <?php echo '<p>Order processed at</p>'; echo date('H:i, jS F'); echo '</p>'; ?> H – La hora en militar. i – Minutos incluyendo ceros a la izquierda. j – Dia del mes sin incluir ceros a la izquierda. S – Uso de sufijo (en este caso th) F – Nombre completo del mes. 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

Acceder Variables de la Forma Las variables en PHP comienzan con el signo de dólar ($). De acuerdo a la versión y configuración del PHP que se tenga en el servidor, podemos recoger los valores de las variables en tres formas. Short style ($tireqty)– Corto y conveniente, pero requiere que se active la opción register_globals. Medium style ($_POST[‘tireqty’]) – Recomendado por el libro. Long style ($HTTP_POST_VARS[‘tireqty’]) – Es el más largo, pero el más portable. Si se desactiva, mejora el rendimiento de la ejecución del código. No se recomienda. 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

© - Derechos Reservados - Prof. Nelliud D. Torres Ejemplo Código - 1 Modificar el código anterior para que incluya lo siguiente: // Creacion de variables $tireqty = $_POST['tireqty']; $oilqty = $_POST['oilqty']; $sparkqty = $_POST['sparkqty']; // echo '<p>Your order is as follows: </p>'; echo $tireqty. ' tires <br />'; echo $oilqty. ' bottles of oil <br />'; echo $sparkqty. ' spark plugs <br />'; Creando las variables. Mostrando los valores en pantalla. El punto concadena la variable con el texto 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

© - Derechos Reservados - Prof. Nelliud D. Torres EJEMPLO DE LA CORRIDA Debe mostrar los mismos valores que entró el usuario en pantalla. Pag. 22 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

Concatenar Caracteres El laboratorio pasado muestra que el punto se utiliza para concatenar cadenas de caracteres de diferentes formatos (String concatenation). Esto evita el tener que utilizar demasiado la directiva echo. La instrucción: echo $tireqty. ' tires <br />'; Puede ser sustituida por: echo “$tireqty tires <br />”; Ambas hacen lo mismo. La comilla no puede ser sencilla. Pag. 24-25 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

Reglas para uso de Identifiers Identifiers pueden ser nombres de variables, funciones y clases entre otros. Las reglas para definir identifiers son: Pueden ser de cualquier largo y pueden consistir de letras, números y under-score. No pueden comenzar con un dígito. Son case sensitive. Los nombres de funciones son la excepción ya que no son case sensitive. Una variable puede tener el mismo nombre de una función, sin embargo esto no es recomendado. 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

Creación y Asignación de Variables PHP permite declarar variables en adición a las que se pasan de HTML. No es necesario declarar las variables en PHP antes de utilizarlas. Una variable se crea cuando se le asigna un valor por primera vez. Se utiliza el operador de igualdad (=) para asignar valor. Ejemplos: $totalqty = 0; $totalamount = $totalqty; $sumatotal = 0.0; 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

© - Derechos Reservados - Prof. Nelliud D. Torres Tipos de Datos en PHP Los tipos de datos que maneja PHP son: Integer – Maneja números enteros. Float – Maneja números reales. (también se le llama double) String – Maneja cadena de caracteres. Boolean – Cierto o Falso. Array – Maneja arreglos. Object – Almacena instancias de las clases. PHP permite que las variables cambien de tipo de dato de acuerdo al valor que almacenen al momento. 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

© - Derechos Reservados - Prof. Nelliud D. Torres Constantes PHP permite declarar constantes, algunos ejemplos son: define(‘TIREPRICE’,100); define(‘OILPRICE’,10); define(‘SPARKPRICE’,4); Se recomienda utilizar el formato de C para distinguir entre constantes y variables. Para referirse a las constantes no hay que usar el signo de dólar ($), por ejemplo: echo TIREPRICE; 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

Alcance (scope) de las Variables Por scope nos referimos a los lugares en donde una variable puede ser visible dentro de la estructura de PHP. Los seis tipos de scope en PHP son: Built-in superglobal – Están visibles en toda la estructura. Constants – Una vez se declaran, se pueden ver globalmente, por lo tanto se pueden usar dentro y fuera de cualquier función. Global variables – Se ve dentro del script, pero no dentro de las funciones. Variables inside functions – De funciones declaradas como global, utilizan el mismo nombre en las variables globales. Variables inside functions static – No se ven fuera de la función, pero si dentro. Variables inside functions local – Locales a la función y dejan de existir cuando la ejecución se sale de la función. 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

Operadores Aritméticos Son símbolos que se pueden utilizar para manipular valores y variables. A continuación vamos a ver los diferentes operadores. OPERADORES ARITMÉTICOS Operador Nombre Ejemplo + Suma $a + $b - Resta $a - $b * Multiplicación $a * $b / División $a / $b % Modulus $a % $b 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

Operadores Aritméticos Combinados Es una forma corta de escribir ecuaciones aritméticas. La siguiente tabla muestra un resumen: OPERADORES ARITMÉTICOS COMBINADOS Operador Uso Equivalente a: += $a += $b $a = $a + $b -= $a -= $b $a = $a - $b *= $a *= $b $a = $a * $b /= $a /= $b $a = $a / $b %= $a %= $b $a = $a % $b .= $a .= $b $a = $a . $b 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

Referencias en Variables Para hacer referencias en variables, utilizamos el operador &, Ejemplo: $a = 5; $b = $a; $a = 7; // $b va a seguir teniendo 7 $b = &$a; $a = 7; // $a y $b ambos tienen 7 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

Operadores de Comparación Nombre Uso == Igual $a == $b === Idéntico $a === $b != No igual $a != $b !== No idéntico $a !== $b <> $a <> $b < Menor que $a < $b > Mayor que $a > $b <= Menor o igual $a <= $b >= Mayor o igual $a >= $b Los operadores de comparación (lógicos) son los siguientes; 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

© - Derechos Reservados - Prof. Nelliud D. Torres Operadores – Lógicos Combina resultados de condiciones lógicas. La tabla a continuación muestra las diferentes opciones. OPERADORES LÓGICOS Operador Nombre Uso ! NOT !$b && AND $a && $b || OR $a || $b and $a and $b or $a or $b 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

© - Derechos Reservados - Prof. Nelliud D. Torres Otros Operadores En adición a los operadores ya mencionados, podemos incluir: La coma (,) - Separa argumentos y otras listas. new y -> - Crear una instancia de una clase y acceder miembros. operador ternario (?:) - Trabaja igual que C, por ejemplo: ($grade >= 50 ? ‘Passed’ : ‘Failed’) Error suppression – El operador (@) puesto al frente de una expresión suprime un mensaje de warning o error si esta condición se da. Ej. $a = @(57/0) // No da mensaje división por cero 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

© - Derechos Reservados - Prof. Nelliud D. Torres Ejemplo Código - 2 Modificar el código anterior para que incluya lo siguiente al final: $totalqty = 0; $totalqty = $tireqty + $oilqty + $sparkqty; echo 'Items ordered: '.$totalqty.'<br />'; $totalamount = 0.00; define('TIREPRICE',100); define('OILPRICE',10); define('SPARKPRICE',4); $totalamount = $tireqty * TIREPRICE + $oilqty * OILPRICE + $sparkqty * SPARKPRICE; echo 'subtotal: $'.number_format($totalamount,2).'<br />'; $taxrate = 0.07; // tax local $totalamount = $totalamount * (1 + $taxrate); echo 'Total including tax: $'.number_format($totalamount,2).'<br />'; Acumulando cantidades Definiendo constantes. 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

Resultado de la Corrida Pag. 40 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

Utilizando Funciones de Variables PHP tiene una librería de funciones que te permiten manipular y probar variables. gettype() – Indica el tipo de dato de la variable. settype() – Define la variable al tipo de dato especificado. Ejemplo: $a = 56; echo gettype($a).’<br />’; // muestra integer settype($a,’double’); // Lo cambia a double echo gettype($a).’<br />’; // muestra double Pag. 42 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

Funciones que Cotejan Tipo de Dato Son funciones que cotejan el tipo de dato de la variable. Devuelven true o false. Ejemplos: is_array() is_double(), is_float, is_real() // Todas son lo mismo. is_long(), is_int(), is_integer() // Todas son lo mismo. is_string() is_object() is_resource() is_null() is_scalar() , is_numeric(), is_callable() 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

Estructuras de Control - IF if ($totalqty == 0) { echo ‘<font color=red>’; echo ‘You did not order anything on the previous page!<br />’; echo ‘</font>’; } else echo $tireqty. ' tires <br />'; echo $oilqty. ' bottles of oil <br />'; echo $sparkqty. ' spark plugs <br />'; 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

Estructura de Control - Switch switch($find) { case ‘a’ echo ‘<p>Regular customer.</p>’; break; case ‘b’ echo ‘<p>Customer referred by TV advert.</p>’; case ‘c’ echo ‘<p>Customer referred by phone directory.</p>’; case ‘d’ echo ‘<p>Customer referred by word of mouth.</p>’; default : echo ‘<p>Do not know how this customer found us.</p>’; } 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

© - Derechos Reservados - Prof. Nelliud D. Torres Ciclo - WHILE $num = 1; while ($num <= 5) { echo $num.”<br />”; $num++; } 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

© - Derechos Reservados - Prof. Nelliud D. Torres Código de Ejemplo Crear el siguiente script de php y ejecutarlo <html> <body> <table border = 0 cellpadding = 3> <tr> <td bgcolor = "#CCCCCC" align = center>Distance</td> <td bgcolor = "#CCCCCC" align = center>Cost</td> </tr> <?php $distance = 50; while ($distance <= 250 ) { echo "<tr>\n <td align = right>$distance</td>\n"; echo " <td align = right>". $distance / 10 ."</td>\n</tr>\n"; $distance += 50; } ?> </table> </body> </html> Encabezamiento de la tabla Ciclo Generando la tabla dinámicamente 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

© - Derechos Reservados - Prof. Nelliud D. Torres Ciclo - FOR <?php for($distance = 50; $distance <= 250; $distance += 50) { echo "<tr>\n <td align = right>$distance</td>\n"; echo " <td align = right>". $distance / 10 ."</td>\n</tr>\n" } ?> 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

© - Derechos Reservados - Prof. Nelliud D. Torres Ciclo do…While $num = 100; do { echo $num.’<br />’; } while ($num < 1 ); Sólo se ejecuta una vez ya que num no es menor de 1. Este tipo de ciclo garantiza que por lo menos se va a ejecutar una vez. Ideal para menús. Pag. 53-54 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

Salir de una Estructura de Control Si deseas detener la ejecución de una pieza de código, tienes 3 formas de conseguirlo: Utilizar el enunciado break que permite salir de un ciclo como por ejemplo un switch. Utilizar el enunciado continue si deseas continuar en el ciclo, pero que salte las líneas que van de ese punto al final. Utilizar el enunciado exit si deseas salir del ciclo por completo. Ejemplo: if ($totalqty == 0) { echo ‘You did not order anything on the previous page!<br />’; exit; } 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

PASOS PARA LA INSTALACIÓN DE EASYPHP

PASO - 1 Entre la dirección: http://www.easyphp.org/ debe aparecer la siguiente pantalla: Seleccionar Downloads 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

PASO - 2 Seleccionar EasyPHP 2.0 beta 1 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

© - Derechos Reservados - Prof. Nelliud D. Torres PASO - 3 Aparece una página en donde se procede a bajar la instalación. El usuario debe indicar el lugar donde desea que se baje el archivo. 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

© - Derechos Reservados - Prof. Nelliud D. Torres PASO - 4 Primero se indica el idioma que se desea y luego comienza el Wizard de la instalación 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

© - Derechos Reservados - Prof. Nelliud D. Torres PASO - 5 Se acepta el agreement y se lee la información importante. 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

© - Derechos Reservados - Prof. Nelliud D. Torres PASO - 6 Se indica directorio y shortcut a utilizarse (dejar el valor default que trae la instalación) 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

© - Derechos Reservados - Prof. Nelliud D. Torres PASO - 7 Se procede a instalar el producto 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

© - Derechos Reservados - Prof. Nelliud D. Torres PASO - 8 La instalación debe completarse sin ningún problema. 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

© - Derechos Reservados - Prof. Nelliud D. Torres Instrucciones - 1 Install EasyPHP Download EasyPHP from the website www.easyphp.org double-click on the downloaded executable select an installation directory and follow the instructions 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

© - Derechos Reservados - Prof. Nelliud D. Torres Instrucciones - 2 Run EasyPHP We are not really running EasyPHP as such: we are really a starting up Apache and MySQL. After installation, a short cut to EasyPHP is created in the directory "Start/Programs/EasyPHP". When EasyPHP is launched, an icon appears beside the clock [1]. A right-click gives access to various menus [2]: Help: help on EasyPHP Log Files: record errors generated by Apache, MySQL and EasyPHP Configuration: gives access to various configuration tools Explorer: open the directory "www" in Windows Explorer Administration : opens the administration page Web local : opens local web Restart : restarts Apache and MySQL Start/Stop : Starts/Stops Apache and MySQL Exit : closes EasyPHP 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

© - Derechos Reservados - Prof. Nelliud D. Torres Instrucciones - 3 Use the directory "www" or an alias You must place your files either in the directory "www" or an alias that you have created, so that PHP can interpret your PHP pages. To view your pages, select "local Web" or an Alias on the "Administration" page. Your first PHP page There are many ways to program in PHP and there are many suitable text editors (eg specialized for HTML or PHP with syntax highlighting etc). In this example we will use a simple text editor. 1 - open a new file. 2 - Type the structure of an HTML page. <html> <head> <title>My first page in PHP.</title> </head> <body> </body> </html> 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

© - Derechos Reservados - Prof. Nelliud D. Torres Instrucciones - 4 3 - The example is designed to print the current date. The PHP Code is integrated directly into the HTML and starts with. <html> <head> <title>My first page in PHP.</title> </head> <body> Current date. : <? print (Date("l F d, Y")); ?> </body> </html> 4 - Saving the page. Create a new directory in the directory "www" (or in an alias). Save your first PHP page there giving it one of the following extensions: php (recommended), php3, php4. This is not an absolute rule, but will function with this configuration of EasyPHP. It may necessary to modify these extensions if you choose to upload your pages to a web server which has a different configuration. For our example we choose the extension .php Rq: make sure in the screen options of Windows that the extensions of the files whose type is known are visible. 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

© - Derechos Reservados - Prof. Nelliud D. Torres Instrucciones - 5 5 - See the result. * DO NOT DO THIS: in Windows Explorer go to the directory "www" (or the directory of an alias) then the directory corresponding to your project and double-click on your example file. You will get an error message. *DO THIS : Launch EasyPHP, open "local Web", select your work directory (or an alias) then click on "date.php". You will see a web page which will shows the current date; for example: "current Date: Wednesday March 22, 2006". It is now up to you to create your own PHP pages. 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

© - Derechos Reservados - Prof. Nelliud D. Torres Menu de EasyPHP 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

Pasos para correr un Script en PHP Crear el script y guardarlo en el directorio WWW como se muestra a continuación: Se recomienda guardar cada aplicación en un directorio por separado. 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

Pasos para correr un Script en PHP - 2 En EasyPHP buscas la opción Local Web (F7), eso abrirá el Browser, de ahí se abre el directorio deseado y se ejecuta el script (click). 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

Accediendo MySQL desde el Web con PHP

Ejemplo De Código y Forma Para Acceder La Base De Datos

© - Derechos Reservados - Prof. Nelliud D. Torres Forma De Búsqueda <html> <head> <title>Book-O-Rama Catalog Search</title> </head> <body> <h1>Book-O-Rama Catalog Search</h1> <form action="results.php" method="post"> Choose Search Type:<br /> <select name="searchtype"> <option value="author">Author</option> <option value="title">Title</option> <option value="isbn">ISBN</option> </select> <br /> Enter Search Term:<br /> <input name="searchterm" type="text"> <input type="submit" value="Search"> </form> </body> </html> Forma Código Pag. 266-267 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 71 71

Código PHP Buscar Base De Datos <html> <head> <title>Book-O-Rama Search Results</title> </head> <body> <h1>Book-O-Rama Search Results</h1> <?php // create short variable names $searchtype=$_POST['searchtype']; $searchterm=$_POST['searchterm']; $searchterm= trim($searchterm); if (!$searchtype || !$searchterm) { echo 'You have not entered search details. Please go back and try again.'; exit; } if (!get_magic_quotes_gpc()) $searchtype = addslashes($searchtype); $searchterm = addslashes($searchterm); @ $db = new mysqli('localhost', 'bookorama', 'bookorama123', 'books'); if (mysqli_connect_errno()) echo 'Error: Could not connect to database. Please try again later.'; exit; } $query = "select * from books where ".$searchtype." like '%".$searchterm."%'"; $result = $db->query($query); $num_results = $result->num_rows; echo '<p>Number of books found: '.$num_results.'</p>'; for ($i=0; $i <$num_results; $i++) { $row = $result->fetch_assoc(); echo '<p><strong>'.($i+1).'. Title: '; echo htmlspecialchars(stripslashes($row['title'])); echo '</strong><br />Author: '; echo stripslashes($row['author']); echo '<br />ISBN: '; echo stripslashes($row['isbn']); echo '<br />Price: '; echo stripslashes($row['price']); echo '</p>'; $result->free(); $db->close(); ?> </body> </html> Código results.php 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 72 72

Pantalla con Resultados Pag. 269 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 73 73

Pasos Para Acceder La Base De Datos Desde PHP

Consultar Base de Datos desde el Web Cotejar y filtrar la data que proviene del usuario. Establecer la conexión a la Base de Datos. Elegir y consultar la Base de Datos. Obtener los resultados y presentarlos al usuario. Cerrar la conexión a la Base de Datos. A continuación explicamos cada paso: 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 75 75

1. Cotejar y filtrar la data que proviene del usuario. Lo primero que hace el script después de obtener los valores de la forma es asegurarse que de no existan espacios en blanco en los datos entrados por el usuario: $searchterm = trim($searchterm); Luego cotejamos que el usuario entró los datos requeridos por la forma: if (!$searchtype || !searchterm) { echo “No se entraron los datos” exit; } Pag. 270 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 76 76

1. Cotejar y filtrar la data que proviene del usuario. (cont.) Se tiene que cotejar si los datos vienen con las comillas (quotes) automáticamente o no. Es una directiva que se puede configurar a nivel de administración. De no ser estar activada, hay que incluirle los slashes al campo: if (!get_magic_quotes_gpc()) { $searchtype = addslashes($searchtype); $searchterm = addslashes($searchterm); } 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 77 77

2. Establecer la conexión a la Base de Datos. Para conectarnos a la Base de Datos: @ $db = new mysqli('localhost', 'root', 'root', 'books'); Se usa en Object oriented Librería que conecta a la base de datos Username Password Nombre de la base de datos 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 78 78

2. Establecer la conexión a la Base de Datos. (cont.) Una vez se hace la conexión, se debe verificar que fue exitosa ya que el resto del código depende de que la conexión se logre. Se coteja con el siguiente código: if (mysqli_connect_errno()) { echo 'Error: Could not connect to database. Please try again later.'; exit; } De ser cierto el resultado de esta función, significa que hubo problemas al tratar de conectarse a la base de datos. 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 79 79

2. Establecer la conexión a la Base de Datos. (cont. 2) El libro indica el siguiente código para seleccionar la base de datos o si se desea cambiar de base de datos: $db->select_db(dbname) //object oriented o mysqli_select_db(db_resource, db_name)// procedural 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 80 80

3. Elegir y consultar la Base de Datos Ya establecida la conexión, lo próximo que debemos hacer es crear el comando de SQL que queremos utilizar: $query = "select * from books where ".$searchtype." like '%".$searchterm."%'"; Para ejecutar el comando anterior: $result = $db->query($query); // object oriented $result = mysqli_query($db, $query); // procedural 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 81 81

4. Obtener los resultados y presentarlos al usuario Para saber la cantidad de instancias (records) que obtuvimos de la base de datos, utilizamos el siguiente comando: $num_results = $result->num_rows;// object oriented o $num_results = mysqli_num_rows($result); // procedural Esto hace falta para poder crear el ciclo que acceda esos datos y se puedan presentar al usuario: for ($i=0; $i < $num_results; $i++) { // instrucciones } 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 82 82

4. Obtener los resultados y presentarlos al usuario (cont.) Dentro del ciclo podemos utilizar la siguiente instrucción para almacenar en una variable (row) cada instancia y que nos permita mostrarla en pantalla al usuario: $row = $result->fetch_assoc();// object oriented o $row = mysqli_fetch_assoc($result); // procedural Esto hace falta para poder crear el ciclo que acceda esos datos y se puedan presentar al usuario: for ($i=0; $i < $num_results; $i++) { // instrucciones } 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 83 83

4. Obtener los resultados y presentarlos al usuario (cont. 2) Esto nos va a permitir mostrar los atributos como por ejemplo el ISBN: echo ‘<br />ISBN: ‘; echo stripslashes($row[‘isbn’]); Esto hace falta para poder crear el ciclo que acceda esos datos y se puedan presentar al usuario: for ($i=0; $i < $num_results; $i++) { // instrucciones } 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 84

5. Cerrar la Conexión de la Base de Datos Se puede liberar las instancias obtenidas utilizando el siguiente comando: $result->free(); ();// object oriented o mysqli_free_result($result); // procedural Finalmente podemos cerrar la conexión a la base de datos: $db->close(); // object oriented mysqli_close($db) // procedural 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 85 85

Poner Información en la Base de Datos

Poner Información en la Base de Datos Los pasos son similares a los de mostrar resultados: Crear la conexión Enviar la consulta Cotejar los resultados Para este caso se utiliza el comando INSERT en lugar del comando SELECT A continuación vemos el ejemplo con el codigo newbook.html 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 87 87

Forma De Búsqueda Book-o-rama <html> <head> <title>Book-O-Rama - New Book Entry</title> </head> <body> <h1>Book-O-Rama - New Book Entry</h1> <form action="insert_book.php" method="post"> <table border="0"> <tr> <td>ISBN</td> <td><input type="text" name="isbn" maxlength="13" size="13"></td> </tr> <td>Author</td> <td> <input type="text" name="author" maxlength="30" size="30"></td> <td>Title</td> <td> <input type="text" name="title" maxlength="60" size="30"></td> <td>Price $</td> <td><input type="text" name="price" maxlength="7" size="7"></td> <td colspan="2"><input type="submit" value="Register"></td> </table> </form> </body> </html> Forma Código 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 88 88

Código PHP de Entrar los Datos if (!get_magic_quotes_gpc()) { $isbn = addslashes($isbn); $author = addslashes($author); $title = addslashes($title); $price = doubleval($price); } @ $db = new mysqli('localhost', 'root', 'root', 'books'); if (mysqli_connect_errno()) echo 'Error: Could not connect to database. Please try again later.'; exit; $query = "insert into books values ('".$isbn."', '".$author."', '".$title."', '".$price."')"; $result = $db->query($query); if ($result) echo $db->affected_rows.' book inserted into database.'; $db->close(); ?> </body> </html> <html> <head> <title>Book-O-Rama Book Entry Results</title> </head> <body> <h1>Book-O-Rama Book Entry Results</h1> <?php // create short variable names $isbn=$_POST['isbn']; $author=$_POST['author']; $title=$_POST['title']; $price=$_POST['price']; if (!$isbn || !$author || !$title || !$price) { echo 'You have not entered all the required details.<br />' .'Please go back and try again.'; exit; } Código insert_book.php 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 89 89

Resultado de la Corrida 90

Buscando el Record a ver si fue Creado Pag. 277 91

Revisión del Código de Insertar La siguiente instrucción permite insertar instancias en la tabla: $query = ‘insert into books values (‘$isbn’, ‘author’, ‘$title’, ‘$price’)”; $result = $db->query($query); // indica si se inserto exitosamente o no Pag. 278 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 92 92

© - Derechos Reservados - Prof. Nelliud D. Torres Tópicos Adicionales Existen otras formas de manejar las bases de datos Hay un standard para conectar a las Bases de Datos llamado ODBC (Open Database Connectivity) Esto permite conectar a la base de datos, pero no puedes utilizar las funciones que te permita la base de datos en particular. Otras bases de datos como Oracle, Db2, SqlServer tienen sus propias librerías que puedes incorporar a PHP. 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 93 93

© - Derechos Reservados - Prof. Nelliud D. Torres REFERENCIAS PHP and MySQL Web Development, Third Edition, Luke Welling, and Laura Thomson http://www.php.net/usage.php http://www.php.net http://zend.com http://www.mysql.com/why-mysql/white-papers/performance.php http://www.securityspace.com 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres

© - Derechos Reservados - Prof. Nelliud D. Torres REFERENCIAS (cont.) PHP and MySQL Web Development, Third Edition, Luke Welling, and Laura Thomson http://www.easyphp.org/ http://www.mysql.com http://www.webopedia.com/TERM/O/ODBC.html 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres