Download - PHP Tutorial DAAD3
PHP es un lenguaje de servidor
Que es PHP y MySQL?
Un lenguaje de servidor se ejecuta en el servidor donde están alojadas las paginas web, al contrario de otros lenguajes que se ejecutan en el propio navegador.
3Instituto tecnológico de Parral
Al ejecutarse el código en el servidor, la paginas pueden ser vistas en cualquier computadora, independientemente del navegador que tenga,
PHP es gratuito, y se utiliza sin ningún costo a diferencia de otro software de su tipo que requiere licencia.
4Instituto tecnológico de Parral
PC
SERVIDOR WEB
WEBINTERPRETA EL CODIGO PHP Y ENVIA EL CODIGO NECESARIO PARA MOSTRARSE EN EL NAVEGADOR
ENVIA LA PAGINA WEB, LISTA PARA MOSTRARSE EN CUALQUIER NAVEGADOR 5Instituto tecnológico de Parral
MySQL es, la base de datos elegida por la gran mayoría de los programadores en PHP.
Soporta el lenguaje SQL y la conexión de varios usuarios, pero en general se utiliza en aplicaciones de tamaño pequeño-medio.
Al igual que PHP es una base de datos gratuita. 6Instituto tecnológico de Parral
Configuración del software necesario
¿Que necesitamos?
Para realizar pruebas y para ver las paginas que creamos es necesario tener un servidor web.
Para ello utilizaremos el servidor Apache, considerado uno de los mas populares y mejores actualmente.
7Instituto tecnológico de Parral
Software PHP versión 4.3.4
Como servidor Apache utilizaremos la versión 1.3.29
La base de datos MySQL usaremos la 5.0
8Instituto tecnológico de Parral
Este software está disponible en las paginas web:
• http://www.php.net
• http://www.apache.org
• http://www.mysql.com
9Instituto tecnológico de Parral
LA PLATAFORMA SERVIDORA
Servidor de paginas web (apache)
Interprete de PHP 5
Servidor de bases de datos (MySQL)
Servidor de correo electronico (Argo mail server)
Servidor de FTP (CesarFTP)
10Instituto tecnológico de Parral
CONFIGURANDO EL SERVIDOR APACHE
Se abre la carpeta “AppServ”, dentro hay una carpeta llamada “Apache”, se abre
Dentro de la carpeta “Apache” hay otra llamada “conf”, abrir.
Dentro hay un archivo llamado http.conf. Abrir con editor de texto plano.
Buscar una línea que inicia con DocumentRoot ( la que inicia sin #)
18Instituto tecnológico de Parral
DocumentRoot “c:/AppServ/www”
A continuación, un poco más abajo esta una línea que empieza <Directory />
Modificarla: <Directory “c/AppServ/www”>
Ahora buscar una línea que inicia con ServerName modificarla como ServerName localhost
CONFIGURANDO EL SERVIDOR APACHE
19Instituto tecnológico de Parral
COMPROBANDO EL FUNCIONAMIENTO DEL SERVIDOR APACHE
<html> <body> Apache Funcionando. </body> </html>
20Instituto tecnológico de Parral
pruebaApache.htm
COMPROBANDO EL FUNCIONAMIENTO DEL INTERPRETE PHP 5
<?php phpinfo();?>
21Instituto tecnológico de Parral
pruebaPHP.php
INSTALANDO SERVIDOR DE CORREO
Se va a utilizar el Argo Mail Server:
(http://argosoft.com/files/apps/agsmail.exe)
22Instituto tecnológico de Parral
INSTALANDO EL SERVIDOR FTP
Se va a utilizar el CesarFTP:
(http://www.aclogic.com)
35Instituto tecnológico de Parral
55
<html><body><?php
echo ("Mi primera página en PHP.");?></body>
</html>
PROGRAMACION EN PHP
Instituto tecnológico de Parral
start.php
56
<html><body><?php
echo ("Mi primera página en PHP.")echo ("En realidad es la segunda.");
?></body>
</html>
PROGRAMACION EN PHP
Instituto tecnológico de Parral
INICIALIZACION DE LAS VARIABLES
html><body>
<?php$edad = 38;$nombre = “Arturo";$clave = "miClaveDeAcceso";echo ($edad);
?><br><?php
echo ($nombre);?><br><?php
echo ($clave);?>
</body></html> 57Instituto tecnológico de Parral
start2.php
html><body>
38 <br>Arturo <br>miClaveDeAcceso <br>
</body></html>
CODIGO EN EL NAVEGADOR
58Instituto tecnológico de Parral
html><body>
<?php$edad = 38;$nombre = “Arturo";$clave = "miClaveDeAcceso";echo ($edad);echo ("<BR>");echo ($nombre);echo ("<BR>");echo ($clave);
?></body>
</html>
CODIGO HTML Y PHP
59Instituto tecnológico de Parral
tres.php
<html><body>
<?php$edad = 38;$nombre = “Arturo";$clave = "miClaveDeAcceso";echo ($edad."<BR>");echo ($nombre."<BR>");echo ($clave);
?></body>
</html>
CODIGO HTML Y PHP
60Instituto tecnológico de Parral
cuatro.php
NOMBRES DE LAS VARIABLES
<html><body>
<?php$nombre = “Armando";$Nombre = "Eva";echo ($nombre."<BR>");echo ($Nombre);
?></body>
</html>
62Instituto tecnológico de Parral
NOMBRE EVALUACION
$miNombre Correcto
$minombre Incorrecto
miNombre Incorrecto
$nombre_de_4_usuarios Correcto
$4usuarios Incorrecto
$los.nombres.de.todos Incorrecto
$nombreDeLasNiñas Incorrecto
$echo Incorrecto
$Variable_1 Correcto (no aconsejable)
63Instituto tecnológico de Parral
GESTION BÁSICA DE DATOS
<?php$operando1=8;$operando2=3;$suma=$operando1+$operando2;$resta=$operando1-$operando2;$producto=$operando1*$operando2;$cociente=$operando1/$operando2;$modulo=$operando1%$operando2;echo ("Valor 1: ".$operando1."<BR>");echo ("Valor 2: ".$operando2."<BR>");echo ("Suma:".$suma."<BR>");echo ("Resta: ".$resta."<BR>");echo ("Producto: ".$producto."<BR>");echo ("Cociente: ".$cociente."<BR>");echo ("Resto de la división: ".$modulo."<BR>");echo ("Incremento de operando1: ".++$operando1."<BR>");echo ("Decremento de operando2: ".--$operando2);
?>
operando.php
64Instituto tecnológico de Parral
Incremento
Decremento
Pre incremento
Pre decremento
Post incremento
Post decremento
65Instituto tecnológico de Parral
TIPO DESCRIPCION
integer Numerico enteros
double Numerico con decimales
string Cadenas alfanumericas
boolean Verdadero/falso
array Arreglos de matrices
object Objetos del tipo POO
class Moldes de objetos
Unknouwn type Tipo desconocido
NULL Sin valor alguno
TIPOS DE DATOS
66Instituto tecnológico de Parral
gettype(); CONOCER EL TIPO DE DATO<html> <body> <?php
echo ("El tipo de la variable_1 es: ".gettype($variable_1)."<BR>");
$variable_2 = 3;echo ("La variable_2 vale: ".$variable_2." y su tipo es:
".gettype($variable_2)."<BR>");
$variable_3 = 359483.0928498038925;echo ("La variable_3 vale: ". $variable_3." y su tipo es:
".gettype($variable_3)."<BR>");
$variable_4 = "Esto es una cadena";echo ("La variable_4 vale: <b>".$variable_4."</b> y su
tipo es: ".gettype($variable_4)."<BR>");?>
</body></html>
tipo.php
67Instituto tecnológico de Parral
<?php$variable_1=359425634535554334543873.0928498038925;
echo ("La variable_1 vale: ".$variable_1." y su tipo es:”.gettype($variable_1)."<BR>");
settype ($variable_1,"integer");echo ("Ahora la variable_1 vale: ".$variable_1." y su nuevo tipo
es: ".gettype($variable_1)."<BR>");?>
settype(); CAMBIAR EL TIPO DE DATO
cambio.php
68Instituto tecnológico de Parral
settype(); CAMBIAR EL TIPO DE DATO
<?php
$variable_1=359425634535554334543873.0928498038925;echo ("La variable_1 vale: ".$variable_1." y su tipo es:
".gettype($variable_1)."<BR>");settype ($variable_1,"string");echo ("Ahora la variable_1 vale: ".$variable_1." y su
nuevo tipo es: ".gettype($variable_1)."<BR>");?>
cambio2.php
69Instituto tecnológico de Parral
settype(); CAMBIAR EL TIPO DE DATO
<?php$variable_1="0345";echo ("La variable_1 vale: ".$variable_1." y su tipo es:
".gettype($variable_1)."<BR>");settype ($variable_1,"double");echo ("Ahora la variable_1 vale: ".$variable_1." y su
nuevo tipo es: ".gettype($variable_1)."<BR>");?>
cambio3.php
70Instituto tecnológico de Parral
casting - CAMBIAR EL TIPO DE DATO
<?php$numero=3402.34;echo ("La variable vale: ".$numero.", y es de tipo: ".gettype
($numero)."<br>");$numero=(int)($numero);echo ("Ahora vale: $numero, y es de tipo: ".gettype
($numero)."<br>");?>
casting.php
71Instituto tecnológico de Parral
EXPANSION DE VARIABLES
<?php$variable_1="HOLA";echo ("La variable_1 vale: $variable_1");
?>
<?php$variable_1="HOLA";echo ('La variable_1 vale: $variable_1');
?>
Comilla simple
72Instituto tecnológico de Parral
<?php$variable_1="HOLA";echo ('La variable_1 vale: \$variable_1');
?>
Escapar un caracter
$cadena=“aquí hay alguien que dice “Hola”.”;
$cadena=“aquí hay alguien que dice \“Hola\”.”;
$cadena=“aquí hay alguien que dice ’Hola’.”;
$cadena=’aquí hay alguien que dice “Hola”.’;
73Instituto tecnológico de Parral
Variables de variables (código dinámico)
<?php$saludo="Hola, amigo";$saludoParaMostrar="saludo";echo ($$saludoParaMostrar."<br>");$saludo="Hi, fellow";echo ($$saludoParaMostrar."<br>");
?>
vardin.php
74Instituto tecnológico de Parral
Constantes
<?phpdefine ("Pi", 3.1415927);echo ("El valor de Pi es: ".Pi);
?>
echo(defined ("Pi”));
define (“color establecido”, “#FF0000”);
<?phpecho (“<font color”.colorEstablecido.”>”);
?>75Instituto tecnológico de Parral
Matrices
Almacenar variables diferentes, con distintos valores.
nombreMatriz [indice 1] [indice 2].. [indice n] = valor
Hay dos tipos:
Indexadas – el índice es un valor numérico
Asociativas – los índices son cadenas de texto
76Instituto tecnológico de Parral
<?php$nombres = array ("Pedro", "Ana", "Carmen",
"Alfredo", "Eva");echo ($nombres[0]."<BR>");echo ($nombres[1]."<BR>");echo ($nombres[2]."<BR>");echo ($nombres[3]."<BR>");echo ($nombres[4]."<BR>");
?>
Crear matrices indexadas
77Instituto tecnológico de Parral
<?php$nombres = array ("Pedro", "Ana", 34, True);echo ($nombres[0]."<BR>");echo ($nombres[1]."<BR>");echo ($nombres[2]."<BR>");echo ($nombres[3]."<BR>");
?>
Crear matrices indexadas (diferentes tipos de datos)
78Instituto tecnológico de Parral
<?php$nombres = array ("Pedro", "Ana", "Carmen", "Alfredo",
"Eva");echo ($nombres[0]."<BR>");echo ($nombres[1]."<BR>");echo ($nombres[2]."<BR>");echo ($nombres[3]."<BR>");echo ($nombres[4]."<BR>");$nombres[5]="Susana";echo ($nombres[5]."<BR>");
?>
Nuevo elemento
$nombres[]="Susana";79Instituto tecnológico de Parral
<?php$nombres = array ("Pedro", "Ana", "Carmen", "Alfredo", "Eva");$indice=2;echo ($nombres[$indice]."<BR>");
?>
Situar índice
80Instituto tecnológico de Parral
<?php$nombres = array (1=>"Pedro", "Ana", "Carmen", "Alfredo", "Eva");echo ($nombres[1]."<BR>");echo ($nombres[2]."<BR>");echo ($nombres[3]."<BR>");echo ($nombres[4]."<BR>");echo ($nombres[5]."<BR>");
?>
Cambiar indice
$nombres = array (1=>"Pedro", "Ana", 50=>"Carmen", "Alfredo", "Eva");
Índices 1, 2, 50, 51 y 52 $nombre[34] = “Sonia”;
81Instituto tecnológico de Parral
<?php$amigo = array ("nombre"=>"Pedro Torres",
"direccion"=>“Stanton, 37", "telefono"=>123456789);
echo ($amigo["nombre"]."<BR>");echo ($amigo["direccion"]."<BR>");echo ($amigo["telefono"]."<BR>");
?>
Matrices asociativas
82Instituto tecnológico de Parral
<?php$edad=34;if ($edad > 18) {
echo ("El usuario es mayor de edad.");}if ($edad > 65) {
echo ("El usuario está jubilado.");}
?>
Condicional simple
84Instituto tecnológico de Parral
Operadores
operador operación sintaxis Resultado
+ Suma $x + $z 12
- Resta $x - $z 4
* Multiplicación $x * $z 32
/ División $x / $z 2
% Modulo $x % $z 0
++ Incremento $x++ 9
-- decremento $z-- 3
$x = 8
$z = 4
85Instituto tecnológico de Parral
Operadores de comparación
operador operación
== igual
=== idéntico
!= diferente
< Menor que
> Mayor que
<= Menor o igual
>= Mayor o igual
86Instituto tecnológico de Parral
<?php$edad=17;if ($edad > 18) {
echo ("El usuario es mayor de edad.");} else {
echo ("El usuario NO es mayor de edad.");}
?>
Condicional else
87Instituto tecnológico de Parral
<?php$edad=32;if ($edad>18 && $edad<66) {
echo ("El usuario está en edad laboral.");} else {
echo ("El usuario NO está en edad laboral.");}
?>
Condicional and
88Instituto tecnológico de Parral
?php$edad=32;if ($edad<=10) {
echo ("El usuario tiene de 0 a 10 años.");} elseif ($edad<=20) {
echo ("El usuario tiene de 11 a 20 años.");} elseif ($edad<=30) {
echo ("El usuario tiene de 21 a 30 años.");} elseif ($edad<=40) {
echo ("El usuario tiene de 31 a 40 años.");} elseif ($edad<=50) {
echo ("El usuario tiene de 41 a 50 años.");} elseif ($edad<=60) {
echo ("El usuario tiene de 51 a 60 años.");} elseif ($edad<=70) {
echo ("El usuario tiene de 61 a 70 años.");} elseif ($edad<=80) {
echo ("El usuario tiene de 71 a 80 años.");} elseif ($edad<=90) {
echo ("El usuario tiene de 81 a 90 años.");} else {
echo ("El usuario tiene de más de 90 años.");}
?>
Uso del elseif
89Instituto tecnológico de Parral
<?php$pais="ITALIA";switch ($pais){
case "INGLATERRA":echo ("El usuario es inglés.");break;
case "ALEMANIA":echo ("El usuario es alemán.");break;
case "ITALIA":echo ("El usuario es italiano.");break;
case "ESPAÑA":echo ("El usuario es español.");break;
case "FRANCIA":echo ("El usuario es francés.");break;
default:echo ("El usuario es de una nacionalidad no
especificada en la lista.");break;
}?>
Uso del switch (conmutador)
90Instituto tecnológico de Parral
<?phpfor ($varCon=1; $varCon<=10; $varCon++) {
echo ($varCon."<br>");}
?>
Bucles mediante condicion numerica
93Instituto tecnológico de Parral
<?phpfor ($varCon=10;$varCon>=1;$varCon--) {
echo ($varCon."<br>");}
?>
Bucles for descendente
94Instituto tecnológico de Parral
Cambio de paso
<?phpfor
($varCon=10;$varCon>=1;$varCon-=2) {echo ($varCon."<br>");
}?>
95Instituto tecnológico de Parral
Matriz con for
<?php//Se crea la matriz.
$nombres=array ("Pedro", "Ismael", "Sonia", "Clara", "Susana", "Alfonso", "Teresa");//Se determina el número de elementos de la matriz.
$elementos=count ($nombres);//Un bucle lleva la cuenta hasta que se recorren todos los elementos.
for ($varCon=0;$varCon<$elementos;$varCon++) {echo ($nombres[$varCon]."<br>");
}?>
96Instituto tecnológico de Parral
Bucles anidados
<?phpfor ($piso=1;$piso<=5;$piso++) {
for ($puerta=1;$puerta<=4;$puerta++) {echo ("Piso: $piso. - Puerta: $puerta.<br>");}
}?>
97Instituto tecnológico de Parral
Bucle condicionado (while)
<?php$ciudades=array("Madrid", "Barcelona", "Londres",
"New York", "Los Angeles", "Chicago");$ciudad="";$indice=0;while ($ciudad!="Londres") {
$ciudad=$ciudades[$indice];echo ($ciudad."<br>");$indice++;
}echo ("Final de la ejecución.");
?>
98Instituto tecnológico de Parral
foreach
<?php$ciudades=array("Madrid", "Barcelona", "Londres",
"New York", "Los Angeles", "Chicago");foreach ($ciudades as $clave => $valor){
echo ("La ciudad con el índice $clave tiene el nombre $valor. <br>");
}echo ("Final de la ejecución.");
?>
99Instituto tecnológico de Parral
FORMULARIOS
Envio de datos desde un formulario
<html><head></head><body>
<form name="f_prof" id="f_prof" action="elegirSector.php" method="post">
Elija un sector:<select name="sector" id="sector">
<option value="0">Electricistas</option><option value="1">Fontaneros</option><option value="2">Transportistas</option><option value="3">Aseguradores</option>
</select><input type="submit" value="ENVIAR" name="ok" id="ok">
</form></body>
</html>
elegirSector.htm
100Instituto tecnológico de Parral
<?php
$sectores=array("Electricistas","Fontaneros","Transportistas","Aseguradores");
echo ("La opción elegida es: $sector<br>");echo ("La profesión correspondiente es:
$sectores[$sector].");?>
elegirSector.php
101Instituto tecnológico de Parral
<?phpecho ("El nombre tecleado es: '$nombre'<br>");echo ("El estado soltero es: '$soltero'<br>");echo ("Su rango de edad es: '$edad'<br>");echo ("El campo oculto vale: '$datoOculto'<br>");
?>
formularioSimple.php
103Instituto tecnológico de Parral
Enviando archivos
<html><head></head><body><form action="enviarFichero.php" method="post" name="f_prof" id="f_prof" enctype="multipart/form-data">
Fichero:<input type="file" name="fichero" id="fichero"><input type="submit" value="ENVIAR" name="ok" id="ok"></form></body>
</html>
enviarFichero.htm
104Instituto tecnológico de Parral
<?php foreach ($_FILES["fichero"] as $clave => $valor){
echo ("Propiedad: $clave ---- Valor: $valor<br>");}
?>
enviarFichero.php
105Instituto tecnológico de Parral
Limitando el tamaño del archivo
<html><head></head><body><form action="enviarFichero.php" method="post" name="f_prof" id="f_prof" enctype="multipart/form-data">
Fichero:<input type="hidden" name="MAX_FILE_SIZE"
value="10240"><input type="file" name="fichero" id="fichero"><inputtype="submit" value="ENVIAR" name="ok"
id="ok"></form></body>
</html>
ficheroMaximo.htm
106Instituto tecnológico de Parral
<html> <body> <form action="multiplesArchivos.php" method="post" enctype="multipart/form-data">
<input name="archivos[]" type="file"> <input name="archivos[]" type="file"><br> <input name="archivos[]" type="file"> <input name="archivos[]" type="file"><br> <input type="submit" value="Enviar"> </form> </body></html>
Enviando multiples archivos
multiplesArchivos.htm
107Instituto tecnológico de Parral
Procesando los archivos enviados
<html><head></head><body>
<form action="grabarFichero.php" method="post" name="f_prof" id="f_prof" enctype="multipart/form-data">
Fichero:<input type="file" name="fichero" id="fichero"><input type="submit" value="ENVIAR" name="ok" id="ok"></form></body>
</html>
grabarFichero.htm
109Instituto tecnológico de Parral
<?php
$archivoRecibido=$_FILES["fichero"]["tmp_name"];
$destino="ficherosSubidos/fotoDelUsuario.jpg";
move_uploaded_file ($archivoRecibido, $destino);
echo ("Fichero grabado");?>
grabarFichero.php
110Instituto tecnológico de Parral
<html><head></head><body>
<form action="comprobarFichero.php" method="post" name="f_prof" id="f_prof" enctype="multipart/form-data">
Fichero:<input type="file" name="fichero" id="fichero"><input type="submit" value="ENVIAR" name="ok" id="ok"></form></body>
</html>
comprobarFichero.htm
111Instituto tecnológico de Parral
<?php// Se comprueba si el archivo tiene el formato adecuado.
if ($_FILES["fichero"]["type"]!="image/pjpeg") {die ("El fichero no tiene el formato adecuado.");
}// Se comprueba que tenga un peso adecuado.
if ($_FILES["fichero"]["size"] > 200000) {die ("El fichero es demasiado grande.");
}// Se comprueba que no se hayan producido errores.
if ($_FILES["fichero"]["error"] != 0) {die ("Se ha producido un error.");
}// Por último, se intenta grabar y se comprueba si se graba bien.
$archivoRecibido=$_FILES["fichero"]["tmp_name"];$destino="ficherosSubidos/fotoDelUsuario.jpg";if (move_uploaded_file ($archivoRecibido, $destino)) {
echo ("Fichero grabado");} else {
echo ("El fichero no se ha podido grabar.");}
?>
comprobarFichero.php
112Instituto tecnológico de Parral
<html><head></head><body>
<form action="comprobarYVolver.php" method="post" name="f_prof" id="f_prof" enctype="multipart/form-data">
Fichero:<input type="file" name="fichero" id="fichero"><input type="submit" value="ENVIAR" name="ok" id="ok">
</form></body>
</html>
comprobarYVolver.htm
113Instituto tecnológico de Parral