Enviar búsqueda
Cargar
Presentación PHP & MySQL para principiantes
•
0 recomendaciones
•
114 vistas
Título mejorado por IA
S
SINAVEF_LAB
Seguir
prueba
Leer menos
Leer más
Educación
Denunciar
Compartir
Denunciar
Compartir
1 de 95
Recomendados
Historia de PHP
Historia de PHP
Duglas Oswaldo Moreno Mendoza
Introducción a PHP
Introducción a PHP
Carlos Hernández Garciísta
Php tarea
Php tarea
saullopes24
Introduccion a php
Introduccion a php
Carlos Lozano Zapata
Manual de PHP Basico
Manual de PHP Basico
Carlos Zantana
Php ppt
Php ppt
Pepe Avelar
MAnual de php básico
MAnual de php básico
Cleote
Introducción a PHP
Introducción a PHP
jdaniel_7ez
Recomendados
Historia de PHP
Historia de PHP
Duglas Oswaldo Moreno Mendoza
Introducción a PHP
Introducción a PHP
Carlos Hernández Garciísta
Php tarea
Php tarea
saullopes24
Introduccion a php
Introduccion a php
Carlos Lozano Zapata
Manual de PHP Basico
Manual de PHP Basico
Carlos Zantana
Php ppt
Php ppt
Pepe Avelar
MAnual de php básico
MAnual de php básico
Cleote
Introducción a PHP
Introducción a PHP
jdaniel_7ez
PHP IUTE
PHP IUTE
guestefc95b
Practica09
Practica09
SamanthaLizethRangel
DEFINICION DE Php
DEFINICION DE Php
NelsonDaniloEspitiaBetancur
Programacion - Php
Programacion - Php
PROD LARD
Manual de php
Manual de php
HDS - Health Digital Systems
QUE ES PHP
QUE ES PHP
Taide LooKizs HernanDitaass Cortez
Curso TIC de PHP y MSQL
Curso TIC de PHP y MSQL
Wilian
15 servidor php
15 servidor php
IsaacVk
Php adsi 2013 sena
Php adsi 2013 sena
yexikita1
Curso TIC de PHP y MSQL Parte 1
Curso TIC de PHP y MSQL Parte 1
Wilian
Investigacion Lenguaje php - Sindy
Investigacion Lenguaje php - Sindy
Jhoel Dgez Garcia
Php tema 4
Php tema 4
Orlando Amaurys Rodríguez Ramírez
Construyendo aplicaciones con php + lua + redis
Construyendo aplicaciones con php + lua + redis
Tensor
Servidor PHP
Servidor PHP
Anny Silis Cx
Investigación Lenguaje Php Eduardo Flores
Investigación Lenguaje Php Eduardo Flores
Jhoel Dgez Garcia
Optimización de aplicaciones web con base de datos NoSQL In-Memory
Optimización de aplicaciones web con base de datos NoSQL In-Memory
Gonzalo Chacaltana
Generalidades de Php
Generalidades de Php
denis2801
Php
Php
lifeth
Servidor php
Servidor php
Kaarla Roodriguez DeSaucedo
Cómo elegir un servidor Web
Cómo elegir un servidor Web
Juan Belón Pérez
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
Raaulroodriguez
Lab2
Lab2
Ricardo Arroyo
Más contenido relacionado
La actualidad más candente
PHP IUTE
PHP IUTE
guestefc95b
Practica09
Practica09
SamanthaLizethRangel
DEFINICION DE Php
DEFINICION DE Php
NelsonDaniloEspitiaBetancur
Programacion - Php
Programacion - Php
PROD LARD
Manual de php
Manual de php
HDS - Health Digital Systems
QUE ES PHP
QUE ES PHP
Taide LooKizs HernanDitaass Cortez
La actualidad más candente
(6)
PHP IUTE
PHP IUTE
Practica09
Practica09
DEFINICION DE Php
DEFINICION DE Php
Programacion - Php
Programacion - Php
Manual de php
Manual de php
QUE ES PHP
QUE ES PHP
Similar a Presentación PHP & MySQL para principiantes
Curso TIC de PHP y MSQL
Curso TIC de PHP y MSQL
Wilian
15 servidor php
15 servidor php
IsaacVk
Php adsi 2013 sena
Php adsi 2013 sena
yexikita1
Curso TIC de PHP y MSQL Parte 1
Curso TIC de PHP y MSQL Parte 1
Wilian
Investigacion Lenguaje php - Sindy
Investigacion Lenguaje php - Sindy
Jhoel Dgez Garcia
Php tema 4
Php tema 4
Orlando Amaurys Rodríguez Ramírez
Construyendo aplicaciones con php + lua + redis
Construyendo aplicaciones con php + lua + redis
Tensor
Servidor PHP
Servidor PHP
Anny Silis Cx
Investigación Lenguaje Php Eduardo Flores
Investigación Lenguaje Php Eduardo Flores
Jhoel Dgez Garcia
Optimización de aplicaciones web con base de datos NoSQL In-Memory
Optimización de aplicaciones web con base de datos NoSQL In-Memory
Gonzalo Chacaltana
Generalidades de Php
Generalidades de Php
denis2801
Php
Php
lifeth
Servidor php
Servidor php
Kaarla Roodriguez DeSaucedo
Cómo elegir un servidor Web
Cómo elegir un servidor Web
Juan Belón Pérez
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
Raaulroodriguez
Lab2
Lab2
Ricardo Arroyo
¿Cómo elegir servidor web?
¿Cómo elegir servidor web?
Juan Belón Pérez
Servidor php
Servidor php
Suujeey Hernandez
PHP Con symfony
PHP Con symfony
csalazart
Código php
Código php
Géne Solórzano
Similar a Presentación PHP & MySQL para principiantes
(20)
Curso TIC de PHP y MSQL
Curso TIC de PHP y MSQL
15 servidor php
15 servidor php
Php adsi 2013 sena
Php adsi 2013 sena
Curso TIC de PHP y MSQL Parte 1
Curso TIC de PHP y MSQL Parte 1
Investigacion Lenguaje php - Sindy
Investigacion Lenguaje php - Sindy
Php tema 4
Php tema 4
Construyendo aplicaciones con php + lua + redis
Construyendo aplicaciones con php + lua + redis
Servidor PHP
Servidor PHP
Investigación Lenguaje Php Eduardo Flores
Investigación Lenguaje Php Eduardo Flores
Optimización de aplicaciones web con base de datos NoSQL In-Memory
Optimización de aplicaciones web con base de datos NoSQL In-Memory
Generalidades de Php
Generalidades de Php
Php
Php
Servidor php
Servidor php
Cómo elegir un servidor Web
Cómo elegir un servidor Web
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
Lab2
Lab2
¿Cómo elegir servidor web?
¿Cómo elegir servidor web?
Servidor php
Servidor php
PHP Con symfony
PHP Con symfony
Código php
Código php
Más de SINAVEF_LAB
Acciones para atención de roya 25 de mayo
Acciones para atención de roya 25 de mayo
SINAVEF_LAB
12. conclusiones 2 reunion coordinacion mc. mitzi georgina gonz+ílez ochoa
12. conclusiones 2 reunion coordinacion mc. mitzi georgina gonz+ílez ochoa
SINAVEF_LAB
11. delimitaci+¦n de focos ver.22nov14
11. delimitaci+¦n de focos ver.22nov14
SINAVEF_LAB
10. adecuaciones formatos pvef cafe v23nov14 ing. gerardo acevedo s+ínchez
10. adecuaciones formatos pvef cafe v23nov14 ing. gerardo acevedo s+ínchez
SINAVEF_LAB
jaime rdenas pez
jaime rdenas pez
SINAVEF_LAB
6. avances t+®c ope pvef-cafe v22nov14ver2 dr. gustavo mora aguilera
6. avances t+®c ope pvef-cafe v22nov14ver2 dr. gustavo mora aguilera
SINAVEF_LAB
5. nuevos riegos asociados al cultivo del cafeto dr. ricardo y+í+¦ez l+¦pez
5. nuevos riegos asociados al cultivo del cafeto dr. ricardo y+í+¦ez l+¦pez
SINAVEF_LAB
4. perspectivas vef caf+® 2015 ing. rigoberto gonz+ílez g+¦mez
4. perspectivas vef caf+® 2015 ing. rigoberto gonz+ílez g+¦mez
SINAVEF_LAB
3. servicio de acompa+æamiento tecnico procafe ing. juan de dios del castillo
3. servicio de acompa+æamiento tecnico procafe ing. juan de dios del castillo
SINAVEF_LAB
2. ponencias m+®xico noviembre ing. jaime c+írdenas l+¦pez
2. ponencias m+®xico noviembre ing. jaime c+írdenas l+¦pez
SINAVEF_LAB
1. politica nacional cafetalera. ing. crist+¦bal sayago
1. politica nacional cafetalera. ing. crist+¦bal sayago
SINAVEF_LAB
Enfermedades del cafe dr. rui leite
Enfermedades del cafe dr. rui leite
SINAVEF_LAB
Sist. de vig. epidem. roya mex.17feb14
Sist. de vig. epidem. roya mex.17feb14
SINAVEF_LAB
Sist. de vig. epidem. roya mex.14mar14 recfin
Sist. de vig. epidem. roya mex.14mar14 recfin
SINAVEF_LAB
Sist. de vig. epidem. roya 07may14 sagarpa
Sist. de vig. epidem. roya 07may14 sagarpa
SINAVEF_LAB
Sat oirsa 2014
Sat oirsa 2014
SINAVEF_LAB
Reunion de coordinación 28feb2014 xalapa, veracruz
Reunion de coordinación 28feb2014 xalapa, veracruz
SINAVEF_LAB
Presentación pvef octubre
Presentación pvef octubre
SINAVEF_LAB
Modelo operativo administrativo
Modelo operativo administrativo
SINAVEF_LAB
Pca. muestreo
Pca. muestreo
SINAVEF_LAB
Más de SINAVEF_LAB
(20)
Acciones para atención de roya 25 de mayo
Acciones para atención de roya 25 de mayo
12. conclusiones 2 reunion coordinacion mc. mitzi georgina gonz+ílez ochoa
12. conclusiones 2 reunion coordinacion mc. mitzi georgina gonz+ílez ochoa
11. delimitaci+¦n de focos ver.22nov14
11. delimitaci+¦n de focos ver.22nov14
10. adecuaciones formatos pvef cafe v23nov14 ing. gerardo acevedo s+ínchez
10. adecuaciones formatos pvef cafe v23nov14 ing. gerardo acevedo s+ínchez
jaime rdenas pez
jaime rdenas pez
6. avances t+®c ope pvef-cafe v22nov14ver2 dr. gustavo mora aguilera
6. avances t+®c ope pvef-cafe v22nov14ver2 dr. gustavo mora aguilera
5. nuevos riegos asociados al cultivo del cafeto dr. ricardo y+í+¦ez l+¦pez
5. nuevos riegos asociados al cultivo del cafeto dr. ricardo y+í+¦ez l+¦pez
4. perspectivas vef caf+® 2015 ing. rigoberto gonz+ílez g+¦mez
4. perspectivas vef caf+® 2015 ing. rigoberto gonz+ílez g+¦mez
3. servicio de acompa+æamiento tecnico procafe ing. juan de dios del castillo
3. servicio de acompa+æamiento tecnico procafe ing. juan de dios del castillo
2. ponencias m+®xico noviembre ing. jaime c+írdenas l+¦pez
2. ponencias m+®xico noviembre ing. jaime c+írdenas l+¦pez
1. politica nacional cafetalera. ing. crist+¦bal sayago
1. politica nacional cafetalera. ing. crist+¦bal sayago
Enfermedades del cafe dr. rui leite
Enfermedades del cafe dr. rui leite
Sist. de vig. epidem. roya mex.17feb14
Sist. de vig. epidem. roya mex.17feb14
Sist. de vig. epidem. roya mex.14mar14 recfin
Sist. de vig. epidem. roya mex.14mar14 recfin
Sist. de vig. epidem. roya 07may14 sagarpa
Sist. de vig. epidem. roya 07may14 sagarpa
Sat oirsa 2014
Sat oirsa 2014
Reunion de coordinación 28feb2014 xalapa, veracruz
Reunion de coordinación 28feb2014 xalapa, veracruz
Presentación pvef octubre
Presentación pvef octubre
Modelo operativo administrativo
Modelo operativo administrativo
Pca. muestreo
Pca. muestreo
Último
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
123yudy
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
samyarrocha1
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
Alberto Rubio
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL _
Colégio Santa Teresinha
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS .
Colégio Santa Teresinha
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
EDUCCUniversidadCatl
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
JUANCARLOSAPARCANARE
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIOR
Gonella
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE .
Colégio Santa Teresinha
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
gustavorojas179704
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
Martín Ramírez
cuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básica
GianninaValeskaContr
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
OscarEduardoSanchezC
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
gharce
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
Ciencias Integradas 7 (2023 - 2024)
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
JUANSIMONPACHIN
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
coloncopias5
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
Martín Ramírez
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
fcastellanos3
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
YobanaZevallosSantil1
Último
(20)
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL _
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS .
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIOR
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE .
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
cuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básica
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
Presentación PHP & MySQL para principiantes
1.
Presentación PHP &
MySQL Por: Nelliud D. Torres
2.
¿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
3.
¿Qué es PHP?
(cont.) Usage Stats for April 2007 • PHP: 20,917,850 domains, 1,224,183 IP addresses Source: Netcraft
4.
¿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
5.
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
6.
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
7.
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
8.
¿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
9.
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
10.
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
11.
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
12.
Estadísticas sobre servidores
Web marzo 2008
13.
Estadísticas sobre servidores
Web marzo 2008 (cont.) 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 13 Estadísticas del mes de http://www.securityspace.com/s_survey /data/200803/com/index.html
14.
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
15.
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> </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
16.
Forma creada por
el Browser 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 16
17.
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
18.
Mensaje generado por
PHP 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 18
19.
Cotejar el código
(source) de la página 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 19
20.
Algunas Instrucciones de
PHP
21.
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.
22.
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
23.
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
24.
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.
25.
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.
26.
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
27.
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
28.
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.
29.
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.
30.
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
31.
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
32.
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
33.
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
34.
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
35.
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
36.
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
37.
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
38.
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
39.
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
40.
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
41.
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.
42.
Resultado de la
Corrida 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 42 Pag. 40
43.
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
44.
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
45.
Estructuras de Control
- IF if ($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
46.
Estructura de Control
- Switch switch($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
47.
Ciclo - WHILE $num
= 1; while ($num <= 5) { echo $num.”<br />”; $num++; } 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 47
48.
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
49.
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
50.
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.
51.
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
52.
PASOS PARA LA
INSTALACIÓN DE EASYPHP
53.
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
54.
PASO - 2 8/12/2007
© - Derechos Reservados - Prof. Nelliud D. Torres 54 Seleccionar EasyPHP 2.0 beta 1
55.
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 55
56.
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 56
57.
PASO - 5 Se
acepta el agreement y se lee la información importante. 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 57
58.
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
59.
PASO - 7 Se
procede a instalar el producto 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 59
60.
PASO - 8 La
instalación debe completarse sin ningún problema. 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 60
61.
Instrucciones - 1 8/12/2007
© - Derechos Reservados - Prof. Nelliud D. Torres 61 Install EasyPHP Download EasyPHP from the website www.easyphp.org double-click on the downloaded executable select an installation directory and follow the instructions
62.
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
63.
Instrucciones - 3 8/12/2007
© - Derechos Reservados - Prof. Nelliud D. Torres 63 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>
64.
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 .php Rq: make sure in the screen options of Windows that the extensions of the files whose type is known are visible.
65.
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.
66.
Menu de EasyPHP 8/12/2007
© - Derechos Reservados - Prof. Nelliud D. Torres 66
67.
Pasos para correr
un Script en PHP Crear 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.
68.
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).
69.
Accediendo MySQL desde
el Web con PHP
70.
Ejemplo De Código
y Forma Para Acceder La Base De Datos
71.
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
72.
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>
73.
Pantalla con Resultados 8/12/2007 ©
- Derechos Reservados - Prof. Nelliud D. Torres 73 Pag. 269
74.
Pasos Para Acceder
La Base De Datos Desde PHP
75.
Consultar Base de
Datos desde el Web 1. 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
76.
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
77.
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
78.
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 Username Password Nombre de la base de datos Librería que conecta a la base de datos Se usa en Object oriented
79.
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.
80.
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
81.
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
82.
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
83.
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
84.
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
85.
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 o mysqli_close($db) // procedural 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 85
86.
Poner Información en
la Base de Datos
87.
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
88.
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
89.
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; }
90.
Resultado de la
Corrida
91.
Buscando el Record
a ver si fue Creado Pag. 277
92.
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 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 92 Pag. 278
93.
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
94.
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
95.
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.ht ml 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 95