Documente Academic
Documente Profesional
Documente Cultură
Tecnologas para
Aplicaciones Internet
26 de jul de 2015
Agenda
Introduccin
Aspectos Generales
Qu es PHP?
Qu se necesita para que funcione PHP?
Qu se puede Hacer con PHP?
Instalacin de PHP en Windows
Introduccin
Es Gratuito
Es Portable
Programado en C
Integracin MySQL.
Qu es PHP?
Procesar formularios
Paginas con contenido dinmicos
Enviar o recibir cookies
Manejar protocolos
Subir archivos
Interactuar con SMBD
Correo electrnico
Banca
Comercio electrnico.
Instalacin de PHP
Agenda
Programacin en PHP
Tipos de datos
Enteros
Punto flotante
Cadena
Variables
Constantes
Operadores
Aritmticos
Cadena
Lgicos
Asignacin
Bit a bit
Programacin en PHP
Tipos de Datos
Enteros
Descripcin
Nmero decimal Positivo
Instruccin
$a = 1234;
Nmero Negativo
$a = -123;
$a = 0123;
$a = 0x12;
Tipos de Datos
Cadenas
Ejemplos de Cadenas
Descripcin
$a = "Hola";
$b = $a . "Mundo";
Tipos de Datos
Variables:
Ejemplo 2: varia.php
<html>
<body>
<?php
$myvar = "SEVILLA \n";
$Myvar = "MADRID \n";
//La siguiente lnea imprime SEVILLA
echo $myvar;
//La siguiente lnea imprime MADRID
ECHO $MyVar; //Esto es un error, POR QUE?
?>
</body>
</html>
Tipos de Datos
Constantes:
Ejemplo 3: const.php
<html>
<body>
<?php
define ("PI", 3.1416);
printf (PI);
?>
</body>
</html>
Tipos de Datos
Constantes Predefinidas:
Ejemplo 4: cons2.php
<html>
<body>
<?php
print '<pre>';
print_r(get_defined_constants());
print '</pre>';
?>
</body>
</html>
Operadores
Operadores Aritmticos:
Operador
Descripcin
$a + $b
Suma
$a - $b
Resta
$a * $b
Multiplicacin
$a / $b
Divisin
$a++
Incremento en 1 de $a
$a--
Decremento en 1 de $a
$a % $b
Mdulo o resto
Operadores
Operadores de Cadena:
Operador
Descripcin
$a = Hola;
$b = Mundo;
$c = $a . $b;
La variable $c contiene la
concatenacin del contenido de la
variable $a con el de $b
Operadores
Operadores de Comparacin:
Operador
Descripcin
$a < $b
$a menor que $b
$a > $b
$a mayor que $b
$a <= $b
$a >= $b
$a == $b
$a igual que $b
$a === $b
$a idntico que $b
$a != $b
$a distinto que $b
Operadores
Operadores Lgicos:
Operador
Descripcin
$a AND $b
$a && $b
$a OR $b
$a || $b
$a XOR $b
NOT $a
Negacin de $a
!$a
Negacin de $a
Operadores
Operadores de Asignacin:
Operador
Descripcin
$a = $b
Asigna a $a el contenido de $b
$a += $b
Le suma a $a el contenido de $b
$a -= $b
Le resta a $a el contenido de $b
$a *= $b
$a /= $b
$a .= $b
Concatena $a y $b y se lo asigna a $a
Operadores
Operador
Nombre
Descripcin
$a & $b
$a | $b
$a ^ $b
Xor
~ $a
No
$a << $b Desplazamiento
izquierda
$a >> $b Desplazamiento
derecha
Operadores
Ejemplo 5: salario.php
<html>
<body>
<?php
$SalTrab = 3500;
$Imp = 20; //En trminos de porcentaje 0 - 100
$SueReal = $SalTrab - (($SalTrab / 100) * $Imp);
echo "Sueldo del trabajador sin impuesto: $SalTrab <BR>";
echo "Con el impuesto: $SueReal";
?>
</body>
</html>
Operadores
Ejemplo 6: area.php
<html>
<body>
<?php
$Base = 15;
$Altura = 12;
$Area = ($Base * $Altura) / 2;
printf ("El rea del tringulo es: $Area");
?>
</body>
</html>
Operadores
Ejemplo 7: operacionesbasicas.php
<html>
<body>
<?php
$Num1 = 8;
$Num2 = 5;
echo "Nmero 1 = $Num1 y Nmero 2 = $Num2 <br>";
echo "La suma es: <b> " . ($Num1 + $Num2) . " </b> <br>";
echo "La resta es: <b> " . ($Num1 - $Num2) . " </b> <br>";
echo "La multiplicacin es : <b> " . ($Num1 * $Num2) . "
</b> <br>";
echo "La divisin es: <b> " . ($Num1 / $Num2) . " </b>
<br>";
echo "El mdulo es: <b> " . ($Num1 % $Num2) . " </b>
<br>";
?>
</body>
</html>
Agenda
Estructuras de control
Ifelse
Ifelseifelse
Switchcasedefault
While
Do While
for
Estructuras de Control
ifelse:
Sintaxis
if (condicin){
.
//Este bloque se ejecuta si la condicin es VERDADERA
.
} else {
.
//Este bloque se ejecuta si la condicin es FALSA
.
}
Estructuras de Control
Ejemplo 8: if.php
<?php
$num = 8;
if($num > 3){
echo El nmero $num es mayor que 3;
} else {
echo El nmero $num es menor que 3;
}
?>
Estructuras de Control
ifelseifelse:
Sintaxis
if (condicin){
.
//Este bloque se ejecuta si la condicin es VERDADERA
.
} elseif (condicin) {
.
//Este bloque se ejecuta si la primera condicin es FALSA y la
segunda VERDADERA
.
} else {
.
//Este bloque se ejecuta si ambas son FALSAS
.
}
Estructuras de Control
Ejemplo 9: sisno.php
<?php
if($nombre == ""){
echo "T no tienes nombre";
}elseif(($nombre == "eva") OR ($nombre == "EVA")){
echo "Tu nombre es EVA";
} else {
echo "Tu nombre es $nombre";
}
?>
Estructuras de Control
Switchcasedefault:
Sintaxis
Switch (expresin){
case valor1:
...
break;
case valor2:
...
case valor3:
...
break;
default:
...
break;
}
Estructuras de Control
case "Sbado":
echo "Hoy es Sbado";
break;
case "Domingo":
echo "Hoy es Domingo";
break;
default:
echo "Esa cadena no corresponde a
ningn da de la semana";
}
?>
Estructuras de Control
While:
Sintaxis
while (condicin){
.
//bloque de cdigo que se ejecuta repetidamente
.
}
Estructuras de Control
<?php
$num = 1;
while ($num < 5) {
echo $num;
$num++;
}
?>
Estructuras de Control
Estructuras de Control
Dowhile:
Sintaxis
do {
.
//bloque de cdigo que se ejecuta repetidamente
.
} while (condicin);
Estructuras de Control
<?php
$num = 1;
do {
echo $num;
$num++;
} while ($num < 5);
?>
Estructuras de Control
for:
Sintaxis
for(exp1; exp2; exp3) {
.
//bloque de cdigo que se ejecuta repetidamente
.
}
Estructuras de Control
<?php
for ($num = 1; $num <= 5; $num++) {
echo $num."<BR>";
}
?>
Ejercicios
Agenda
Arreglos y Matrices
Funciones
Instruccin Return
Funciones con parmetros
Funciones variables
Arreglos y Matrices
Sintaxis
$arreglo[0]
$arreglo[1]
$arreglo[2]
$arreglo[3]
...
$arreglo[N]
=
=
=
=
$var;
123;
"Hola";
true;
= valorN;
Arreglos y Matrices
=
=
=
=
$var;
123;
"Hola";
true;
Arreglos no ordenados
$arreglo[5000] = $var;
$arreglo[2] = 123;
$arreglo[85] = "Hola";
$arreglo[40] = true;
Formal no ordenado
$arreglo = array(5000=>$var,2=>123,85=>"Hola",40=>true);
Arreglos y Matrices
Tablas Asociativas
Ejemplo
//contador de visitas por da
$visitas[0] = 200; //0 para lunes
$visitas[1] = 186; //1 para martes
//utilizando tablas asociativas
$visitas["Lunes"] = 200;
$visitas["Martes"] = 186;
//tambin se puede utilizar
$visitas = array("Lunes"=>200,"Martes"=>186);
Arreglos y Matrices
Funcin
Descripcin
current
pos
reset
end
next
prev
count
Arreglos y Matrices
<body>
<?php
$semana = array("lunes","martes","miercoles","jueves",
"viernes","sabado","domingo");
echo count($semana);
//7
//situamos el puntero en el primer elemento
reset($semana);
echo current($semana);
//lunes
next($semana);
echo pos($semana);
//martes
end($semana);
echo pos($semana);
//domingo
prev($semana);
echo current($semana);
//sbado
?>
</body>
</html>
Arreglos y Matrices
Funcion list()
Sintaxis
list($var1,$var2,...,$varN)=array(val1,val2,...,valN);
Arreglos y Matrices
Funcin each()
Arreglos y Matrices
Arreglos multidimensionales
Sintaxis
Arreglos y Matrices
Funciones
Funciones
Instruccin return;
Ejemplo
function mayor($x, $y){
if($x > $y)
return $x . " es mayor que " . $y;
else
return $y . " es mayor que " . $x;
}
Funciones
Pase de Parmetros
Funciones
Ejemplo 18:
<?php
function suma( $x, $y){
$x = $x + 1;
return $x + $y;
}
$a = 1;
$b = 2;
//parmetros por valor
echo suma($a, $b);
//imprimir 4
echo ($a + $b);
//imprimir 1
?>
Funciones
function funcion($var1,$var2=valor){
Ejemplo 20:
<?php
function suma($y, $x=1){
$x = $x + 1;
return $x + $y;
}
?>
Funciones
Variables static
Las variables static se inicializan dentro de una funcin.
La primera vez que es llamada se inicializa y guarda su
valor para prximas llamadas
<?php
function contador(){
static $count=0;
$count += 1;
return $count;
}
echo contador()."<br>"; // imprimira 1
echo contador()."<br>"; // imprimira 2
echo contador()."<br>"; // imprimira 3
?>
Funciones
Variables global
<?php
$a = 1;
function ver_a(){
global $a;
echo $a."<br>"; //imprimir el valor de $a
$a++;
//incrementamos el valor de $a
}
echo ver_a(); // imprimira 1
echo ver_a(); // imprimira 2
$a = 7;
echo ver_a(); // imprimira 7
echo ver_a(); // imprimira 8
?>
Ahorro de cdigo
Principal.php
<?php
include("header.inc");
echo "Hola Mundo";
include("footer.inc");
?>
Header.inc
<html>
<body>
Footer.inc
</body>
</html>
Resultado
<html>
<body>
Hola Mundo
</body>
</html>
Funcin time
long time()
Funcin date
string date(string formato[,int timestamp])
Descripcin
Valores de ejemplo
devueltos
d
D
j
l
01 a 31
Mon a Sun
1 a 31
Sunday a Saturday
0 (para el Domingo) a 6
(para el Sbado)
El da del ao (comenzando en 0)
0 a 365
m
M
n
t
01 a 12
Jan a Dec
1 a 12
28 a 31
Descripcin
Valores de ejemplo
devueltos
Indica si es un ao bisiesto
1 si es un ao bisiesto, 0
de lo contrario.
Ejemplos: 99 o 03
am o pm
AM o PM
000 a 999
1 a 12
0 a 23
01 a 12
00 a 23
00 a 59
00 a 59
Descripcin
Valores de
ejemplo devueltos
1 si es Hora de Ahorro de
Luz Diurna, 0 de lo
contrario.
Ejemplo: +0200
-43200 a 43200
2004-0212T15:19:21+00:00
http://www.php.net/date.php
Ejemplo 21:
date("d-m-Y")
date("H:i:s")
date("Y")
date("YmdHis")
date("d/m/y H:i a")
//retorna
//retorna
//retorna
//retorna
//retorna
07-04-2000
14:30:22
2000
20000407143022
07/04/00 14:30 pm
Funcin mktime
long mktime([hora[,min[,seg[,mes[,dia[,ao]]]]]])
mktime(0,0,0,1,1,1998);
mktime(0,0,0,12,32,1997);
mktime(0,0,0,13,1,1997);
mktime(0,0,0,1,1,98);
//retorna
//retorna
//retorna
//retorna
01/01/1998
01/01/1998
01/01/1998
01/01/1998
Funcin chekdate
int chekdate(mes,dia,ao)
if(checkdate(31,2,2000)){
echo "la fecha es correcta";
} else {
echo "la fecha es incorrecta";
}
Ejemplo 23:
function restarHoras($horaini, $horafin){
$horai = substr($horaini,0,2);
$mini = substr($horaini,3,2);
$segi = substr($horaini,6,2);
$horaf = substr($horafin,0,2);
$minf = substr($horafin,3,2);
$segf = substr($horafin,6,2);
$ini
= (($horai*3600)+($mini*60)+$segi);
$fin
= (($horaf*3600)+($minf*60)+$segf);
$dif
= $fin - $ini;
$difh = floor($dif/3600);
$difm = floor(($dif-($difh*3600))/60);
$difs = $dif-($difm*60)-($difh*3600);
return date("H:i:s",mktime($difh,$difm,$difs));
}
$horaini = "10:05:20";
$horafin = "14:05:20";
echo restarHoras($horaini, $horafin);
//retornar 04:00:00
Funciones de Cadena
Funcin chr
string chr(int ascii);
Funcin ord
int ord(str cadena);
Funciones de Cadena
Funcin strlen
int strlen(string cadena);
Funcin strstr
string strstr(string pajar, string aguja);
Funciones de Cadena
Funcin strcmp
int strcmp(string cadena1, string cadena2);
Funcin trim
string trim(string cadena);
Funciones de Cadena
Funcin substr
string substr(string cadena, int ini [,int long]);
Funcin nl2br
string nl2br(string cadena);
Funciones de Cadena
Funcin strpos
int strpos(string pajar, string aguja[, int desplazamiento]);
Funcin strrchr
string strrchr(string pajar, string aguja);
strrchr("/direccion/del/archivo/archivo.php", "/");
//retorna "/archivo.php"
Ejercicios
Agenda
Formularios
Etiqueta FORM
Cuadro de texto
Cuadro de texto con desplazamiento
Casilla de verificacin
Botn de opcin
Men desplegable
Campo oculto
Formulario completo con su procesamiento por PHP
Formularios
Formularios
<form action="" method="" name="">
campos del formulario
</form>
Formularios
Mtodo GET
www.dominio.com/index.php?var1=valor1&...&varN=valorN
Formularios
Mtodo POST
Los datos son enviados al servidor en la
negociacin entre el cliente y el servidor,
no en el URL
Forma mas segura de enviar informacin
ya que no se muestran al usuario datos
que pueden llegar a ser delicados
Formularios
Formularios
Ejemplo 22:
<form action=pagina.php" method=get" name=formulario">
<input type=text name=var value=valor>
<input type=submit>
</form>
http://www.dominio.com/pagina.php?var=valor
<?php
echo $_GET[var];
?>
//imprimir valor
Formularios
Cuadro de Texto
<input type="text" name="" value="campo ejemplo" />
Formularios
Formularios
Formularios
Formularios
<select name="campo">
<option value="valor1">valor1</option>
<option value="valor2" selected>valor2</option>
</select>
Formularios
Formularios
Campo oculto
<input type="hidden" name="" value="" />
Formularios
Cuadro de Contrasea
<input type="password" name="" size="" />
Formularios
Formularios
Campo File
<input type="file" name="var" value="" size="" />
Manejo de Archivos
Funcin move_uploaded_file
$temp
= $_FILES["var"]["tmp_name"];
$upload = "upload/ . $_FILES["var"]["name"];
if(move_uploaded_file($temp,$upload)){
echo "El archivo ha sido subido con xito";
}
Manejo de Archivos
Funcin fopen
Manejo de Archivos
r
r+
w
w+
a
a+
x
x+
b
Descripcin
Abre el archivo para slo lectura, sita el apuntador al principio
Abre el archivo para lectura y escritura, sita el apuntador al
principio
Abre el archivo para slo escritura, sita el apuntador al principio
y trunca la longitud a cero, si no existe trata de crearlo
Abre el archivo para lectura y escritura, sita el apuntador al
principio y trunca la longitud a cero, si no existe trata de crearlo
Abre el archivo para slo escritura, sita el apuntador al final, si
no existe trata de crearlo
Abre el archivo para lectura y escritura, sita el apuntador al
final, si no existe trata de crearlo
Crea y abre el archivo para slo escritura, sita el apuntador al
principio, si existe devuelve falso, si no existe trata de crearlo
Crea y abre el archivo para lectura y escritura, sita el apuntador
al principio, si existe devuelve falso, si no existe trata de crearlo
Se incluye aparte de las dems letras. Abre el archivo en modo
binario, donde est disponible.
Manejo de Archivos
Funcin fwrite
int fwrite(int apuntador,string datos[,int long])
Funcin fread
string fread(int apuntador,int long)
Manejo de Archivos
Ejemplo 24:
<?php
$apun=fopen("/home/rasmus/archivo.txt", "r");
$apun=fopen("/home/rasmus/archivo.gif", "wb");
$apun=fopen("http://www.example.com/", "r");
$apun=fopen("ftp://log:pass@dom.com/archivo.txt","w");
$apun=fopen("c:\\datos\\info.txt", "r");
?>
Manejo de Archivos
Manejo de Archivos
Manejo de Archivos
Agenda
Conceptos bsicos
Caractersticas Tcnicas de MySQL
Caractersticas principales de MySQL
Cmo obtener MSQL
Instalando MySQL Server
Conectndose y desconectndose al
servidor MySQL desde la consola de DOS
Conceptos bsicos
Base de Datos
Almacn de datos.
Conjunto de datos estructurados.
Base primordial de los sistemas de computacin actuales
Manejo de permisologa
Encriptacin de datos
Amplia documentacin
Amplia gama de tipos de datos
Integridad referencial y verificacin de datos
Manejo de datos de hasta 64 TB
http://www.mysql.com/downloads/index.html
35.2 Mb versin 5.0
Instalacin de MySQL
Descomprimir archivos
Ejecutar instalador
Seguir los pasos
Ejecutar c:\mysql\bin\winmysqladmin.exe
Agenda
phpMyAdmin
Tipo
Bytes Mnimo
TINYINT
1
-128
TINYINT (S/S)
0
SMALLINT
2
-32768
SMALLINT (S/S)
0
MEDIUMINT
3
-8388608
MEDIUMINT (S/S)
0
INT
4
-2147483648
INT (S/S)
0
BIGINT
8
-9223372036854775808
BIGINT (S/S)
0
Mximo
127
255
32767
65535
8388607
16777215
2147483647
4294967295
9223372036854775807
18446744073709551615
Flotantes:
FLOAT(M,D)
REAL(M,D)
Formato
Ejemplo
CHAR Y VARCHAR
Valor
''
'ab'
'abcd'
'abcdefg'
CHAR(4)
'
'
'ab '
'abcd'
'abcd'
Espacio
requerido
4 bytes
4 bytes
4 bytes
4 bytes
VARCHAR(4)
''
'ab'
'abcd'
'abcd'
Espacio
requerido
1 byte
3 bytes
5 bytes
5 bytes
BLOB y TEXT
Tipo
TINYBLOB
BLOB
MEDIUMBLOB
LONGBLOB
Tipo
Capacidad
TINYTEXT
28 = 256 bytes
TEXT
216 = 65536 bytes = 65 Kb
MEDIUMTEXT
224 = 16777216 bytes = 16 Mb
LONGTEXT
232 = 4294967296 bytes = 4 Gb
ENUM
SET
Para Desconectar
mysql> QUIT
Bye
C:\mysql\bin>_
Creacin de Tablas
Ingreso de un registro
Recuperacin de la Informacin
Variaciones:
SELECT * FROM clientes
SELECT * FROM clientes WHERE 1
Modificacin de un Registro
Eliminacin de un Registro
Agenda
26 de jul de 2015