presentación php & mysql por: nelliud d. torres. ¿qué es php? server-side scripting language....
TRANSCRIPT
![Page 1: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/1.jpg)
Presentación PHP & MySQL
Por: Nelliud D. Torres
![Page 2: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/2.jpg)
¿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 2
![Page 3: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/3.jpg)
¿Qué es PHP? (cont.) Usage Stats for April 2007
• PHP: 20,917,850 domains, 1,224,183 IP addressesSource: Netcraft
![Page 4: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/4.jpg)
¿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 4
![Page 5: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/5.jpg)
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 5
![Page 6: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/6.jpg)
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 6
![Page 7: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/7.jpg)
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 7
![Page 8: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/8.jpg)
¿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
![Page 9: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/9.jpg)
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 9
![Page 10: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/10.jpg)
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 10
![Page 11: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/11.jpg)
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
![Page 12: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/12.jpg)
Estadísticas sobre servidores Web marzo 2008
![Page 13: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/13.jpg)
Estadísticas sobre servidores Web marzo 2008 (cont.)
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 13
Estadísticas del mes dehttp://www.securityspace.com/s_survey/data/200803/com/index.html
![Page 14: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/14.jpg)
Ejemplo sencillo de cómo utilizar XHTML y PHP - 1
Primera Parte
<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></tr><tr> <td>Oil</td> <td align="center"><input type="text" name="oilqty" size="3" maxlength="3"></td></tr><tr>
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 14
Nombre del script de PHP que se va a correr cuando se someta la forma
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
![Page 15: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/15.jpg)
Ejemplo sencillo de cómo utilizar XHTML y PHP - 2Segunda 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></tr><tr> <td colspan="2" align="center"><input type="submit" value="Submit Order"></td></tr></table> </form> </body> </html>
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 15
List Box
Botón para someter la forma
![Page 16: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/16.jpg)
Forma creada por el Browser
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 16
![Page 17: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/17.jpg)
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>
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 17
Este ejemplo sólo tira el mensaje de que la orden fue
procesada
![Page 18: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/18.jpg)
Mensaje generado por PHP
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 18
![Page 19: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/19.jpg)
Cotejar el código (source) de la página
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 19
![Page 20: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/20.jpg)
Algunas Instrucciones de PHP
![Page 21: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/21.jpg)
USO DE LOS TAGS EN PHP
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 21
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.
![Page 22: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/22.jpg)
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’;
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 22
Pag. 18
![Page 23: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/23.jpg)
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
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 23
Comentarios de más de una línea
Comentarios como parte de una misma línea
![Page 24: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/24.jpg)
Resultado Contenido Dinámico
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 24
Pag. 20
La fecha y hora se genera al momento de
ejecutarse el script que crea la página.
![Page 25: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/25.jpg)
Uso de Funciones<?php
echo '<p>Order processed at</p>';
echo date('H:i, jS F');
echo '</p>';
?>
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 25
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.
![Page 26: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/26.jpg)
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 26
![Page 27: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/27.jpg)
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 />';
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 27
Creando las variables.
Mostrando los valores en pantalla.
El punto concadena la variable con el texto
![Page 28: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/28.jpg)
EJEMPLO DE LA CORRIDA
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 28
Pag. 22
Debe mostrar los mismos valores que entró el usuario en pantalla.
![Page 29: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/29.jpg)
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 />”;
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 29
Pag. 24-25
Ambas hacen lo mismo.
La comilla no puede ser sencilla.
![Page 30: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/30.jpg)
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 30
![Page 31: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/31.jpg)
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 31
![Page 32: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/32.jpg)
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 32
![Page 33: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/33.jpg)
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 33
![Page 34: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/34.jpg)
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:
1. Built-in superglobal – Están visibles en toda la estructura.2. Constants – Una vez se declaran, se pueden ver globalmente, por lo tanto
se pueden usar dentro y fuera de cualquier función.3. Global variables – Se ve dentro del script, pero no dentro de las funciones.4. Variables inside functions – De funciones declaradas como global, utilizan
el mismo nombre en las variables globales.5. Variables inside functions static – No se ven fuera de la función, pero si
dentro.6. 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 34
![Page 35: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/35.jpg)
Operadores Aritméticos• Son símbolos que se pueden utilizar para manipular
valores y variables. A continuación vamos a ver los diferentes operadores.
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 35
OPERADORES ARITMÉTICOS
Operador Nombre Ejemplo
+ Suma $a + $b
- Resta $a - $b
* Multiplicación $a * $b
/ División $a / $b
% Modulus $a % $b
![Page 36: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/36.jpg)
Operadores Aritméticos Combinados• Es una forma corta de escribir ecuaciones aritméticas. La
siguiente tabla muestra un resumen:
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 36
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
![Page 37: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/37.jpg)
Referencias en Variables• Para hacer referencias en variables, utilizamos el
operador &, Ejemplo:$a = 5;
$b = $a;
$a = 7; // $b va a seguir teniendo 7
$a = 5;
$b = &$a;
$a = 7; // $a y $b ambos tienen 7
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 37
![Page 38: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/38.jpg)
Operadores de Comparación
Los operadores de comparación (lógicos) son los siguientes;
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 38
OPERADORES DE COMPARACIÓN
Operador Nombre Uso
== Igual $a == $b
=== Idéntico $a === $b
!= No igual $a != $b
!== No idéntico $a !== $b
<> No igual $a <> $b
< Menor que $a < $b
> Mayor que $a > $b
<= Menor o igual $a <= $b
>= Mayor o igual $a >= $b
![Page 39: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/39.jpg)
Operadores – Lógicos• Combina resultados de condiciones lógicas. La tabla a
continuación muestra las diferentes opciones.
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 39
OPERADORES LÓGICOS
Operador Nombre Uso
! NOT !$b
&& AND $a && $b
|| OR $a || $b
and AND $a and $b
or OR $a or $b
![Page 40: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/40.jpg)
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 40
![Page 41: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/41.jpg)
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 />';
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 41
Acumulando cantidades
Definiendo constantes.
![Page 42: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/42.jpg)
Resultado de la Corrida
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 42
Pag. 40
![Page 43: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/43.jpg)
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
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 43
Pag. 42
![Page 44: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/44.jpg)
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 44
![Page 45: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/45.jpg)
Estructuras de Control - IFif ($totalqty == 0)
{
echo ‘<font color=red>’;
echo ‘You did not order anything on the previous page!<br />’;
echo ‘</font>’;
}
if ($totalqty == 0)
{
echo ‘You did not order anything on the previous page!<br />’;
}
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 45
![Page 46: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/46.jpg)
Estructura de Control - Switchswitch($find){ case ‘a’ echo ‘<p>Regular customer.</p>’; break; case ‘b’ echo ‘<p>Customer referred by TV advert.</p>’; break; case ‘c’ echo ‘<p>Customer referred by phone directory.</p>’; break; case ‘d’ echo ‘<p>Customer referred by word of mouth.</p>’; break; default : echo ‘<p>Do not know how this customer found us.</p>’; break;}
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 46
![Page 47: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/47.jpg)
Ciclo - WHILE
$num = 1;
while ($num <= 5)
{
echo $num.”<br />”;
$num++;
}
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 47
![Page 48: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/48.jpg)
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>
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 48
Encabezamiento de la tabla
Ciclo
Generando la tabla dinámicamente
![Page 49: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/49.jpg)
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 49
![Page 50: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/50.jpg)
Ciclo do…While
$num = 100;
do
{
echo $num.’<br />’;
}
while ($num < 1 );
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 50
Pag. 53-54
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.
![Page 51: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/51.jpg)
Salir de una Estructura de Control• Si deseas detener la ejecución de una pieza de
código, tienes 3 formas de conseguirlo:1. Utilizar el enunciado break que permite salir de un
ciclo como por ejemplo un switch.2. Utilizar el enunciado continue si deseas continuar en
el ciclo, pero que salte las líneas que van de ese punto al final.
3. 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 51
![Page 52: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/52.jpg)
PASOS PARA LA INSTALACIÓN DE EASYPHP
![Page 53: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/53.jpg)
PASO - 1Entre la dirección: http://www.easy
php.org/ debe aparecer la siguiente pantalla:
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 53
Seleccionar
Downloads
![Page 54: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/54.jpg)
PASO - 2
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 54
Seleccionar EasyPHP 2.0 beta 1
![Page 55: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/55.jpg)
PASO - 3Aparece 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 55
![Page 56: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/56.jpg)
PASO - 4Primero 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 56
![Page 57: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/57.jpg)
PASO - 5
Se acepta el agreement y se lee la información importante.
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 57
![Page 58: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/58.jpg)
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 58
![Page 59: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/59.jpg)
PASO - 7
Se procede a instalar el producto
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 59
![Page 60: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/60.jpg)
PASO - 8La instalación debe completarse sin ningún problema.
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 60
![Page 61: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/61.jpg)
Instrucciones - 1
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 61
Install EasyPHP
Download EasyPHP from the website www.easyphp.orgdouble-click on the downloaded executableselect an installation directory and follow the instructions
![Page 62: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/62.jpg)
Instrucciones - 2
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 62
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
![Page 63: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/63.jpg)
Instrucciones - 3
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 63
Use the directory "www" or an aliasYou 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 pageThere 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>
![Page 64: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/64.jpg)
Instrucciones - 4
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 64
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 .phpRq: make sure in the screen options of Windows that the extensions of the files whose type is known are visible.
![Page 65: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/65.jpg)
Instrucciones - 5
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 65
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.
![Page 66: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/66.jpg)
Menu de EasyPHP
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 66
![Page 67: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/67.jpg)
Pasos para correr un Script en PHPCrear el script y guardarlo en el directorio WWW como se muestra a continuación:
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 67
Se recomienda guardar cada
aplicación en un directorio por
separado.
![Page 68: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/68.jpg)
Pasos para correr un Script en PHP - 2
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 68
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).
![Page 69: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/69.jpg)
Accediendo MySQL desde el Web con PHP
![Page 70: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/70.jpg)
Ejemplo De Código y Forma Para Acceder La Base De Datos
![Page 71: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/71.jpg)
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"> <br /> <input type="submit" value="Search"> </form>
</body></html>
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 71
Pag. 266-267
![Page 72: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/72.jpg)
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.';
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 72
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>
![Page 73: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/73.jpg)
Pantalla con Resultados
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 73
Pag. 269
![Page 74: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/74.jpg)
Pasos Para Acceder La Base De Datos Desde PHP
![Page 75: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/75.jpg)
Consultar Base de Datos desde el Web1. Cotejar y filtrar la data que proviene del
usuario.2. Establecer la conexión a la Base de Datos.3. Elegir y consultar la Base de Datos.4. Obtener los resultados y presentarlos al
usuario.5. 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
![Page 76: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/76.jpg)
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;
}
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 76
Pag. 270
![Page 77: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/77.jpg)
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
![Page 78: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/78.jpg)
2. Establecer la conexión a la Base de Datos.
Para conectarnos a la Base de Datos:
@ $db = new mysqli('localhost', 'root', 'root', 'books');
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 78
UsernamePassword
Nombre de la base de datos
Librería que conecta a la base de datos
Se usa en Object oriented
![Page 79: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/79.jpg)
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;
}
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 79
De ser cierto el resultado de esta función, significa que hubo problemas al tratar de conectarse a la base de datos.
![Page 80: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/80.jpg)
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
![Page 81: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/81.jpg)
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
![Page 82: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/82.jpg)
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
![Page 83: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/83.jpg)
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
![Page 84: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/84.jpg)
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
![Page 85: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/85.jpg)
5. Cerrar la Conexión de la Base de Datos
Se puede liberar las instancias obtenidas utilizando el siguiente comando:
$result->free(); ();// object orientedomysqli_free_result($result); // procedural
Finalmente podemos cerrar la conexión a la base de datos:
$db->close(); // object orientedomysqli_close($db) // procedural
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 85
![Page 86: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/86.jpg)
Poner Información en la Base de Datos
![Page 87: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/87.jpg)
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
![Page 88: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/88.jpg)
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> <tr> <td>Author</td> <td> <input type="text" name="author" maxlength="30"
size="30"></td> </tr> <tr> <td>Title</td> <td> <input type="text" name="title" maxlength="60" size="30"></td> </tr> <tr> <td>Price $</td> <td><input type="text" name="price" maxlength="7" size="7"></td> </tr> <tr> <td colspan="2"><input type="submit" value="Register"></td> </tr> </table> </form></body></html>
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 88
![Page 89: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/89.jpg)
Código PHP de Entrar los Datos
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 89
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; }
![Page 90: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/90.jpg)
Resultado de la Corrida
![Page 91: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/91.jpg)
Buscando el Record a ver si fue Creado
Pag. 277
![Page 92: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/92.jpg)
Revisión del Código de InsertarLa 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
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 92
Pag. 278
![Page 93: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/93.jpg)
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
![Page 94: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/94.jpg)
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 94
![Page 95: Presentación PHP & MySQL Por: Nelliud D. Torres. ¿Qué es PHP? Server-side scripting language. Diseñado para el Web. Se interpreta a nivel del servidor](https://reader035.vdocuments.site/reader035/viewer/2022062309/5665b4321a28abb57c8fe837/html5/thumbnails/95.jpg)
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 95