Professional Documents
Culture Documents
Developer
Apache PHP MySQL
Yuri Jose Pando Fernandez
Programacin web
Desarrollo de aplicaciones que se
desplegarn teniendo como cliente a un
browser (navegador).
La aplicacin se ejecutar en el servidor,
recibiendo el cliente, los pantallazos en un
lenguaje comprensible por los
navegadores (html).
En la actualidad, programacin web,
requiere conocer otros lenguajes y/o
conceptos como HTML, Javascript,
DHTML, Ajax, PHP .etc.
Requisitos
Servidor WEB
Apache, IIS, Sambar, Roxen,
etc.
Lenguaje PHP
PHP 5.2.X o PHP 5.3.X (ambos
en vigencia)
Base de Datos
Mysql, PostgreSQL, Ms-SQL,
otras.
Estructura de las
Aplicaciones
Cliente Browser
Pedido de
pgina
Respuesta al cliente
en HTML
Apache
(Entrega HTML al
Browser)
PHP
Programacin para
obtener datos de la
base.
Base de Datos
Preliminares
Revisiones previas a la instalacin de
Apache Web Server
Servicios
localhost
PHP 5.2.0
PHP 5.2.14
PHP 5.3.0
PHP 5.3.3
Apache
Pequeas Teorias
http://www.apache.org
Apache
Programa que convierte a nuestra PC en
servidor WEB, capaz de atender
inicialmente pedidos de pginas HTML.
Producto sobre el cual descanza mas del
50% del contenido web de internet.
Multiplataforma: Windows, Linux
(Origen).
Brinda el servicio a travs del puerto 80,
pero se puede reconfigurar para otros
puertos.
Archivo de configuracin : httpd.conf (se
lee al iniciar apache)
Directorio de publicacin: htdocs (Aqu
debemos colocar los archivos para su
distribucin a los browser de los
clientes)
Algunos Parametros..
Accin
Cambio de Puerto
Parmetro
Listen 80
http://localhost
Listen XX
http://localhost:XX
Options -Indexes
DocumentRoot RUTA
<Directory RUTA> Configuracin adicional
</Directory>
</Directory>
http://localhost/url
Pgina 14
Apache
Instalando..
http://www.apache.org
Instalando Apache
Iniciamos el proceso de instalacin.
Instalando Apache
Instalando Apache
Descripcin de un servidor Apache.
Instalando Apache
Dominio:
php.uni
Server Name:
www.php.uni
Administrador Email:
admin@php.uni
Instalarse como
servicio usando el
puerto 80
Instalando Apache
Instalacin tpica.
Instalando Apache
Nuestro directorio de instalacin
Instalando Apache
Listo, instalando los archivos.
Instalando Apache
Instalacin completa.
Indicador de
estado del
apache
Instalando Apache
Primera prueba de funcionalidad de apache
web server.
Apache 2.2.X
Apache 2.0.x
Instalando Apache
Configurando Apache
Para poder cambiar la carpeta de almacenamiento de
las paginas cambiar en httpd.conf
<Directory c:/webdev>
PHP : (http://www.php.net)
Ventajas
Ventajas de PHP
Lenguaje multiplataforma.
Completamente orientado al desarrollo de aplicaciones web dinmicas.
El cdigo fuente es invisible para el navegador y el cliente, ya que se
ejecuta y el resultado HTML es enviado al browser.
Capacidad de conexin a mltiples bases de datos.
Capacidad de expansin a nivel de mdulos.
Es libre, opensource.
Permite tcnicas de Programacin Orientada a Objetos (POO).
No requiere definicin de tipos de variable.
Tiene manejo de excepciones.
Se integra con patrn de diseo MVC.
Paquetes Instaladores
Instalacin - PHP
Procedemos a descomprimir el PHP y renombrar.
Configurando PHP
Creamos una copia del archivo php.inidevelopment (php.ini- recomended), dndole
por nombre php.ini.
Que
es
el
PHP.INI
El archivo php.ini es el que contiene nuestra configuracin
Configurando PHP
Copie todas las DLL al directorio de sistema de
Windows. En el caso de Windows NT o 2000 se
encuentra en C:\winnt\system32 y en windows
Xp, en C:\windows\system32
Copie el archivo php.ini recommended al
%System-Root, que normalmente se
encuentra en c:\winnt o c:\winnt40 en
windows nt o 2000 o en c:\windows en
windows Xp. Y luego cambie su nombre por
php.ini
Modificando el PHP.ini
Modificando el PHP.ini
Para activar las extensiones basta con
eliminar el punto y coma, para lo cual
activar las extenciones: php_fdf.dll,
php_gd2.dll, php_imap.dll,
php_mysql.dll, php_mysqli.dll.
extension=php_mysqli.dll
Cierre y guarde los cambios de php.ini
Reinicie el Servidor Apache
Realizando Pruebas
Abrimos nuestro Editor de texto y
escribimos lo siguiente
Realizando Pruebas
Demo
Yuri Jos Pando Fernndez
Variables
Una variable es un contenedor de informacin, en el
que podemos meter nmeros enteros, nmeros
decimales, carcteres... el contenido de las variables
se puede leer y se puede cambiar durante la ejecucin
de una pgina PHP.
En PHP todas las variables comienzan con el smbolo
del dlar $ y no es necesario definir una variable antes
de usarla. Tampoco tienen tipos, es decir que una
misma variable puede contener un nmero y luego
puede contener carcteres.
Constantes
Son valores que se mantienen, no cambian a
Operadores Aritmeticos
Los operadores de PHP son muy parecidos a los de C y JavaScript, si
usted conoce estos lenguajes le resultaran familiares y fciles de
reconocer. Estos son los operadores que se pueden aplicar a las
variables y constantes numricas.
Operador
Nombre
Ejemplo
Descripcin
Suma
5 + 6
Resta
7 - 9
Multiplic
acin
6 * 3
Divisin
4 / 8
Mdulo
7 % 2
++
Suma 1
$a++
--
Resta 1
$a--
Descomposicin de
<?php
Nmeros
$num = 345;
echo $num."<br>";
$cent = floor($num / 100);
$resto = $num % 100;
$dece = floor($resto/10);
$unid = $resto % 10;
$res = ($unid * 100) + ($dece * 10) + $cent;
echo "El numero a la Inversa es ".$res;
?>
Operadores de
Los operadores de comparacin son usados
Comparacin
para comparar valores y as poder tomar
decisiones.
Operador Nombre
Ejemplo
Devuelve cierto
cuando:
==
Igual
$a == $b
$a es igual $b
!=
Distinto
$a != $b
$a es distinto $b
<
Menor que
$a < $b
$a es menor que $b
>
Mayor que
$a > $b
$a es mayor que $b
<=
Menor o igual
$a <= $b
>=
Mayor o igual
$a >= $b
Operadores Lgicos
Operador
Nombre
Ejemplo
&&
(7>2) &&
(2<4)
and
(7>2) and
(2<4)
||
(7>2) ||
(2<4)
or
(7>2) or
(2<4)
No
! (7>2)
Sentencias Condicionales
Sentencia Simple
Sentencia if ... Else
<?php
if (condicin)
condicin es cierta. }
else
condicin es falsa. }
?>
Demo
1
---<html>
<head>
Condiconal1.php
<title>Ejemplo de PHP</title>
</head>
<body>
<?php
$a = 8;
$b = 3;
if ($a < $b)
{
echo "a es menor que b";
}
else
{
echo "a no es menor que b";
}
?>
</body>
</html>
Demo 2
<?php
Condicionales2.php
$edad = 19;
//if simple
if($edad>18)
{ echo "La Edad ".$edad." es Mayor de 18
aos<br>"; }
//if compuesto
if($edad>18)
{ echo "La Edad ".$edad." es Mayor de 18
aos<br>"; }
else
{ echo "La Edad ".$edad." es Menor de 18
aos<br>"; }
//if anidado
if($edad>18)
{ echo "La Edad ".$edad." es Mayor de 18
aos<br>"; }
elseif ($edad==18)
{ echo "La Edad ".$edad." es Igual a 18
Demo 3 Condicional2.php
<?php
//Se pide definir un mensaje de una nota dependiendo de la
sig. tabla:
// 0 - 5 --->Muy malo
6 - 10 ---> Malo
// 11 - 15 ---> Regular
16 - 20 ---> Bueno
$nota =5;
if (($nota>=0) && ($nota<=20))
{
if ($nota>=0 && $nota<=5)
echo "Su Nota es ".$nota." es Muy Mala";
elseif ($nota>=6 && $nota<=10)
echo "Su Nota es ".$nota." es Mala";
elseif ($nota>=11 && $nota<=15)
echo "Su Nota es ".$nota." es Regular";
elseif ($nota>=16 && $nota<=20)
echo "Su Nota es ".$nota." es Buena";
}
else
echo "la nota ".$nota." Ingresada esta fuera de Rango";
?>
Cond_Multiple1.php
Sentencia Compuesta
Sentencia SwitchCase
<html>
<head>
<title>Ejemplo de PHP</title>
</head>
<body>
<?php
$posicion = "arriba";
switch($posicion) {
case "arriba":// Bloque 1
echo "La variable contiene";
echo " el valor arriba";
break;
case "abajo":// Bloque 2
echo "La variable contiene";
echo " el valor abajo";
break;
default:// Bloque 3
echo "La variable contiene otro valor";
echo " distinto de arriba y abajo";
}
?>
</body>
</html>
Cond_Multiple2.php
<?php
$dia_num = 5;
switch ($dia_num){
case 1 : echo "Da Lunes <br>";break;
case 2 : echo "Da Martes <br>";break;
case 3 : echo "Dia Mircoles <br>";break;
case 4 : echo "Dia Jueves <br>";break;
case 5 : echo "Dia Viernes <br>";break;
case 6 : echo "Dia Sbado <br>";break;
case 7 : echo "Dia Domingo <br>";break;
default : echo "Fuera de Rango";
}
?>
Problema Planteado
- Ximena ha cobrado su sueldo de fin de mes,
del cual
tiene que pagar las sig. deudas:
12% Ripley, saga y metro
14% luz, agua, telfono
20% separa para comida y pasaje
150 soles le da entrega su mama
250 soles es la deuda de un crdito que paga
al
banco
- Su Hermano Jose, le dice que si su saldo del
sueldo es menor a 450 soles, le entregara
300 soles de
ayuda, Cuando le quedara de saldo a Ftima
Respuesta
<?php
Calculos.php(Parte
1)
echo "<table border=1>";
//carga de datos de sueldo
echo "<tr><td colspan=2>Calculo de Sueldo </td></tr>";
$sueldo = 1330;
echo "<tr><td>Sueldo fatima</td><td>".
$sueldo."</td></tr>";
echo "<tr><td colspan=2>Descuentos </td></tr>";
//descuentos
$desc1 = 0.12 * $sueldo;
$desc2 = 0.14 * $sueldo;
$desc3 = 0.2 * $sueldo;
$desc4 = 150;
$desc5 = 250;
echo "<tr><td>Ripley,Saga,Metros </td><td>".
$desc1."</td></tr>";
echo "<tr><td>Luz,Agua,Fono</td><td>".
$desc2."</td></tr>";
echo "<tr><td>Comida y Pasaje</td><td>".
Respuesta
//hallamos el SubTotal
Calculos.php(Parte
2)
$subTotal = $sueldo -($desc1 + $desc2 + $desc3 +
$desc4 +$desc5);
echo "<tr><td>Sub Total</td><td>".
$subTotal."</td></tr>";
//trabajando con el apoyo del hermano
echo "<tr><td
colspan=2>=====================</td></tr>
";
$apoyo = 0;
if ($subTotal < 450)
{ $apoyo=300; }
echo "<tr><td>Apoyo de Andre</td><td>".
$apoyo."</td></tr>";
echo "<tr><td
colspan=2>=====================</td></tr>
";
Bucles Sentencias
Los bucles nos permiten iterar conjuntos de
Repetitivas
instrucciones, es decir repetir la ejecucin
de un conjunto de instrucciones mientras se
cumpla una condicin.
Sentencia While
<?php
while (condicin)
{
intrucciones a ejecutar.
}
?>
Sentencia For
<?php
for (inicial ; condicin ; ejecutar en
iteracin)
{
intrucciones a ejecutar.
}
?>
Ejemplos Propuestos
Elabore un programa que me
muestre todos los numeros de 3
cifras, que cumplan las siguientes
condiciones:
1. Su primera cifra debe de ser multiplo
de 2
2. Su segunda cifra debe de ser
multiplo de 3
3. Las 3 cifras deben de ser diferentes
entre si.
Salida
Hasta ahora hemos usado la
instruccin echo para realizar salida a
pantalla, esta instruccin es bastante
limitada ya que no nos permite
formatear la salida. En esta pgina
veremos la instruccin printf que nos
da mucha ms potencia.
Sentencia printf
<?php
printf(cadena formato, variable1, variable2...);
Salida
Elemento
Tipo de variable
%s
Cadena de carcteres.
%d
%f
%c
Carcter ASCII.
Manejo de Cadenas
Dado el uso del lenguaje PHP el
tratamiento de cadenas es muy
importante, existen bastantes
funciones para el manejo de cadenas,
a continuacin explicaremos las ms
usadas.
Manejo de cadenas
strlen(cadena). Nos devuelve el nmero de
carcteres de una cadena.
split(separador,cadena). Divide una
cadena en varias usando un carcter
separador.
sprintf(cadena de formato, var1,
var2...). Formatea una cadena de texto al
igual que printf pero el resultado es devuelto
como una cadena.
substr(cadena, inicio, longitud).
Devuelve una subcadena de otra,
empezando por inicio y de longitud longitud.
chop(cadena). Elimina los saltos de lnea y
los espacios finales de una cadena.
strpos(cadena1, cadena2). Busca la
cadena2 dentro de cadena1 indicndonos la
posicin en la que se encuentra.
<?php
echo "Funciones de Cadena<br>";
$cad="ABCDE"; echo "STRLEN<br>";
echo "La Cadena es ".$cad." su Longitud es
".strlen($cad)."<br>"; echo "SPRINTF<br>";
$res = sprintf("8x5 = %d <br>",8*5);
echo "El resultado de la variables es ".$res."<br>";
echo "SUBSTR<br>"; $cad = "Devuelve una subcadena
de otra";
echo "Cadena 1 -> ".$cad;
echo "Recuperar Pos 9, Car 3>".substr($cad,9,3)."<br>";
echo "STRPOS<br>";
$cad = "Busca la palabra dentro de la frase";echo
$cad."<br>";
echo "Buscando la 'palabra' en
Pos.".strpos($cad,"palabra"),"<br>"; echo
"STR_REPLACE<br>";
$cad = "Un pez de color verde, como verde es la
hierba.";
echo "Cadena Original ->".$cad."<br>";
Tablas
Las tablas (o array en ingls), son
muy importantes en PHP, ya que
generalmente, las funciones que
devuelven varios valores, como las
funciones ligadas a las bases de
datos, lo hacen en forma de tabla.
En PHP disponemos de dos tipos de
tablas. El primero sera el clsico,
utilizando ndices:
Demo - Tabla1.php
<?php
$ciudad[]
$ciudad[]
$ciudad[]
$ciudad[]
$ciudad[]
$ciudad[]
=
=
=
=
=
=
"Arequipa";
"Piura";
"Lima";
"Ica";
"Tacna";
"Loreto";
for($indice=0;$indice<=5;$indice++)
print ("La Ciudad ".$indice." es ".$ciudad[$indice].
"<BR>");
?>
Tablas
El ejemplo anterior es una forma de
asignar elementos a una tabla, pero
una forma ms formal es utilizando la
funcin array
<?php
$ciudad = array("Arequipa", "Piura", "Lima",
"Ica");
//contamos el nmero de elementos de la tabla
$numelementos = count($ciudad);
//imprimimos todos los elementos de la tabla
for ($i=0; $i < $numelementos; $i++)
{ print ("La ciudad $i es $ciudad[$i]
<BR>\n"); }
Demo Tabla3.php
<html>
<body>
<?php
$a[0] = "pepe;$a[1] = "luis";
$frutas = array("a"=>"naranja", "b"=>"pltano",
"c"=>"manzana");
?><hr>
<?php
for ($i=0; $i<sizeof($a); $i++)
print "\$a[$i] => $a[$i].<br>\n";
$frutas["d"] = "meln";
foreach($frutas as $indice => $valor)
echo "\$frutas[$indice] => $valor.<br>\n";
?><hr>
</body>
</html>
Tablas
Recorrer una tabla y mostrar su
contenido es sencillo utilizando los
ndices, pero cmo hacerlo en las
tablas asociativas?. La manipulacin
de las tabas asociativas se a hace
travs de funciones que actan sobre
un puntero interno queindica la
posicin. Por defecto, el puntero se
situa en el primer elemento aadido
en la tabla, hasta que es movido por
una funcin:
Tablas
Current-devuelve el valor del elemento
que indica el puntero.
Pos - realiza la misma funcin que
current.
Reset- mueve el puntero al primer
elemento de la tabla.
End - mueve el puntero al ltimo
elemento de la tabla.
Next- mueve el puntero al elemento
siguiente.
Prev- mueve el puntero al elemento
anterior.
Count &n- devuelve el nmero de
elementos de una tabla.
Demo - Tabla3.php
<?php
$semana =
array("Lunes","Martes","Mircoles","Jueves","Viernes",
"Sabado","Domingo");
for($i=0;$i<count($semana);$i++)
print ("Dia $i es $semana[$i]<BR>");
echo "--------------------------------------------<br>" ;
echo "La cantidad de Dias es ".count($semana)."<br>"; //7
//situamos el puntero en el primer elemento
echo "Ubicamos el puntero al Inicio <br>"; reset($semana);
echo "El Valor Actual es ".current($semana)."<br>"; //lunes
echo "Avanzamos en una Posicion<br>"; next($semana);
echo "El Valor Actual es ".pos($semana)."<br>"; //martes
echo "Nos Vamos al Final de la Arrays<br>";
end($semana);
echo "El Valor Actual es ".pos($semana)."<br>"; //domingo
echo "Retrocedemos en una Posicion<br>";
prev($semana);
echo "El Valor Actual es ".current($semana)."<br>"; //sbado
?>
Funciones
El uso de funciones nos da la capacidad de
agrupar varias instrucciones bajo un solo
nombre y poder llamarlas a estas varias
veces desde diferentes sitios,
ahorrndonos la necesidad de escribirlas
de nuevo.
Sintaxis
<?php
function Nombre(parametro1,
parametro2...)
{
instruccin1;
instruccin2;
instruccin3;
instruccin4;
return valor_de_retorno;
}
Funciones
<?php
function fact ($n)
{ $result = 1;
for ($i=1; $i <= $n; $i++)
$result *= $i;
return $result; }
?>
<html>
<body> <hr>
<?php
echo "Factorial de 10: ";
?><hr> </body> </html>
print fact(10);
Demo Funcion2.php
<?php
function imprime($texto) {
echo $texto . <br>";
}
function imprimeNegrilla($texto){
echo "<B>$texto</B><br>";
}
$MiFunc = "imprime";
$MiFunc("Hola"); //imprimir Hola
$MiFunc = "imprimeNegrilla";
$MiFunc("Hola"); //imprimir Hola
?>
Demo Funcion3.php
<html>
<head>
<title>funcion 3</title>
</head>
<body>
<?
function escribe_separa($cadena){
for ($i=0;$i<strlen($cadena);$i++){
echo $cadena[$i];
if ($i<strlen($cadena)-1)
echo "-";
}
}
escribe_separa ("hola");
echo "<p>";
escribe_separa ("Texto ms largo, a ver lo que hace");
?>
</body>
</html>