Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1.Introduccin al PHP 2.Lenguaje PHP bsico 3.Formularios 4.Acceso a bases de datos MySQL en PHP 4.Ventajas
1.Introduccin a PHP
Lenguajes de script
PHP es un lenguaje de script del lado del servidor. Otros lenguajes similares son ASP, JSP o ColdFusion Los scripts PHP estn incrustados en los documentos HTML y el servidor los interpreta y ejecuta antes de servir las pginas al cliente El cliente no ve el cdigo PHP sino los resultados que produce
1.Introduccin a PHP
Breve historia de PHP
Creado por Rasmus Lerdorf para uso personal en 1994 PHP = Personal Hypertext Processor Es un mdulo que se aade al servidor web y fue concebido inicialmente para Apache Por sus ventajas: es potente, fcil de aprender, de libre distribucin, permite el acceso a bases de datos y otras funcionalidades orientadas a la red Dispone de abundante soporte en la Web
Por qu PHP?
1.Introduccin a PHP
Principales usos del PHP:
- Programacin de pginas web dinmicas, habitualmente en combinacin con el motor de base datos MySQL. - Programacin en consola, al estilo de Perl, en Linux, Windows y Macintosh. - Creacin de aplicaciones grficas independientes del navegador, por medio de la combinacin de PHP y GTK (GIMP Tool Kit), que permite desarrollar aplicaciones de escritorio tanto para los sistemas operativos basados en Unix, como para Windows y Mac OS X.
Lo que distingue a PHP de la tecnologa Javascript, la cual se ejecuta en la mquina cliente, es que el cdigo PHP es ejecutado en el servidor. Si tuvisemos un script similar al de nuestro ejemplo en nuestro servidor, el cliente solamente recibira el resultado de su ejecucin en el servidor, sin ninguna posibilidad de determinar que cdigo ha producido el resultado recibido. El servidor web puede ser incluso congurado para que procese todos los archivos HTML con PHP.
2.1.Sintaxis bsica
PHP es sensible a las maysculas Cmo se incrusta en la pgina web?
Las instrucciones se separan con un ; como en C. La marca final ?> implica un ; Comentarios: como en C, /* */ y //
<?PHP ... ?> recomendado, siempre disponible <?= expresin ?> equivale a <? echo expresin ?>
2.1.Sintaxis bsica
Para imprimir: echo y print
echo: muestra una o ms cadenas echo cadena1 [, cadena2]; // no es una funcin
echo Hola mundo; echo Hola , mundo;
2.1.Sintaxis bsica
Ejemplo:
<HTML> <HEAD> <TITLE>Mi primer programa en PHP</TITLE> </HEAD> <BODY> <?PHP print (Hola mundo); ?> </BODY> </HTML>
2.1.Sintaxis bsica
Inclusin de ficheros externos:
include() require()
Ambos incluyen y evalan el fichero especificado Diferencia: en caso de error include() produce un warning y require() un error fatal Se usar require() si al producirse un error debe interrumpirse la carga de la pgina
2.1.Sintaxis bsica
Ejemplo:
<HTML> <HEAD> <TITLE>Ttulo</TITLE> <?PHP // Incluir bibliotecas de funciones require ("$libdir/conecta.php"); require ("$libdir/fecha.php"); require ("$libdir/cadena.php"); require ("$libdir/globals.php"); ?> </HEAD> <BODY> <?PHP include ("cabecera.html"); ?> // Cdigo HTML + PHP . . . <?PHP include ("pie.html"); ?> </BODY> </HTML>
2.2.Variables
Las variables siempre van precedidas de un $ El nombre es sensible a las maysculas Comienzan por letra o subrayado, seguido de letras, nmeros o subrayado Variables predefinidas: mbito: globales al fichero (excepto funciones) o locales a una funcin Ejemplo:
$valor = 5; print El valor es: . $valor . \n; print El valor es: $valor\n; // ojo: comillas dobles Resultado: El valor es: 5
2.3.Constantes
Definicin de constantes:
define (CONSTANTE, hola); print CONSTANTE;
No llevan $ delante Slo se pueden definir constantes de los tipos escalares (boolean, integer, double, string)
2.4.Estructuras de control
if-else while do .. while for foreach Switch
2.5.Funciones
Ejemplo:
function suma ($x, $y) { $s = $x + $y; return s; } $a=1; $b=2; $c=suma ($a, $b); print $c;
2.5.Funciones
Por defecto los parmetros se pasan por valor Paso por referencia:
function incrementa (&$a) { $a = $a + 1; }
2.5.Funciones
Argumentos por defecto
function muestranombre ($titulo = "Sr.") { print "Estimado $titulo:\n"; } muestranombre (); muestranombre ("Prof."); Estimado Sr.: Estimado Prof.:
Salida:
2.5.Funciones
Los argumentos con valores por defecto deben ser siempre los ltimos:
function muestranombre ($nombre, $titulo= "Sr.") { print "Estimado $titulo $nombre:\n"; } muestranombre (Fernndez); muestranombre (Fernndez, "Prof.");
Salida:
2.6.Tablas
Sintaxis:
array ([clave =>] valor, ...)
La clave es una cadena o un entero no negativo. El valor puede ser de cualquier tipo vlido en PHP, incluyendo otro array Ejemplos:
$color = array (rojo=>101, verde=>51, azul=>255); $medidas = array (10, 25, 15);
Acceso:
$color[rojo] // No olvidar las comillas $medidas[0]
El primer elemento es el 0
3. Formularios
1. 2. 3. 4. Acceso a formularios HTML desde PHP El formulario de PHP Campos dinmicos con JavaScript Validacin de los datos de un formulario
Fichero dos.php
<HTML> <BODY> <?PHP print (La edad es: $edad); ?> </BODY> </HTML>
Elemento SELECT
Elemento TEXTAREA
Procedimiento:
si se ha enviado el formulario: Procesar formulario si no: Mostrar formulario fsi
o bien
if ($enviar == procesar)
3.4.Validacin de formularios
Toda la informacin proveniente de un formulario debe considerarse por norma como contaminada, y hay que validarla antes de darla por buena y procesarla Lo ms eficiente es mostrar los errores sobre el propio formulario para facilitar su correccin.
4.2.Lenguaje SQL
SQL (Structured Query Language) es el lenguaje que se utiliza para comunicarse con la base de datos Procedimiento de comunicacin con la base de datos:
Pgina PHP
resultado
4.2.Lenguaje SQL
Las instrucciones ms habituales son SELECT, INSERT, UPDATE, DELETE Veamos su sintaxis bsica y algunos ejemplos de uso Para ello utilizaremos una tabla noticias con cinco campos: un identificador nico de la noticia, el ttulo de la noticia, el texto de la noticia, la categora de la noticia y la fecha de publicacin de la noticia
Sintaxis:
$conexion = mysql_connect (servidor, username, password);
Ejemplo:
$conexion or die $conexion or die = mysql_connect (localhost, (No se puede conectar con el = mysql_connect (localhost, (No se puede conectar con el cursophp, ) servidor); cursophp-ad, php.hph) servidor);
Sintaxis:
mysql_select_db (database);
Ejemplo:
mysql_select_db (lindavista) or die (No se puede seleccionar la base de datos);
Sintaxis:
$consulta = mysql_query (instruccin, $conexion);
Ejemplo:
$consulta = mysql_query (select * from noticias, $conexion) or die (Fallo en la consulta);
Sintaxis:
$nfilas = mysql_num_rows ($consulta); $fila = mysql_fetch_array ($consulta);
Ejemplo
mysql_close ($conexion);