Lenguaje PHP
Sistemas de Información
2º Curso de Grado en Ingeniería en
Informática
Introducción
Páginas web estáticas: Páginas web dinámicas:
Archivos HTML almacenados HTML generado
en un servidor automáticamente en el servidor
Poca o nula interacción del y en tiempo de ejecución
usuario Programas en el servidor cuya
Información que varía con respuesta varía según la
muy poca frecuencia petición, fecha, ...
Mantenimiento de la Aplicaciones tipo
información modificando › Periódico online
documentos HTML › Aplicación de comercio electrónico
› Enciclopedia
› Buscador
2
Introducción
Personal Home Page Tools (PHP):
Ejecución de scripts en el servidor: interpretado
Creado por Rasmus Lerdorf (1994)
Es sensible <html>
<head> Comentarios
a las
<title>Ejemplo</title> como en C:
mayúsculas
</head> /* … */
//
<body>
<?php
//mi primer script
Separación echo '<p>Hola PHP</p>'; Inserción en
de instrucciones ?> documento HTML:
con ; </body> <?php ... ?>
</html>
3
Sintaxis básica de PHP
Sentencias para impresión:
echo: muestra una o más print: muestra una cadena
cadenas › print cadena;
› echo cadena1 [, cadena2…]; › print “Hola mundo”;
› echo “Hola mundo”; › print “Hola “ . “mundo”;
› echo “Hola “, “mundo”;
<html> <?php
<body> print "<html>";
<?php print "<body>";
echo “<p>Hello”, “world.</p>"; print “<p> Hello, world.</p>";
?> print "</body>";
</body> print "</html>";
</html> ?>
4
Sintaxis básica de PHP
Utilización de archivos externos para ser evaluados:
include() require()
› En caso de error produce un › En caso de error produce un error
warning fatal
› Se usa cuando debe interrumpirse la
carga de la página en caso de error
<HTML>
<HEAD>
<TITLE>Título</TITLE> <HTML>
<?PHP <HEAD>
// Incluir bibliotecas de funciones <TITLE>Título</TITLE>
require ("$libdir/[Link]"); </HEAD>
require ("$libdir/[Link]"); <BODY>
require ("$libdir/[Link]"); <?PHP
require ("$libdir/[Link]"); include ("[Link]");
?> ?>
// Código HTML + PHP
. . .
<?PHP
include ("[Link]");
?>
</BODY>
</HTML>
5
Variables en PHP
El nombre una variable comienza por el símbolo del dólar ($) ,
seguido de letras o símbolo de subrayado
El nombre de las variables es sensible a las mayúsculas
Por defecto las variables se asignan por valor
<?php
$nombre = ‘Pepe';
$Nombre= ‘Toni';
echo "$nombre, $Nombre"; //muestra “Pepe, Toni"
$1name = ‘Jose'; // error
$_name = ’Antonio'; // correcto
?>
6
Variables en PHP
Si se desea que la asignación se haga por referencia se
antepone un signo ampersand (&) al comienzo de la variable
cuyo valor se está asignando
<?php
$nombre = 'Pepe';
// Asigna el valor 'Pepe' a $nombre
$otronombre = &$nombre;
// Referenciar $nombre vía $otronombre.
?>
7
Tipos de datos en PHP
Las variables no se tipifican:
El tipo se decide en tiempo de ejecución en función del contexto y
éste puede variar
Función gettype():
<?php Devuelve el tipo
$un_bool = TRUE; // booleano de una
$un_str = “mi cadena"; // cadena variable
$otr_str = ”otra cadena”; // cadena
$un_int = 99; // entero
echo gettype($un_bool); // imprime: boolean
Función var_dump()
echo gettype($un_str); // imprime: string
Muestra el tipo
echo var_dump($un_int);
y el valor de
?>
una variable
8
Tipos de datos en PHP
Consideraciones sobre el tipo String:
Las cadenas se encierran entre comillas:
› Simples:
<?php
echo 'Esto es una cadena sencilla';
echo 'Tambien puede incluir
nuevas líneas y es correcto';
?>
› Dobles:
<?php
echo ”Esto es una cadena doble”;
echo ”Se puede utilizar una amplia variedad
de sentencias de escape como caracteres
especiales”;
?>
9
Tipos de datos en PHP
Consideraciones sobre el tipo Array: Colección de datos que
asocia valores con claves
Sintaxis:
› array ([clave =>] valor, ...)
› La clave es una cadena o un entero no negativo.
› El valor puede ser de cualquier tipo válido en PHP
Arrays indexados con clave
Arrays indexados sin clave
<?php
$array = array(
"nombre" => "otronombre",
42 => 24, <?php
"multi" => array(
"dimensional" => array( $array = array ("nombre", "otronombre", "hello",
"world");
"array" => "nombre"
echo $array[2];
)
)
?>
);
echo $array["nombre"];
?>
10
Operadores en PHP y ejemplo con IF
Los constructores if/elseif permiten la ejecución condicional
de código
<?php
if( $a > $b )
echo "a es mayor que b";
elseif( $a == $b )
echo "a es igual a b";
else
echo "a es menor que b";
//uso de llaves
if( $a >= $b ) {
echo "a es mayor o igual que b";
$mayor = $a;
} else {
echo "a es menor que b";
$mayor = $b;
}
?>
11
Operadores en PHP y ejemplo con bucle WHILE
El comportamiento de los bucles while es análogo al lenguaje
Java
La sentencias se ejecutan anidadamente siempre que la
condición se evalúe a true
<php
$a = 10;
echo "Cuenta regresiva ...\n";
while($a > 0) {
echo $a-- ."\n";
}
echo "Cero !!!";
?>
12
Operadores en PHP y ejemplo con bucle DO
WHILE
El comportamiento de los bucles do-while es similar bucle
while
La principal diferencia en este tipo de bucle es que la
condición se evalúa al final con lo que siempre se produce la
ejecución de una primera iteración
<php
$a = 10;
echo "Cuenta regresiva ...\n";
do {
echo $a-- . "\n";
} while( $a > 0 );
echo "Cero !!!";
?>
13
Operadores en PHP y ejemplo con bucle FOR
Los bucles for se comportan de forma análogo a como lo
hacen en lenguaje Java
<php
//Cuadrados
for($a=1;$a<=10;$a++) {
echo “El cuadrado de $a es“;
echo ($a * $a) . “\n”;
}
?>
14
Bucle FOREACH
El constructor foreach permite iterar sobre arrays
Hay dos modos de utilizarlo:
Recorrer en array y almacenar en una variable el elemento que se
procesa en la iteración actual
Recorrer en array y almacenar en una variable el elemento que se
procesa en la iteración actual junto con su clave
<php
$color = array(‘rojo’=>101, ‘verde’=>51); Procesar
foreach ($color as $valor) elemento de array
print “Valor: $valor<br>\n”;
foreach ($color as $clave => $valor)
print “Clave: $clave; Valor: $valor<br>\n”;
?> Procesar
elemento de array
junto a su clave
15
Acceso a formularios con PHP
Los formularios web permiten introducir información que será
almacenada o buscada en la base de datos
Acceso a formularios con PHP
¿Cómo implementar formularios con PHP?
Dentro de la etiqueta form de html que permite definir
formularios hay que especificar dos atributos:
› Action: Especifica el nombre del script php que gestionará la información
del formulario
› Method: Toma valor post para evitar que la información que se suministra
mediante el formulario aparezca como parte de la URL
Usamos el botón submit que permite al usuario notificar al
servidor que ha finalizado de introducir la información en el
formulario
Archivo [Link]
<html>
<body>
<form action="[Link]" method="post">
Nombre: <input type="text" size="20" name="nombre"/>
<input type="submit" value="enviar"/>
</form>
</body>
</html>
Acceso a formularios con PHP
¿Cómo implementar formularios?
Dentro del script implementado accedemos y gestionamos la
información introducida por el usuario
En este ejemplo se visualiza en el navegador el valor introducido
por el usuario
Archivo [Link]
<HTML>
<BODY>
<?PHP
echo "su nombre es: ";
echo $_POST["nombre"];
$POST: Colección
?>
</BODY>
de elementos
</HTML> enviados desde
método post
Formularios tipo TEXT
Los formularios de tipo text permiten al cliente introducir
cadenas de texto
……
Introduzca su apellido:
<input type="text" name="apellido" size="20"/>
…..
….
<?PHP
echo "su apellido es: ";
echo $_POST["apellido"];
?>
…
Formularios tipo RADIO
Los formularios de tipo radio permiten al cliente seleccionar
una opción de entre varias
……
<INPUT TYPE="radio" NAME=“coche" VALUE=“opel“>opel
<INPUT TYPE="radio" NAME="coche" VALUE="renault">renault
<INPUT TYPE="radio" NAME="coche" VALUE="seat">seat
…..
….
<?PHP
echo "Su coche es:";
echo $_POST["coche"];
?>
…
Formularios tipo CHECKBOX
Los formularios de tipo checkbox permiten al cliente
seleccionar distintas opciones
….
<INPUT TYPE="checkbox" NAME=“opciones[]" VALUE=“climatizador" CHECKED>
climatizador
<INPUT TYPE="checkbox" NAME=" opciones[]" VALUE=“elevalunas">
elevalunas
<INPUT TYPE="checkbox" NAME=" opciones[]" VALUE=“CD">
CD
….
<?PHP
$auxiliar=$_POST["opciones"];
$n=count($auxiliar);
echo "Estas son las opciones";
echo "<br>";
for ($i=0; $i<$n; $i++) {
echo $auxiliar[$i];
echo "<br>";
}
?>
Instalación y configuración de XAMPP
Nos descargamos el archivo de instalación de forma
totalmente gratuita desde la siguiente dirección:
[Link]
Instalación y configuración de XAMPP
En la siguiente pantalla, dejamos la ruta que viene por
defecto:
Instalación y configuración de XAMPP
Para arrancar Xampp, abrimos la aplicación ejecutando el
archivo xampp-control, y pulsamos en el botón de Start de
Apache
Instalación y configuración de XAMPP
Ubicamos nuestra implementación en la subcarpeta htdocs
que se encuentra dentro de la carpeta xampp
Nos conectamos al localhost para verificar el resultado de
nuestra implementación