2. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
ÍNDICE
Introducción
Fundamentos de PHP
Acceso a base de datos
Formularios
Sesiones
Cookies
2
3. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
ÍNDICE
Introducción
Fundamentos de PHP
Acceso a base de datos
Formularios
Sesiones
Cookies
3
5. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
¿QUÉ ES?
PHP Hypertext Preprocessor
Lenguaje interpretado o de scripting
Proposito general
Aplicaciones web
Aplicaciones con interfaz gráfica
Open Source
5
6. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
CARACTERÍSTICAS
Alto rendimiento
Integración con bases de datos
Bibliotecas incorporadas
Facilidad de aprendizaje y uso
Portabilidad
Gran documentación on-line (php.net)
6
7. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
¿CÓMO FUNCIONA?
Nosotros vemos páginas web en un navegador:
Mozilla, Konqueror, Opera, Nautilus...
Un navegador solo interpreta HTML, hojas de
estilo (CSS) y Javascript
Un navegador NO sabe interpretar PHP
Entonces, ¿quién lo hace por él?
7
8. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
¿CÓMO FUNCIONA? (2)
El navegador puede:
Mostrar una página alojada en el ordenador en el
que él está instalado
Éste es el ordenador “cliente”
La página se muestra tal y como está guardada, no hay
proceso posible: tiene que ser HTML
Pedir una página a un servidor
El servidor puede procesar la página antes de
enviarla al navegador
8
9. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
¿CÓMO FUNCIONA? (3)
Ejemplo: petición de una página PHP a un
servidor web
Servidor web interpreta código PHP para generar la página HTML.
Es probable que en el código se hagan llamadas a bases de datos
para obtener datos con lo que completar dicho HTML.
9
10. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
CONFIGURACIÓN DEL SERVIDOR
Vamos a utilizar el servidor Xampp o EasyPhp
En el ordenador local
En el pendrive
Instalación
Iniciar
servidor apache
mysql
10
11. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
CONFIGURACIÓN SERVIDOR
Para comprobar que el servidor está activo:
http://localhost
Aparecerá la siguiente página
Accedemos a través del servidor, no directamente
11
12. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
ÍNDICE
Introducción
Fundamentos de PHP
Acceso a base de datos
Formularios
Sesiones
Cookies
12
13. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
FUNDAMENTOS DE PHP
Primeros pasos
Sintaxis
Tipos y variables
Operadores
Estructuras de control
Funciones
13
14. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
FUNDAMENTOS DE PHP
Primeros pasos
Sintaxis
Tipos y variables
Operadores
Estructuras de control
Funciones
14
15. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
PRIMEROS PASOS
Como se dijo en la introducción:
PHP se incrusta dentro del código HTML
PHP se procesa en el servidor
Sirve para crear páginas HTML que después se enviarán
al cliente, y para realizar otras operaciones
Podemos generar una página según el contenido de un
formulario...
... o según el contenido de una base de datos...
... o según la hora del servidor...
...
15
16. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
PRIMEROS PASOS (2)
¿Cómo incrustar PHP dentro del HTML?
Con la etiqueta <?php [instrucciones] ?>
El servidor procesa el código que hay entre “<?php” y
“?>” (o símplemente “<? .... ?>”)
<?php echo ("Hola mundo!"); ?>
16
17. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
PRIMEROS PASOS (3)
¿Cómo procesa el código?
Tenemos la página:
<html>
<body>
<?php echo “Hola mundo!”; ?>
</body>
</html>
El servidor comienza a procesar la página
Si encuentra HTML, lo envía directamente al cliente
Si encuentra una etiqueta de PHP, procesa el código, y si
el código escribe algo, esa "escritura" se incluye en el
HTML que se envía al cliente
17
18. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
PRIMEROS PASOS (4)
El servidor devolvería el siguiente fragmento:
<html>
<body>
Hola mundo!
</body>
</html>
18
19. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
FUNDAMENTOS DE PHP
Primeros pasos
Sintaxis
Tipos y variables
Operadores
Estructuras de control
Funciones
19
20. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
SINTAXIS
Las instrucciones se escriben separadas por ';'
Las estructuras de control son
if, while, switch, for, etc.
Las llamadas a función se realizan con paréntesis
phpinfo();
strlen('abcdef'); // 6
Los comentarios en el código se realizan con:
// Una sola línea
# Una sola línea
/* Varias
líneas */
20
21. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
FUNDAMENTOS DE PHP
Primeros pasos
Sintaxis
Tipos y variables
Operadores
Estructuras de control
Funciones
21
22. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
TIPOS
Existen distintos tipos: Boolean, integer, float,
string, array, object,...
Pero nos “desentendemos” de ellos, se decide en
tiempo de ejecución dependiendo del contexto
<?php
$un_bool = TRUE; // un valor booleano
$un_str = "foo"; // una cadena
$un_int = 12; // un entero
echo gettype($un_bool); // imprime: boolean
// Si este valor es un entero, incrementarlo en cuatro
if (is_int($un_int)) $un_int += 4;
?>
22
23. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
VARIABLES
Tienen dos particularidades:
Pueden cambiar de tipo fácilmente
Ej.: si en una variable hemos guardado un entero,
podemos utilizarlo como un String, y viceversa
(siempre que el String represente un entero)
El nombre de la variable lleva '$' delante
$usuario = 'jose';
Es posible concatenar variables (strings) con el
<?php
operador '.' $mensaje1 = 'Hola';
$mensaje2 = 'mundo!';
echo $mensaje1.' '.$mensaje2;
?>
23
24. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
VARIABLES (2)
Dentro de un string delimitado con comillas
dobles se evalúan las variables
$nombre = 'juan';
echo ("El valor de la variable nombre es $nombre.");
Con la función “unset()” podemos quitar el valor de
una variable
$var = "pepe";
unset($var); // Ahora no tiene valor (NULL)
La función “isset()” nos indica si una variable está
inicializada if (isset($var))
{ echo 'Tiene valor„;}
24
25. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
FUNDAMENTOS DE PHP
Primeros pasos
Sintaxis
Tipos y variables
Operadores
Estructuras de control
Funciones
25
27. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
OPERADORES (2)
Comparación Operador Símbolo Ejemplo Resultado
Igual == 3 == 3 cierto
Idéntico === 3 === ”3” falso
Diferente != 7 !=7 falso
<> 9 <> 8 cierto
No idénticos !== “4” !== 4 cierto
Menor < 1<3 cierto
Mayor > 3>4 falso
Menor o igual <= 2 <= 1 falso
Operador Simbolo Ejemplo Resultado
Lógicos Y (and) && TRUE && FALSE falso
O (or) || TRUE || FALSE cierto
NO (not) ! ! TRUE falso
27
28. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
FUNDAMENTOS DE PHP
Primeros pasos
Sintaxis
Tipos y variables
Operadores
Estructuras de control
Funciones
28
29. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
ESTRUCTURAS DE CONTROL
Condicionales
If …. Else
…elseif …
switch
Bucles
For
…
While
…
29
30. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
CONDICIONALES
Condicional simple
if (<condición>)
{...}
Condicional y alternativa
if (<condición>)
{...}
else
{...}
30
31. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
CONDICIONALES
Condicional simple
if (<condición>)
{...}
Condicional y alternativa
if (<condición>)
{...}
else
{...}
31
32. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
EJEMPLO IF
<html>
<head>
<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>
32
33. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
CONDICIONALES (2)
Condicional múltiple
switch (<expresión>)
{ case <valor 1>: ...
break;
case <valor 2>: ...
break;
...
case <valor n>: ...
break;
default: ...
break;
}
33
34. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
EJEMPLO SWITCH
<?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";
}
?>
34
35. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
BUCLES
for
Ejecuta un código mientas se cumpla una
condición .
Ejemplo:
for ($a = 1; $a <= 10; $a++)
{
echo ('<p>El número es '.$a.'</p>');
}
35
36. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
BUCLES
while
Mientras se cumpla una condición, se ejecuta al
código que hay en el (puede no ejecutarse nunca)
Ejemplo:
<?php
$i=0;
while ($i<10)
{
echo "El valor de i es ", $i,"<br>";
$i++;
}
?>
36
37. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
FUNDAMENTOS DE PHP
Primeros pasos
Sintaxis
Tipos y variables
Operadores
Estructuras de control
Funciones
37
38. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
FUNDAMENTOS DE PHP
Primeros pasos
Sintaxis
Tipos y variables
Operadores
Estructuras de control
Funciones
38
39. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
FUNCIONES
Podemos definir nuestras propias funciones
function <nombre_función> ($parm1, $parm2, ...)
{
...
return <resultado>; }
Ejemplo
function negrita($texto) {
return '<b>'.$texto.'</b>';
}
echo 'Quiero '.negrita('remarcar').' lo que es
'.negrita('importante');
39
41. FUNCIONES DE LIBRERIA
Dado el uso del lenguaje PHP el tratamiento de cadenas es muy
importante, existen bastantes funciones para el manejo de cadenas,
las más usadas:
strlen(cadena). Devuelve el número de carácteres de una cadena.
split(separador,cadena). Divide una cadena en varias usando un
carácter separador.
substr(cadena, inicio, longitud). Devuelve una subcadena de otra,
empezando por inicio y de longitud longitud.
strpos(cadena1, cadena2). Busca la cadena2 dentro de cadena1
indicándonos la posición en la que se encuentra.
str_replace(cadena1, cadena2, texto). Reemplaza la cadena1 por la
cadena2 en el texto.
41
42. FUNCIONES DE LIBRERIA
Como incluir script php desde otros ficheros.
http://www.webestilo.com/php/php05b.phtml
42
43. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
FUNDAMENTOS DE PHP
Primeros pasos
Sintaxis
Tipos y variables
Operadores
Estructuras de control
Funciones
43
44. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
ÍNDICE
Introducción
Fundamentos de PHP
Acceso a base de datos
Formularios
Sesiones
Cookies
44
45. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
ÍNDICE
Introducción
Fundamentos de PHP
Acceso a base de datos
Formularios
Sesiones
Cookies
45
46. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
ACCESO A BASE DE DATOS
Introducción
Configuración del servidor de base de datos
Creación de un usuario en la base de datos
Creación de una tabla
Importar un archivo a base de datos
46
47. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
INTRODUCCIÓN
Php permite al programador tanto relacionarse con
algunas de las bases de datos más importantes del
mundo de la programación:
PostgreSQL
MySql
Oracle
Adabas
filePro
ODBC
Existen distintas formas de acceso a base de datos,
47
48. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
MYSQL PHPMYADMIN
Accedemos a PHPMyAdmin
http://localhost/phpmyadmin
48
49. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
CREACIÓN DE USUARIO
Creamos un usuario sobre el que trabajar
Privilegios
Agregar a un nuevo usuario
Todos los privilegios de datos y estructura
49
50. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
CREAR LA BASE DE DATOS
Creamos una base de datos
Asociamos la base de datos al usuario
Creamos tablas
50
51. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
CREACIÓN DE UNA TABLA
Nos identificamos con el usuario
Seleccionamos la base de datos que se ha creado y
sobre la que tenemos todos los privilegios
Creamos una tabla “ejemplo” con dos campos
51
52. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
ESTRUCTURA DE UNA TABLA
Completamos y grabamos
52
53. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
CONEXIÓN BD
Las operaciones abrir/cerrar una conexión a una
base de datoscon se realizan con el fin de hacer
operaciones como leer/escribir y transmitir los
datos en formato html.
Para abrir/cerrar una conexión en MySql tenemos
las instrucciones:
mysql_connect(host,login,password)
mysql_close()
53
54. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
CONSULTAS
mysql_db_query(database,query,ID_database)
búsqueda dentro de la tabla podría hacerse
con el siguiente código:
<?
$db=mysql_connect("localhost","","") or
die("Error en la conexión a MySql");
$result=mysql_db_query("base de
datos_anuncios","SELECT * FROM Anuncios",$db);
mysql_close();
?>
54
55. RESULTADO DE LA CONSULTA
Estas instrucciones permiten memorizar en la variable
$result todos los anuncios que están en la tabla
Anuncios.
Para escribirlos se necesita primero hacer la operación:
$row=mysql_fetch_row($result);
y después, la primera línea del resultado estará
disponible en la variable array $row. Para escribir el
resultado será necesaria una línea del tipo:
print($row[1]."/".$row[2]."/".$row[3]."/".
$row[4]."/");
55
56. SOBRE EL RESULTADO DE LA CONSULTA
Para saber el número de líneas del resultado de una
pregunta basta con usar la instrucción:
$num_rows=mysql_num_rows($result);
Otra operación muy útil es la que devuelve el número de
campos en el grupo de resultados de la pregunta que se
acaba de hacer:
$num=mysql_num_fields($result);
56
58. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
INSERTAR
<?
# datos de la base de datos
$host="localhost";
$user="";
$pass="";
$db=mysql_connect($host,$user,$pass) or die
("Error durante la conexión a la base de datos");
$sql="INSERT INTO Anuncios
(Nombre,Email,Texto) VALUES
('".$nombre."','".$email."','".$texto."')";
mysql_db_query("db_anuncios",$sql,$db);
mysql_close();
?>
58
59. MOSTRAR RESULTADO DE LA CONSULTA
<?
# datos de la base de datos
$host="localhost";
$user="";
$pass="";
$db=mysql_connect($host,$user,$pass)
$sql="SELECT * FROM Anuncios";
$result=mysql_db_query("db_anuncios",$sql,$db);
while ($row=mysql_fetch_array($result) {
print(“<b>Nombre</b>: <a
href=""".$row["Email"]."">".$row["Nombre"]."</a><br>");
print(“<b>Texto del anuncio</b>:<br>");
print(htmlentities($row["Texto"])."< br>");
print("<hr size="1">");
}
mysql_close();
?>
59
60. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
BUSCAR
<?
# datos base de datos
$host="localhost";
$user="";
$pass="";
$db=mysql_connect($host,$user,$pass) or die ("Error durante la
conexión al database");
$sql="SELECT * FROM Anuncios where ";
$where=""; # poner la condición
}
$result=mysql_db_query("db_anuncios",$sql.$where,$db);
…. # operaciones para mostrar el resultado
?>
60
61. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
ÍNDICE
Introducción
Fundamentos de PHP
Información de usuario
Acceso a base de datos
Formularios
Sesiones
Cookies
61
63. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
ÍNDICE
Introducción
Fundamentos de PHP
Información de usuario
Acceso a base de datos
Formularios
Sesiones
Cookies
63
65. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
ÍNDICE
Introducción
Fundamentos de PHP
Información de usuario
Acceso a base de datos
Formularios
Sesiones
Cookies
65
67. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago
ÍNDICE
Introducción
Fundamentos de PHP
Información de usuario
Acceso a base de datos
Formularios
Sesiones
Cookies
67