Lenguaje de Programacin con PHP Autor: Ing. Jos Luis Morales oc!a Moquegua - 2009 Ing. Jos Luis Morales Rocha INTRODUCCIN A PHP 1. Que es PHP PHP es un Pre-procesador de hipertextos (Hypertext Pre-processor), se ejecuta en un servidor Web remoto. La sintaxis de PHP es simiar a a de !, "ava y Per. PHP es un so#t$are de c%di&o abierto ('pen (ource). 2. Instala!"n #e PHP Para ejecutar pro&ramas PHP, necesitamos tener en nuestra computadora instaado os pro&ramas )pache, PHP y *y(+L. Los cuaes podemos bajaros de ,nternet- Por ejempo e so#t$are A$$%e&'( cuenta con o pro&ramas antes mencionados y procedemos a instaaci%n de a si&uiente manea. - /espu0s de haber conse&uido de ,nternet e )pp(erv, hacemos dos veces cic en su icono. - )parece e si&uiente mensaje de proyecto )pp(erv, esperamos unos se&undos y nos aparece e cuadro de diao&o de 1ienvenida de )pp(erv. 2 Ing. Jos Luis Morales Rocha - Lue&o presionamos en e bot%n 3ext ((i&uiente) para continuar con a instaaci%n. - 4 )pp(erv nos muestra una ventana 5ue contiene e acuerdo de a icencia de uso, para e cua aceptamos y presionamos en e bot%n I Ag&ee, para continuar con a instaaci%n. 6 Ing. Jos Luis Morales Rocha - 4 si&uiente cuadro de diao&o nos presenta a ubicaci%n donde se va a instaar e )pp(erv con os pro&ramas PHP, )pache y *y(+L. 4ntonces presionamos e bot%n Ne)t para continuar. - 4n esta parte nos pide seeccionar os componentes de )pp(erv, es decir e servidor )pache, *y(+L, PHP y un pro&rama para administrar as bases de datos de *y(+L amado php*y)dmin. /ejamos como esta en e &ra#ico y presionamos en e bot%n 3ext para continuar. 7 Ing. Jos Luis Morales Rocha - 4n e si&uiente cuadro de diao&o nos soicita e nombre de nuestro servidor as8 como e correo eectr%nico de administrador de sistema, en este caso coo5ue e nombre 5ue usted desee, parecido a mostrado en e &ra#ico y presione en e bot%n Ne)t para continuar. - Lue&o nos pide una contrase9a para e servidor de base de datos *y(+L, coo5ue a contrase9a 5ue desee y presiones en e bot%n Ne)t para continuar. : Ing. Jos Luis Morales Rocha - )hora e )pp(erv est; instaando os componentes necesarios para trabajar con pro&ramas PHP - <inamente nos muestra una pantaa indicando 5ue a instaaci%n se ha competado con 0xito, a a ve= se iniciara e (ervidor )pache y *y(+L. Presiones en e bot%n <inai=ar (<inish). > Ing. Jos Luis Morales Rocha - Para comprobar 5ue nuestro servidor Web se ha instaado correctamente ejecutamos un nave&ador (por ejempo ,nternet 4xporer), y en a direcci%n escribimos http://Localhost/ donde se debe visuai=ar a si&uiente ventana. - (i deseamos ver a versi%n e in#ormaci%n de PHP, )pache y *y(5, en a direcci%n de nave&ador escribimos. http://Localhost/phpinfo, entonces se mostrar; e si&uiente cuadro de diao&o. ? Ing. Jos Luis Morales Rocha *. Int&o#u!"n a la $&og&a+a!"n Los (cripts de PHP se insertan en e c%di&o H@*L de a si&uiente manera. ABphp CC 4n esta parte se inserta c%di&o PHP BD ,-e+$lo. !.E)pp(ervE$$$EcursoEbienvenidos.php ABphp echo FAhGDPro&ramaci%n WebAChGDF- echo FAhGD1ienvenidos a PHPAChGDF- BD Para ejecutar e pro&rama de ejempo, en e campo /irecci%n de nave&ador di&ite a si&uient6e HIL. http://localhost/curso/ bienvenidos.php ,-e+lo2. !.E)pp(ervE$$$EcursoEpro&ramaG.php AhtmD AheadDAtiteDPro&ramaci%n WebACtiteDACheadD AbodyD AhG ai&nJFcenterFDPrimer pro&rama PHPAChGD ABphp echo F1ienvenidos a PHPF- echo FAbrDF- echo FH3)*F- BD ACbodyD AChtmD 4n este pro&rama se inserta c%di&o PHP dentro de un documento H@*L. Para ejecutar e pro&rama de ejempo, en e campo /irecci%n de nave&ador di&ite a si&uient6e HIL. http://localhost/curso/programa1.php K Ing. Jos Luis Morales Rocha /. 0a&!a1les 4n PHP as variabes no necesitan ser decaradas, todas as variabes en PHP se representan por e si&no 234 se&uida por e nombre de a variabe. Las variabes en PHP son sensibes a mayLscuas y minLscuas. ,-e+$lo. !.E)pp(ervE$$$EcursoEvariabes.php AhtmD AheadDAtiteDPro&ramaci%n WebACtiteDACheadD AbodyD AhG ai&nJFcenterFDMariabes en PHPAChGD ABphp N3umeroGJ6- N3umero2J:- N3umero6JN3umeroGON3umero2- echo F4 resutado de a suma de 3umeroG y 3umero2 es ----D F . N3umero6- BD ACbodyD AChtmD 4n este pro&rama se utii=an as variabes num0ricas N3umeroG, N3umero2 y N3umero6, ue&o se muestran a suma de as dos primeras asi&nando e resutado a a tercera variabe. Para ejecutar e pro&rama de ejempo, en e campo /irecci%n de nave&ador di&ite a si&uient6e HIL. http://localhost/curso/variables.php P Ing. Jos Luis Morales Rocha ,-e+$lo. !.E)pp(ervE$$$EcursoE variabesG.php AhtmD AheadDAtiteDPro&ramaci%n WebACtiteDACheadD AbodyD AhG ai&nJFcenterFDMariabes en PHPAChGD ABphp NnombreJF"os0 LuisF- NapeidosJF*oraes IochaF- NdocenteJNnombre . F F . Napeidos- echo F4 nombre de docente de curso es . F . Ndocente- BD ACbodyD AChtmD 4n este ejempo utii=amos variabes de tipo (trin& (cadena de caracteres). Para ejecutar e pro&rama de ejempo, en e campo /irecci%n de nave&ador di&ite a si&uient6e HIL. http://localhost/curso/variables1.php GQ Ing. Jos Luis Morales Rocha ,-e+$lo. !.E)pp(ervE$$$EcursoE variabes2.php AhtmD AheadDAtiteDPro&ramaci%n WebACtiteDACheadD AbodyD AhG ai&nJFcenterFDMariabes en PHPAChGD ABphp N3umeroGJ6- N3umero2J:- N3umeroGOJN3umero2- echo F4 resutado en 3umeroG ser; ----D F . N3umeroG- BD ACbodyD AChtmD 4n este ejempo asi&namos a a variabe $Numero1, a suma de $Numero1$Numero!, (N3umeroGOJN3umero2) y e resutado 5ue muestra se da a continuaci%n. ,-e+$lo. !.E)pp(ervE$$$EcursoE variabes6.php AhtmD AheadDAtiteDPro&ramaci%n WebACtiteDACheadD AbodyD AhG ai&nJFcenterFDMariabes en PHPAChGD ABphp N3umeroGJ6- N3umero2J:- N3umero2OJN3umeroG- echo F4 resutado en 3umeroG ser; ----D F . N3umeroG- echo FAbrDF- echo F4 resutado en 3umero2 ser; ----D F . N3umero2- BD ACbodyD AChtmD GG Ing. Jos Luis Morales Rocha 4ste es otro ejempo donde asi&namos ahora a a variabe $Numero!, a suma de $Numero!$Numero1, (N3umero2OJN3umeroG) y e resutado 5ue muestra es e si&uiente. Variables tipo ARRAY ,-e+$lo. !.E)pp(ervE$$$EcursoE varRarrays.php AhtmD AheadDAtiteD Pro&ramaci%n Web ACtiteDACheadD AbodyD AhG ai&nJFcenterFDMariabes de tipo )rray en PHPAChGD Ap ai&nJFjusti#yFD Mamos a habar sobre un tipo especia de variabes, e AbD)rrayACbD. 4 array permite 5ue ten&amos en una misma variabe varios vaores. 4s como si construy0ramos una taba. AbrDACpD ABphp CS !onstrucci%n de una array denominado Ne5uipos conteniendo varios nombres de e5uipos de #LtboSC Ne5uipos J array(F!obresoF, F)#onso H&arteF, FH3()F, FH3)*F, F!iencianoF, F)ian=a LimaF, FHniversitarioF, F(portin& !ristaF, F*e&arF, F/iabos rojosF, F(an !arosF)- CS Para mostrar e contenido utii=amos e comando <'ISC echo FHtii=aremos e comando <'IApDF- echo F#or (contador inicia- condici%n- incremento de contador inicia) AbrDF- echo FT AbrDF- echo Fcomandos 5ue cumpen a condici%n AbrDF- echo FU AbrDAbrDF- #or(NaJQ-NaAGQ-NaOO) T echo F45uipos Na. F. Ne5uiposVNaW . FAbrDF- U BD ACbodyD AChtmD G2 Ing. Jos Luis Morales Rocha 5. O$e&a#o&es Operadores de atribucin ,-e+$lo. !.E)pp(ervE$$$EcursoE operadoresG.php AhtmD AheadDAtiteDPro&ramaci%n WebACtiteDACheadD AbodyD AhG ai&nJFcenterFD'peradores de atribuci%n en PHPAChGD AoD'peradores AiD Nvariabe OJ para suma AiD Nvariabe -J para sustracci%n AiD Nvariabe SJ para mutipicaci%n AiD Nvariabe CJ para divisi%n AiD Nvariabe XJ para e resto de divisi%n ACoD ABphp NaJ7- NbJ2- echo FNF.FaJF.Na- echo FAbrDF- echo FNF.FbJF.Nb- G6 Ing. Jos Luis Morales Rocha NaOJNb- echo FAbrDF- echo FNF.Fa OJ F.FNF.Fb es o mismo 5ue F.FNF.Fa J F.FNF.Fa O F.FNF.Fb cuyo resutado en F- echo FNF.Fa J F.Na- Na-JNb- echo FAbrDF- echo FNF.Fa -J F.FNF.Fb es o mismo 5ue F.FNF.Fa J F.FNF.Fa - F.FNF.Fb cuyo resutado en F- echo FNF.Fa J F.Na- NaSJNb- echo FAbrDF- echo FNF.Fa SJ F.FNF.Fb es o mismo 5ue F.FNF.Fa J F.FNF.Fa S F.FNF.Fb cuyo resutado en F- echo FNF.Fa J F.Na- NaCJNb- echo FAbrDF- echo FNF.Fa CJ F.FNF.Fb es o mismo 5ue F.FNF.Fa J F.FNF.Fa C F.FNF.Fb cuyo resutado en F- echo FNF.Fa J F.Na- echo FAbrDF- echo F4 resto de a division dado de F. FNF.Fa y F.FNF.FbF- echo FAbrDF- echo FIesto . F.NaXNb- BD ACbodyD AChtmD G7 Ing. Jos Luis Morales Rocha ,-e+$lo. !.E)pp(ervE$$$EcursoE operadores2.php AhtmD AheadDAtiteDPro&ramaci%n WebACtiteDACheadD AbodyD AhG ai&nJFcenterFD'peradores de atribuci%n en PHPAChGD Ap ai&nJFjusti#yFD@enemos tambi0n operadores de incremento y decremento. (i tenemos una expresi%n NaJNaOG podemos usar un operador de incremento NaOO y si tuvi0ramos NaJNa-G podemos usar un operador de decremento Na--. @ambi0n para incremento podemos usar dos si&nos Fm;sF antes de a variabe y para decrementos dos si&nos FmenosF antes de a variabe.ACpD ABphp NaJ7- echo FNF.FaJF.Na- echo FAbrDF- NaJNaOG- echo FNF.Fa O G entonces F.FNF.FaOO J F.Na- echo FAbrDF- NaJNa-G- echo FNF.Fa - G entonces F.FNF.Fa-- J F.Na- echo FAbrDF- echo FPre incremento y pos incremento en operadoresF- NaJ7- NbJ2- echo FNF.FaJF.Na- echo FAbrDF- echo FNF.FbJF.Nb- NcJ(OONa)ONb- echo FAbrDF- echo FNF.FcJ(OOF.FNF.Fa)OF.FNF.FbF- echo FAbrDF- echo FNa, Nb NcF- echo FAbrDF- NaJ7- NbJ2- echo FNF.FaJF.Na- echo FAbrDF- echo FNF.FbJF.Nb- NcJ(NaOO)ONb- echo FAbrDF- echo FNF.FcJ(F.FNF.FaOO)OF.FNF.FbF- echo FAbrDF- echo FNa, Nb NcF- echo FAbrDF- BD G: Ing. Jos Luis Morales Rocha ACbodyD AChtmD Operadores de comparacin ,-e+$lo. !.E)pp(ervE$$$EcursoE operadores6.php AhtmD AheadDAtiteDPro&ramaci%n WebACtiteDACheadD AbodyD AhG ai&nJFcenterFD'peradores de comparaci%n en PHPAChGD Ap ai&nJFcenterFDAim& srcJFoperadores.jp&F $idthJF6GQF hei&htJFGQKFDACpD ABphp NaJG2- NbJFG2F- echo FNF.FaJF.Na.FAbrDF- echo FNF.FbJF.FYF.Nb.FYF.FAbrDF- i# (Na JJ Nb) echo FNF.Fa es i&ua a F.FNF.FbF- ese echo FNF.Fa no es i&ua a F.FNF.FbF- echo FAbrDF- G> Ing. Jos Luis Morales Rocha i# (Na JJJ Nb) echo FNF.Fa es id0ntico a F.FNF.FbF- ese echo FNF.Fa no es id0ntico a F.FNF.FbF- BD ACbodyD AChtmD 6. T!$os #e #atos ,nte&os. Los enteros se pueden especi#icar utii=ando una de as si&uientes sintaxis. Na J 267G- Z 3Lmero decima Na J -:7>- Z 3Lmero ne&ativo Na J Q6:2- Z 3Lmero octa (e5uivaente a 267 decima) Na J Qx):- Z 3Lmero hexadecima (e5uivaente a >: decima) 4jempo. !.E)pp(ervE$$$EcursoE tiposvarG.php ABphp NaG J 267G- Z 3Lmero decima Na2 J -:7>- Z 3Lmero ne&ativo Na6 J Q67G- Z 3Lmero octa (e5uivaente a 22: decima) Na7 J Qx1>- Z 3Lmero hexadecima (e5uivaente a GK2 decima) echo FENaG --DF.NaG.FAbrDF- echo FENa2 --DF.Na2.FAbrDF- echo FENa6 --DF.Na6.FAbrDF- echo FENa7 --DF.Na7.FAbrDF- BD G? Ing. Jos Luis Morales Rocha 4 resutado es e si&uiente. N7+e&os #e $unto 8lotante Los nLmeros de punto #otante (doube) se pueden especi#icar utii=ando cua5uiera de as si&uientes sintaxis. Na J G2.GP2- Na J G.7>e>- 4jempo. !.E)pp(ervE$$$EcursoE tiposvar2.php ABphp NaG J G2.GP2- Na2 J G.7>e>- echo FENaG --DF.NaG.FAbrDF- echo FENa2 --DF.Na2- BD 4 resutado se muestra a continuaci%n. Ca#enas #e a&ate&es 9%t&!ng: Las cadenas de caracteres, se utii=an mediante deimitadores como por ejempo a dobe comia (). 4jempo. !.E)pp(ervE$$$EcursoE tiposvar6.php GK Ing. Jos Luis Morales Rocha A#ont #aceJFHeveticaFD ABphp NcadenaJF4sto es una cadena de caracteresF- echo Ncadena- BD AC#ontD 4 resutado se muestra en a si&uiente ventana. ;. Constantes Las constantes son como variabes, savo por dos circunstancias de 5ue as constantes deben ser de#inidas usando a #unci%n #e8!ne9:, y 5ue no pueden ser rede#inidas con otro vaor. 4jempo. !.E)pp(ervE$$$EcursoE constantes.php ABphp de#ine(FP,F,6.G7G:G>)- NradioJGQ- NareaJP,SNradioSNradio- echo FP, . F.P,.FAbrDF- echo FIadio . F.Nradio.FAbrDF- echo F)rea . F.Narea- BD 4 resutado es e si&uiente. GP