Beruflich Dokumente
Kultur Dokumente
ardo"#
$urso de %rogra&aci'n ()(
$urso de %rogra&aci'n ()(
Jorge Garca *choa de +s%uru
-a"a !ardo"-
bardok@telefonica.net - shadow@bardok.net
http://www.bardok.net
Julio 2005 e-ghost
ESIDE Universidad de Deusto
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License To view a co!" o# this license$ visit
htt!%&&creativecommonsor'&licenses&b"-nc-sa&()& or send a letter to Creative Commons$ **+ Nathan Abbott ,a"$ Stan#ord$ Cali#ornia +-.)*$ USA
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
,ndice
Introducci'n
)-./ 01sico
4unda&entos de ()(
()( 5 .5S6/
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
Introducci'n
76u8 es ()(9
/engua<e de scri%ting
(ro%'sito genera3
*%en Source
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
Introducci'n
)istoria de ()(
(ro5ecto universitario
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
Introducci'n
.1s &odu3ar
.1s rendi&iento
.1s 2unciona3idad
()( 5:
7$'&o 2unciona9
E3 navegador %uede:
Sinta;is Q./
RetiLuetaS$ontenidoR/etiLuetaS
RetiLueta /S
(ueden anidarse
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
)-./ 01sico
4or&ateando te;tosDDD
RiSte;toR/iS: cursiva
R0Ste;toR/0S: negrita
Rsu%Ste;toR/su%S: su%erndice
Rsu0Ste;toR/su0S: su0ndice
.1s esti3os:
htt%://BBBDBEschoo3sDco&/ht&3/ht&3X2or&attingDas%
E<ercicio: esti3osDht&3
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
)-./ 01sico
Esti3osDht&3
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
)-./ 01sico
I&1genes
E<e&%3o: i&agenDht&3
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
)-./ 01sico
i&agenDht&3
%ara centrar 3a i&1gen= etiLueta RcenterS#
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
)-./ 01sico
En3aces
Su estructura es:
Ra hre2TPdestinoPSte;to= i&1gen= etcDR/aS
E<e&%3o: en3acesDht&3
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
)-./ 01sico
/istas
E<e&%3o
/ista de 3a co&%ra:
Ru3S
R3iS.acarronesR/3iS
R3iSSa3R/3iS
R3iSDonutsR/3iS
R/u3S
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
)-./ 01sico
E<e&%3o: 3istasDht&3
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
)-./ 01sico
-a03as
E<e&%3o: ta03asDht&3
3os 0ordes est1n %uestos con e3 atri0uto:
Rta03e 0orderTP@PS
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
)-./ 01sico
4or&u3arios
Estructura:
R2or& ðodTP&odo de envioP actionTP%1gina de
rece%ci'nPS
- contro3es de3 2or&u3ario:
$a<as de te;toDDD
$a<as %ara %assBordDDD
.e&osDDD
$hec"0o;esDDD
/istas des%3ega03esDDD
R/2or&S
(1gina de rece%ci'n:
.odo envo:
E<: %rocesarD%h%93oginT0ardo"Y%assT@2E45
+tri0uto Ona&eP
+tri0uto Ova3ueP
*%ciona3
$uadro de te;to
$hec"0o;:
!ot'n de envo:
!ot'n de 0orrado:
2or&u3arioXsenci33oDht&3
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
)-./ 01sico
/istas des%3ega03es
E<e&%3o: 2or&u3arioX3istasDht&3
$a&%os ocu3tos:
htt%://BBBDa%acheDorg
+%ache: @DED2A
()(: 4DED4
htt%://3oca3host
?einicia&os e3 servidor
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
$on2iguraci'n de3 servidor
+%ache
$rea&os e3 2ichero:
O/ho&e/usuario/curso%h%/ho3a&undoD%h%P
Rht&3S
R0od5S
R9%h% echo [)o3a &undo][#M 9S
R/0od5S
R/ht&3S
htt%://3oca3host/curso%h%/ho3a&undoD%h%
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
4unda&entos de ()(
DDD
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
4unda&entos de ()(
-ene&os 3a %1gina:
Rht&3S
R0od5S
R9%h% echo [)o3a &undo][#M 9S
R/0od5S
R/ht&3S
Sinta;is
Iaria03es
*%eradores
+rit&8ticos
+signaci'n
Operador Smbolo Ejemplo Resultado
'u(a ) ! ) ! #
*esta - " !
+ultiplicaci,n - " - ! 2
.i/isi,n / # / 2 !
+,dulo 0resto1 2 $ 2 2
3ncre(ento )) 45 6 !7 45)) "
.ecre(ento -- 45 6 !7 45-- 2
Operador Smbolo Equivalencia
8signaci,n 45 6 49 45 6 49
8signaci,n 9 su(a 45 )6 49 45 6 45 ) 49
8signaci,n 9 resta 45 -6 49 45 6 45 49
8signaci,n 9 (ultiplicaci,n 45 -6 49 45 6 45 - 49
8signaci,n 9 di/isi,n 45 /6 49 45 6 45 / 49
8signaci,n 9 resto 45 26 49 45 6 45 2 49
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
4unda&entos de ()(
$o&%araci'n
/'gicos
Operador Smbolo Ejemplo Resultado
3gual 66 ! 66 ! cierto
.istinto :6 " :6 ! cierto
+a9or ; ! ; " falso
+enor < ! < " cierto
+a9or o igual ;6 $ ;6 2 cierto
+enor o igual <6 ! <6 2 falso
Operador Smbolo Ejemplo Resultado
= 0and1 >> cierto >> falso falso
? 0or1 @@ cierto @@ falso cierto
A? 0not1 : :cierto falso
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
4unda&entos de ()(
$ondiciona3es
$ondiciona3 si&%3e
i2 Rcondici'nS#
`DDDa
$ondiciona3 5 a3ternativa
i2 Rcondici'nS#
`DDDa
e3se
`DDDa
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
4unda&entos de ()(
$ondiciona3 &G3ti%3e
sBitch Re;%resi'nS#
`
case Rva3or @S: DDD
0rea"M
case Rva3or 2S: DDD
0rea"M
DDD
case Rva3or nS: DDD
0rea"M
de2au3t: DDD
0rea"M
a
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
4unda&entos de ()(
E<e&%3o Oi2-e3seP:
i2 _; R 4#
`
echo OR%S/a varia03e es &enorR/%SP#M
a e3se
`
echo OR%S/a varia03e no es &enorR/%SP#M
a
E<e&%3o OsBitchP:
sBitch _varia03e#
`
case @: echo OJG&ero @P#M
0rea"M
case 2: echo OJG&ero 2P#M
0rea"M
case E: echo OJG&ero EP#M
0rea"M
de2au3t: echo OJo est1 entre @ 5 EP#M 0rea"M
a
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
4unda&entos de ()(
!uc3es
Bhi3e
E<D:
_a T @M
Bhi3e a RT @0#
`
echo OR%SE3 nG&ero es PD_aDPR/%SP#M
_abbM
a
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
4unda&entos de ()(
do DDD Bhi3e
E<D:
_a T 0M
do
`
_abbM
echo OR%SE3 nG&ero esPD_aDPR/%SP#M
a
Bhi3e a R @0#M
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
4unda&entos de ()(
2or
E<D:
2or _a T @M _a RT @0M _abb#
`
echo OR%SE3 nG&ero es PD_aDPR/%SP#M
a
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
4unda&entos de ()(
2oreach
E<e&%3o: 0uc3esD%h%
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
4unda&entos de ()(
E<e&%3o: ta03a2orD%h%
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
4unda&entos de ()(
.atrices
+ trav8s de OUDDDWP
echo _&atri>U@W#M
+ trav8s de Oarra5#P
_ani&a3es T arra5OGatoP= O(erroP= O*rnitorrincoP#M
Si hace&os:
echo arra5UO&onotre&aPW#M
.odi2icaci'n de e3e&entos
_&atri>UEW T OGatoPM
E3i&inaci'n de e3e&entos
4unciones
E<D:
R9%h%
2unction sa3udar_no&0re#
`
return O)o3a PD_no&0reDP]PM
a
sa3udarO!ardo"P#M
9S
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
4unda&entos de ()(
*0<etos
$reaci'n de o0<etos
E3 %untero O_thisP
$onstructores
)erencia
4unci'n Odie&ensa<e#MP:
E<:
i2 _errorXcritico#
`
dieOError crticoD Jo se %uede continuarDP#M
a
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
()( e in2or&aci'n de usuario
htt%://3oca3host/curso%h%/e<er%ara&sD%h%93oginT0ar
do"Y%assT@2E4_e&ai3T&ai3cserverDco&
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
()( e in2or&aci'n de usuario
Iaria03es de sesi'n
%u03icX%rivateD%h%
R9%h%
sessionXstart#M
i2 isset_XGE-U[accion[W##
`
_accion T _XGE-U[accion[WM
i2 _accion TT [/ogin[#
`
_XSESSI*JU[3ogin[W T _XGE-U[3ogin[WM
a
e3se i2 _accion TT [Desconectar[#
`
unset_XSESSI*JU[3ogin[W#M
a
a
_registrado T isset_XSESSI*JU[3ogin[W#M
i2 _registrado#
`
_3ogin T _XSESSI*JU[3ogin[WM
a
9S
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
()( e in2or&aci'n de usuario
Rht&3S
R0od5S
R9%h%
i2 _registrado#
`
9S
R%S!ienvenido= R0SR9T_3ogin9SR/0SR/%S
R%SRa hre2T[%rivateX3oginD%h%[S/in" a una %1gina %rivadaR/aSR/%S
R2or& ðodT[get[ actionT[%u03icX%rivateD%h%[S
Rin%ut t5%eT[su0&it[ na&eT[accion[ va3ueT[Desconectar[ /S
R/2or&S
R9%h%
ae3se`
9S
R%S(or 2avor= introduce tu no&0re de usuarioR/%S
R2or& ðodT[get[ actionT[%u03icX%rivateD%h%[S
Jo&0re de usuario: Rin%ut t5%eT[te;t[ na&eT[3ogin[ /SR0r /S
Rin%ut t5%eT[su0&it[ na&eT[accion[ va3ueT[/ogin[ /S
R/2or&S
R9%h%
a
9S
R/0od5S
R/ht&3S
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
()( e in2or&aci'n de usuario
%rivateX3oginD%h%
R9%h%
sessionXstart#M
9S
Rht&3S
R0od5S
R9%h%
i2 isset_XSESSI*JU[3ogin[W##
`
echo [E3 no&0re de usuario es [D_XSESSI*JU[3ogin[W#M
a
e3se
`
echo[Jo ha5 no&0re de usuario[#M
a
9S
R/0od5S
R/ht&3S
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
!ases de datos en ()(
(aLuetes a insta3ar
+ccede&os a ()(.5+d&in
htt%://3oca3host/%h%&5ad&in
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
$on2iguraci'n de3 servidor de
0ase de datos
(asos a seguir:
_d0 T &5sL3XconnectOhostP=PusuarioP=P%assBordP#M
&5sL3Xse3ectXd0Ono&0reXdeX0aseXdeXdatosP= _d0#M
&5sL3XLuer5OsentenciaXsL3P#M
E<:
&5sL3X2etchXroB_res#M
&5sL3Xc3ose_d0#M
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
()( 5 .5S6/
E<e&%3o:
E<ercicio:
(ro%uesta de ta03a:
e-ghost ESIDE Universidad de Deusto 2004/2005 Jorge Garca !ardo"#
$urso de %rogra&aci'n ()(
()( 5 .5S6/
(ro%uesta de estructura:
(1gina Be0 en s