Introducción al
Introducción al
PHP
PHP
Angel Vicente Romero Galindo
Angel Vicente Romero Galindo
1.Introducción al PHP
1.Introducción al PHP
2.Lenguaje PHP básico
2.Lenguaje PHP básico
3.Formularios
3.Formularios
4.Acceso a bases de datos MySQL en PHP
4.Acceso a bases de datos MySQL en PHP
4.Ventajas
4.Ventajas
1.Introducción a PHP
1.Introducción a PHP
• Lenguajes de
Lenguajes de script
script
– PHP es un lenguaje de
PHP es un lenguaje de script
script del lado del servidor. Otros
del lado del servidor. Otros
lenguajes similares son ASP, JSP o ColdFusion
lenguajes similares son ASP, JSP o ColdFusion
– Los scripts PHP están incrustados en los documentos HTML y
Los scripts PHP están incrustados en los documentos HTML y
el servidor los interpreta y ejecuta antes de servir las páginas
el servidor los interpreta y ejecuta antes de servir las páginas
al cliente
al cliente
– El cliente no ve el código PHP sino los resultados que produce
El cliente no ve el código PHP sino los resultados que produce
1.Introducción a PHP
1.Introducción a PHP
• Breve historia de PHP
Breve historia de PHP
– Creado por Rasmus Lerdorf para uso personal en 1994
Creado por Rasmus Lerdorf para uso personal en 1994
– PHP =
PHP = Personal Hypertext Processor
Personal Hypertext Processor
– Versión actual: PHP 5
Versión actual: PHP 5
– Es un módulo que se añade al servidor web y fue concebido
Es un módulo que se añade al servidor web y fue concebido
inicialmente para Apache
inicialmente para Apache
• ¿Por qué PHP?
¿Por qué PHP?
– Por sus ventajas: es potente, fácil de aprender, de libre
Por sus ventajas: es potente, fácil de aprender, de libre
distribución, permite el acceso a bases de datos y otras
distribución, permite el acceso a bases de datos y otras
funcionalidades orientadas a la red
funcionalidades orientadas a la red
– Dispone de abundante soporte en la Web
Dispone de abundante soporte en la Web
1.Introducción a PHP
1.Introducción a PHP
• Principales usos del PHP:
Principales usos del PHP:
- Programación de páginas web dinámicas, habitualmente en
- Programación de páginas web dinámicas, habitualmente en
combinación con el motor de base datos MySQL.
combinación con el motor de base datos MySQL.
- Programación en consola, al estilo de Perl, en Linux, Windows y
- Programación en consola, al estilo de Perl, en Linux, Windows y
Macintosh.
Macintosh.
- Creación de aplicaciones gráficas independientes del navegador,
- Creación de aplicaciones gráficas independientes del navegador,
por medio de la combinación de PHP y GTK (GIMP Tool Kit), que
por medio de la combinación de PHP y GTK (GIMP Tool Kit), que
permite desarrollar aplicaciones de escritorio tanto para los sistemas
permite desarrollar aplicaciones de escritorio tanto para los sistemas
operativos basados en Unix, como para Windows y Mac OS X.
operativos basados en Unix, como para Windows y Mac OS X.
2. Lenguaje PHP básico
2. Lenguaje PHP básico
1.
1. Sintaxis básica
Sintaxis básica
2.
2. Variables
Variables
3.
3. Constantes
Constantes
4.
4. Estructuras de control
Estructuras de control
5.
5. Funciones
Funciones
6.
6. Tablas
Tablas
2.1.Sintaxis básica
2.1.Sintaxis básica
• PHP es sensible a las mayúsculas
PHP es sensible a las mayúsculas
• ¿Cómo se incrusta en la página web?
¿Cómo se incrusta en la página web?
<?PHP ... ?>
<?PHP ... ?>
recomendado, siempre disponible
recomendado, siempre disponible
<?= expresión ?>
<?= expresión ?>
equivale a <? echo expresión ?>
equivale a <? echo expresión ?>
• Las instrucciones se separan con un ; como en C. La
Las instrucciones se separan con un ; como en C. La
marca final ?> implica un ;
marca final ?> implica un ;
• Comentarios: como en C, /* … */ y //
Comentarios: como en C, /* … */ y //
2.1.Sintaxis básica
2.1.Sintaxis básica
• Para imprimir:
Para imprimir: echo
echo y
y print
print
echo: muestra una o más cadenas
echo: muestra una o más cadenas
echo cadena1 [, cadena2…]; // no es una función
echo cadena1 [, cadena2…]; // no es una función
echo “Hola mundo”;
echo “Hola mundo”;
echo “Hola “, “mundo”;
echo “Hola “, “mundo”;
print: muestra una cadena
print: muestra una cadena
print cadena; // no es una función
print cadena; // no es una función
print “Hola mundo”;
print “Hola mundo”;
print “Hola “ . “mundo”;
print “Hola “ . “mundo”;
2.1.Sintaxis básica
2.1.Sintaxis básica
• Ejemplo:
Ejemplo:
<HTML>
<HTML>
<HEAD>
<HEAD>
<TITLE>Mi primer programa en PHP</TITLE>
<TITLE>Mi primer programa en PHP</TITLE>
</HEAD>
</HEAD>
<BODY>
<BODY>
<?PHP
<?PHP
print (“Hola mundo”);
print (“Hola mundo”);
?>
?>
</BODY>
</BODY>
</HTML>
</HTML>
2.1.Sintaxis básica
2.1.Sintaxis básica
• Inclusión de ficheros externos:
Inclusión de ficheros externos:
– include
include()
()
– require
require()
()
• Ambos incluyen y evalúan el fichero especificado
Ambos incluyen y evalúan el fichero especificado
• Diferencia: en caso de error include() produce un
Diferencia: en caso de error include() produce un
warning y require() un error fatal
warning y require() un error fatal
• Se usará require() si al producirse un error debe
Se usará require() si al producirse un error debe
interrumpirse la carga de la página
interrumpirse la carga de la página
2.1.Sintaxis básica
2.1.Sintaxis básica
Ejemplo:
Ejemplo:
<HTML>
<HTML>
<HEAD>
<HEAD>
<TITLE>Título</TITLE>
<TITLE>Título</TITLE>
<?PHP
<?PHP
// Incluir bibliotecas de funciones
// Incluir bibliotecas de funciones
require ("$libdir/conecta.php");
require ("$libdir/conecta.php");
require ("$libdir/fecha.php");
require ("$libdir/fecha.php");
require ("$libdir/cadena.php");
require ("$libdir/cadena.php");
require ("$libdir/globals.php");
require ("$libdir/globals.php");
?>
?>
</HEAD>
</HEAD>
<BODY>
<BODY>
<?PHP
<?PHP
include ("cabecera.html");
include ("cabecera.html");
?>
?>
// Código HTML + PHP
// Código HTML + PHP
. . .
. . .
<?PHP
<?PHP
include ("pie.html");
include ("pie.html");
?>
?>
</BODY>
</BODY>
</HTML>
</HTML>
2.2.Variables
2.2.Variables
• Las variables siempre van precedidas de un $
Las variables siempre van precedidas de un $
• El nombre es sensible a las mayúsculas
El nombre es sensible a las mayúsculas
• Comienzan por letra o subrayado, seguido de letras,
Comienzan por letra o subrayado, seguido de letras,
números o subrayado
números o subrayado
• Variables predefinidas:
Variables predefinidas:
$GLOBALS, $_SERVER, $_GET, $_POST, $_COOKIES, $_FILES,
$GLOBALS, $_SERVER, $_GET, $_POST, $_COOKIES, $_FILES,
$_ENV, $_REQUEST, $_SESSION
$_ENV, $_REQUEST, $_SESSION
• Ámbito: globales al fichero (excepto funciones) o locales a
Ámbito: globales al fichero (excepto funciones) o locales a
una función
una función
• Ejemplo:
Ejemplo:
$valor = 5;
$valor = 5;
print “El valor es: “ . $valor . “n”;
print “El valor es: “ . $valor . “n”;
print “El valor es: $valorn”; // ojo: comillas dobles
print “El valor es: $valorn”; // ojo: comillas dobles
Resultado:
Resultado:
El valor es: 5
El valor es: 5
2.3.Constantes
2.3.Constantes
• Definición de constantes:
Definición de constantes:
define (“CONSTANTE”, “hola”);
define (“CONSTANTE”, “hola”);
print CONSTANTE;
print CONSTANTE;
• No llevan $ delante
No llevan $ delante
• Sólo se pueden definir constantes de los tipos
Sólo se pueden definir constantes de los tipos
escalares (boolean, integer, double, string)
escalares (boolean, integer, double, string)
2.4.Estructuras de control
2.4.Estructuras de control
• if-else
if-else
• while
while
• do .. while
do .. while
• for
for
• foreach
foreach
• Switch
Switch
• Mismo comportamiento que en C
Mismo comportamiento que en C
2.5.Funciones
2.5.Funciones
• Ejemplo:
Ejemplo:
function suma ($x, $y)
function suma ($x, $y)
{
{
$s = $x + $y;
$s = $x + $y;
return s;
return s;
}
}
$a=1;
$a=1;
$b=2;
$b=2;
$c=suma ($a, $b);
$c=suma ($a, $b);
print $c;
print $c;
2.5.Funciones
2.5.Funciones
• Por defecto los parámetros se pasan por valor
Por defecto los parámetros se pasan por valor
• Paso por referencia:
Paso por referencia:
function incrementa (&$a)
function incrementa (&$a)
{
{
$a = $a + 1;
$a = $a + 1;
}
}
$a=1;
$a=1;
incrementa ($a);
incrementa ($a);
print $a; // Muestra un 2
print $a; // Muestra un 2
2.5.Funciones
2.5.Funciones
• Argumentos por defecto
Argumentos por defecto
function muestranombre ($titulo = "Sr.")
function muestranombre ($titulo = "Sr.")
{
{
print "Estimado $titulo:n";
print "Estimado $titulo:n";
}
}
muestranombre ();
muestranombre ();
muestranombre ("Prof.");
muestranombre ("Prof.");
• Salida:
Salida:
Estimado Sr.:
Estimado Sr.:
Estimado Prof.:
Estimado Prof.:
2.5.Funciones
2.5.Funciones
• Los argumentos con valores por defecto deben ser
Los argumentos con valores por defecto deben ser
siempre los últimos:
siempre los últimos:
function muestranombre ($nombre, $titulo= "Sr.")
function muestranombre ($nombre, $titulo= "Sr.")
{
{
print "Estimado $titulo $nombre:n";
print "Estimado $titulo $nombre:n";
}
}
muestranombre (“Fernández”);
muestranombre (“Fernández”);
muestranombre (“Fernández”, "Prof.");
muestranombre (“Fernández”, "Prof.");
• Salida:
Salida:
Estimado Sr. Fernández:
Estimado Sr. Fernández:
Estimado Prof. Fernández:
Estimado Prof. Fernández:
2.6.Tablas
2.6.Tablas
• Sintaxis:
Sintaxis:
array ([clave =>] valor, ...)
array ([clave =>] valor, ...)
• La clave es una cadena o un entero no negativo. El valor puede
La clave es una cadena o un entero no negativo. El valor puede
ser de cualquier tipo válido en PHP, incluyendo otro array
ser de cualquier tipo válido en PHP, incluyendo otro array
• Ejemplos:
Ejemplos:
$color = array (‘rojo’=>101, ‘verde’=>51, ‘azul’=>255);
$color = array (‘rojo’=>101, ‘verde’=>51, ‘azul’=>255);
$medidas = array (10, 25, 15);
$medidas = array (10, 25, 15);
• Acceso:
Acceso:
$color[‘rojo’] // No olvidar las comillas
$color[‘rojo’] // No olvidar las comillas
$medidas[0]
$medidas[0]
• El primer elemento es el 0
El primer elemento es el 0
3. Formularios
3. Formularios
1.
1. Acceso a formularios HTML desde PHP
Acceso a formularios HTML desde PHP
2.
2. El formulario de PHP
El formulario de PHP
3.
3. Campos dinámicos con JavaScript
Campos dinámicos con JavaScript
4.
4. Validación de los datos de un formulario
Validación de los datos de un formulario
3.1.Acceso a formularios desde
3.1.Acceso a formularios desde
PHP
PHP
• Desde PHP se puede acceder fácilmente a los
Desde PHP se puede acceder fácilmente a los
datos introducidos desde un formulario HTML
datos introducidos desde un formulario HTML
• Veámoslo con un ejemplo simple
Veámoslo con un ejemplo simple
3.1.Acceso a formularios desde
3.1.Acceso a formularios desde
PHP
PHP
• Fichero uno.php
Fichero uno.php
<HTML>
<HTML>
<BODY>
<BODY>
<FORM ACTION=”dos.php” METHOD=”POST”>
<FORM ACTION=”dos.php” METHOD=”POST”>
Edad: <INPUT TYPE=”text” NAME=”edad”>
Edad: <INPUT TYPE=”text” NAME=”edad”>
<INPUT TYPE=”submit” VALUE=”aceptar”>
<INPUT TYPE=”submit” VALUE=”aceptar”>
</FORM>
</FORM>
</BODY>
</BODY>
</HTML>
</HTML>
• Fichero dos.php
Fichero dos.php
<HTML>
<HTML>
<BODY>
<BODY>
<?PHP
<?PHP
print (“La edad es: $edad”);
print (“La edad es: $edad”);
?>
?>
</BODY>
</BODY>
</HTML>
</HTML>
3.1.Acceso a formularios desde
3.1.Acceso a formularios desde
PHP
PHP
3.1.Acceso a formularios desde
3.1.Acceso a formularios desde
PHP
PHP
• Acceso a los diferentes tipos de elementos de entrada de
Acceso a los diferentes tipos de elementos de entrada de
formulario
formulario
– Elementos de tipo INPUT
Elementos de tipo INPUT
• TEXT
TEXT
• RADIO
RADIO
• CHECKBOX
CHECKBOX
• BUTTON
BUTTON
• FILE
FILE
• HIDDEN
HIDDEN
• PASSWORD
PASSWORD
• SUBMIT
SUBMIT
– Elemento SELECT
Elemento SELECT
• Simple / múltiple
Simple / múltiple
– Elemento TEXTAREA
Elemento TEXTAREA
3.2.El formulario de PHP
3.2.El formulario de PHP
• La forma habitual de trabajar con formularios en PHP es
La forma habitual de trabajar con formularios en PHP es
utilizar un único programa que procese el formulario o lo
utilizar un único programa que procese el formulario o lo
muestre según haya sido o no enviado, respectivamente
muestre según haya sido o no enviado, respectivamente
• Ventajas:
Ventajas:
– Disminuye el número de ficheros
Disminuye el número de ficheros
– Permite validar los datos del formulario en el propio formulario
Permite validar los datos del formulario en el propio formulario
• Procedimiento:
Procedimiento:
si se ha enviado el formulario:
si se ha enviado el formulario:
Procesar formulario
Procesar formulario
si no:
si no:
Mostrar formulario
Mostrar formulario
fsi
fsi
3.2.El formulario de PHP
3.2.El formulario de PHP
• Para saber si se ha enviado el formulario se acude a la
Para saber si se ha enviado el formulario se acude a la
variable correspondiente al botón de envío. Si este botón
variable correspondiente al botón de envío. Si este botón
aparece de la siguiente forma en el formulario HTML:
aparece de la siguiente forma en el formulario HTML:
<INPUT TYPE="SUBMIT" NAME="enviar“ VALUE="procesar">
<INPUT TYPE="SUBMIT" NAME="enviar“ VALUE="procesar">
entonces la condición anterior se transforma en:
entonces la condición anterior se transforma en:
if (isset($enviar))
if (isset($enviar))
o bien
o bien
if ($enviar == “procesar”)
if ($enviar == “procesar”)
3.3.Campos dinámicos con
3.3.Campos dinámicos con
JavaScript
JavaScript
• Es habitual que un campo de un formulario deba
Es habitual que un campo de un formulario deba
cambiar de valor al modificarse otro campo del
cambiar de valor al modificarse otro campo del
mismo formulario
mismo formulario
• Si el nuevo valor está almacenado en una base de
Si el nuevo valor está almacenado en una base de
datos, la solución es volver a cargar el formulario
datos, la solución es volver a cargar el formulario
con los nuevos requisitos
con los nuevos requisitos
• En algunos casos el nuevo valor puede calcularse de
En algunos casos el nuevo valor puede calcularse de
forma automática, para lo cual podemos usar
forma automática, para lo cual podemos usar
JavaScript
JavaScript
3.4.Validación de formularios
3.4.Validación de formularios
• Toda la información proveniente de un
Toda la información proveniente de un
formulario debe considerarse por norma
formulario debe considerarse por norma
como contaminada, y hay que validarla antes
como contaminada, y hay que validarla antes
de darla por buena y procesarla
de darla por buena y procesarla
• Lo más eficiente es mostrar los errores sobre
Lo más eficiente es mostrar los errores sobre
el propio formulario para facilitar su
el propio formulario para facilitar su
corrección.
corrección.
4.Acceso a bases de datos MySQL
4.Acceso a bases de datos MySQL
en PHP
en PHP
1.
1.Bases de datos en la Web
Bases de datos en la Web
2.
2.Lenguaje SQL
Lenguaje SQL
3.
3.Funciones de PHP para el acceso a
Funciones de PHP para el acceso a
bases de datos MySQL
bases de datos MySQL
4.1.Bases de datos en la Web
4.1.Bases de datos en la Web
• Las bases de datos permiten almacenar de una
Las bases de datos permiten almacenar de una
forma estructurada y eficiente toda la información
forma estructurada y eficiente toda la información
de un sitio web
de un sitio web
• Ventajas
Ventajas
– Proporcionar información actualizada
Proporcionar información actualizada
– Facilitar la realización de búsquedas
Facilitar la realización de búsquedas
– Disminuir los costes de mantenimiento
Disminuir los costes de mantenimiento
– Implementar sistemas de control de acceso
Implementar sistemas de control de acceso
– Almacenar preferencias de los usuarios
Almacenar preferencias de los usuarios
4.1.Bases de datos en la Web
4.1.Bases de datos en la Web
• Esquema básico de un sitio web soportado por bases de datos:
Esquema básico de un sitio web soportado por bases de datos:
4.2.Lenguaje SQL
4.2.Lenguaje SQL
• SQL (
SQL (Structured Query Language
Structured Query Language) es el lenguaje que se utiliza
) es el lenguaje que se utiliza
para comunicarse con la base de datos
para comunicarse con la base de datos
• Procedimiento de comunicación con la base de datos:
Procedimiento de comunicación con la base de datos:
Página
PHP
Base de
datos
orden SQL
resultado
4.2.Lenguaje SQL
4.2.Lenguaje SQL
• Las instrucciones más habituales son SELECT, INSERT, UPDATE,
Las instrucciones más habituales son SELECT, INSERT, UPDATE,
DELETE
DELETE
• Veamos su sintaxis básica y algunos ejemplos de uso
Veamos su sintaxis básica y algunos ejemplos de uso
• Para ello utilizaremos una tabla
Para ello utilizaremos una tabla noticias
noticias con cinco campos: un
con cinco campos: un
identificador único de la noticia, el título de la noticia, el texto
identificador único de la noticia, el título de la noticia, el texto
de la noticia, la categoría de la noticia y la fecha de publicación
de la noticia, la categoría de la noticia y la fecha de publicación
de la noticia
de la noticia
título
texto
categoría
noticias
id
fecha
4.3.Funciones de PHP para el
4.3.Funciones de PHP para el
acceso a bases de datos MySQL
acceso a bases de datos MySQL
• Los pasos para acceder desde PHP a una base de datos son
Los pasos para acceder desde PHP a una base de datos son
los siguientes:
los siguientes:
– Conectar con el servidor de bases de datos
Conectar con el servidor de bases de datos
– Seleccionar una base de datos
Seleccionar una base de datos
– Enviar la instrucción SQL a la base de datos
Enviar la instrucción SQL a la base de datos
– Obtener y procesar los resultados
Obtener y procesar los resultados
– Cerrar la conexión con el servidor de bases de datos
Cerrar la conexión con el servidor de bases de datos
Acceso a bases de datos MySQL
Acceso a bases de datos MySQL
• Las funciones concretas de MySQL que realizan estas
Las funciones concretas de MySQL que realizan estas
operaciones
operaciones son:
son:
– Conectar con el servidor de bases de datos:
Conectar con el servidor de bases de datos:
• mysql_connect()
mysql_connect()
– Seleccionar una base de datos:
Seleccionar una base de datos:
• mysql_select_db()
mysql_select_db()
– Enviar la instrucción SQL a la base de datos:
Enviar la instrucción SQL a la base de datos:
• mysql_query()
mysql_query()
– Obtener y procesar los resultados:
Obtener y procesar los resultados:
• mysql_num_rows() y mysql_fetch_array()
mysql_num_rows() y mysql_fetch_array()
– Cerrar la conexión con el servidor de bases de datos:
Cerrar la conexión con el servidor de bases de datos:
• mysql_close()
mysql_close()
Acceso a bases de datos MySQL
Acceso a bases de datos MySQL
• Conectar con el servidor de bases de datos:
Conectar con el servidor de bases de datos: mysql_connect()
mysql_connect()
– Devuelve un identificador de la conexión en caso de éxito y false
Devuelve un identificador de la conexión en caso de éxito y false
en caso contrario
en caso contrario
• Sintaxis:
Sintaxis:
$conexion = mysql_connect (servidor, username, password);
$conexion = mysql_connect (servidor, username, password);
• Ejemplo:
Ejemplo:
$conexion = mysql_connect (“localhost”, “cursophp”, “”)
$conexion = mysql_connect (“localhost”, “cursophp”, “”)
or die (“No se puede conectar con el servidor”);
or die (“No se puede conectar con el servidor”);
$conexion = mysql_connect (“localhost”, “cursophp-ad”, “php.hph”)
$conexion = mysql_connect (“localhost”, “cursophp-ad”, “php.hph”)
or die (“No se puede conectar con el servidor”);
or die (“No se puede conectar con el servidor”);
Acceso a bases de datos MySQL
Acceso a bases de datos MySQL
• Seleccionar una base de datos:
Seleccionar una base de datos: mysql_select_db()
mysql_select_db()
– Devuelve true en caso de éxito y false en caso contrario
Devuelve true en caso de éxito y false en caso contrario
• Sintaxis:
Sintaxis:
mysql_select_db (database);
mysql_select_db (database);
• Ejemplo:
Ejemplo:
mysql_select_db (“lindavista”)
mysql_select_db (“lindavista”)
or die (“No se puede seleccionar la base de datos”);
or die (“No se puede seleccionar la base de datos”);
Acceso a bases de datos MySQL
Acceso a bases de datos MySQL
• Enviar la instrucción SQL a la base de datos:
Enviar la instrucción SQL a la base de datos: mysql_query()
mysql_query()
– Devuelve un identificador o true (dependiendo de la
Devuelve un identificador o true (dependiendo de la
instrucción) si la instrucción se ejecuta correctamente y false en
instrucción) si la instrucción se ejecuta correctamente y false en
caso contrario
caso contrario
• Sintaxis:
Sintaxis:
$consulta = mysql_query (instrucción, $conexion);
$consulta = mysql_query (instrucción, $conexion);
• Ejemplo:
Ejemplo:
$consulta = mysql_query (“select * from noticias”, $conexion)
$consulta = mysql_query (“select * from noticias”, $conexion)
or die (“Fallo en la consulta”);
or die (“Fallo en la consulta”);
Acceso a bases de datos MySQL
Acceso a bases de datos MySQL
• Obtener y procesar los resultados:
Obtener y procesar los resultados: mysql_num_rows(),
mysql_num_rows(),
mysql_fetch_array()
mysql_fetch_array()
– En el caso de que la instrucción enviada produzca unos
En el caso de que la instrucción enviada produzca unos
resultados, mysql_query() devuelve las filas de la tabla afectadas
resultados, mysql_query() devuelve las filas de la tabla afectadas
por la instrucción
por la instrucción
– mysql_num_rows() devuelve el número de filas afectadas
mysql_num_rows() devuelve el número de filas afectadas
– Para obtener las distintas filas del resultado se utiliza la función
Para obtener las distintas filas del resultado se utiliza la función
mysql_fetch_array(), que obtiene una fila del resultado en un
mysql_fetch_array(), que obtiene una fila del resultado en un
array asociativo cada vez que se invoca
array asociativo cada vez que se invoca
• Sintaxis:
Sintaxis:
$nfilas = mysql_num_rows ($consulta);
$nfilas = mysql_num_rows ($consulta);
$fila = mysql_fetch_array ($consulta);
$fila = mysql_fetch_array ($consulta);
Acceso a bases de datos MySQL
Acceso a bases de datos MySQL
• Cerrar la conexión con el servidor de bases de datos:
Cerrar la conexión con el servidor de bases de datos:
mysql_close()
mysql_close()
• Sintaxis:
Sintaxis:
mysql_close ($conexion);
mysql_close ($conexion);
• Ejemplo
Ejemplo
mysql_close ($conexion);
mysql_close ($conexion);
Bibliografía
Bibliografía
• http://www.elguruprogramador.com.ar
http://www.elguruprogramador.com.ar
• http://www.php-hispano.net
http://www.php-hispano.net
• http://www.php.net
http://www.php.net
• http://www.htmlpoint.com/php/guida/php_
http://www.htmlpoint.com/php/guida/php_
01.htm
01.htm

Introduccion al PHP para principiantes y estudiantes

  • 1.
    Introducción al Introducción al PHP PHP AngelVicente Romero Galindo Angel Vicente Romero Galindo
  • 2.
    1.Introducción al PHP 1.Introducciónal PHP 2.Lenguaje PHP básico 2.Lenguaje PHP básico 3.Formularios 3.Formularios 4.Acceso a bases de datos MySQL en PHP 4.Acceso a bases de datos MySQL en PHP 4.Ventajas 4.Ventajas
  • 3.
    1.Introducción a PHP 1.Introduccióna PHP • Lenguajes de Lenguajes de script script – PHP es un lenguaje de PHP es un lenguaje de script script del lado del servidor. Otros del lado del servidor. Otros lenguajes similares son ASP, JSP o ColdFusion lenguajes similares son ASP, JSP o ColdFusion – Los scripts PHP están incrustados en los documentos HTML y Los scripts PHP están incrustados en los documentos HTML y el servidor los interpreta y ejecuta antes de servir las páginas el servidor los interpreta y ejecuta antes de servir las páginas al cliente al cliente – El cliente no ve el código PHP sino los resultados que produce El cliente no ve el código PHP sino los resultados que produce
  • 4.
    1.Introducción a PHP 1.Introduccióna PHP • Breve historia de PHP Breve historia de PHP – Creado por Rasmus Lerdorf para uso personal en 1994 Creado por Rasmus Lerdorf para uso personal en 1994 – PHP = PHP = Personal Hypertext Processor Personal Hypertext Processor – Versión actual: PHP 5 Versión actual: PHP 5 – Es un módulo que se añade al servidor web y fue concebido Es un módulo que se añade al servidor web y fue concebido inicialmente para Apache inicialmente para Apache • ¿Por qué PHP? ¿Por qué PHP? – Por sus ventajas: es potente, fácil de aprender, de libre Por sus ventajas: es potente, fácil de aprender, de libre distribución, permite el acceso a bases de datos y otras distribución, permite el acceso a bases de datos y otras funcionalidades orientadas a la red funcionalidades orientadas a la red – Dispone de abundante soporte en la Web Dispone de abundante soporte en la Web
  • 5.
    1.Introducción a PHP 1.Introduccióna PHP • Principales usos del PHP: Principales usos del PHP: - Programación de páginas web dinámicas, habitualmente en - Programación de páginas web dinámicas, habitualmente en combinación con el motor de base datos MySQL. combinación con el motor de base datos MySQL. - Programación en consola, al estilo de Perl, en Linux, Windows y - Programación en consola, al estilo de Perl, en Linux, Windows y Macintosh. Macintosh. - Creación de aplicaciones gráficas independientes del navegador, - Creación de aplicaciones gráficas independientes del navegador, por medio de la combinación de PHP y GTK (GIMP Tool Kit), que por medio de la combinación de PHP y GTK (GIMP Tool Kit), que permite desarrollar aplicaciones de escritorio tanto para los sistemas permite desarrollar aplicaciones de escritorio tanto para los sistemas operativos basados en Unix, como para Windows y Mac OS X. operativos basados en Unix, como para Windows y Mac OS X.
  • 6.
    2. Lenguaje PHPbásico 2. Lenguaje PHP básico 1. 1. Sintaxis básica Sintaxis básica 2. 2. Variables Variables 3. 3. Constantes Constantes 4. 4. Estructuras de control Estructuras de control 5. 5. Funciones Funciones 6. 6. Tablas Tablas
  • 7.
    2.1.Sintaxis básica 2.1.Sintaxis básica •PHP es sensible a las mayúsculas PHP es sensible a las mayúsculas • ¿Cómo se incrusta en la página web? ¿Cómo se incrusta en la página web? <?PHP ... ?> <?PHP ... ?> recomendado, siempre disponible recomendado, siempre disponible <?= expresión ?> <?= expresión ?> equivale a <? echo expresión ?> equivale a <? echo expresión ?> • Las instrucciones se separan con un ; como en C. La Las instrucciones se separan con un ; como en C. La marca final ?> implica un ; marca final ?> implica un ; • Comentarios: como en C, /* … */ y // Comentarios: como en C, /* … */ y //
  • 8.
    2.1.Sintaxis básica 2.1.Sintaxis básica •Para imprimir: Para imprimir: echo echo y y print print echo: muestra una o más cadenas echo: muestra una o más cadenas echo cadena1 [, cadena2…]; // no es una función echo cadena1 [, cadena2…]; // no es una función echo “Hola mundo”; echo “Hola mundo”; echo “Hola “, “mundo”; echo “Hola “, “mundo”; print: muestra una cadena print: muestra una cadena print cadena; // no es una función print cadena; // no es una función print “Hola mundo”; print “Hola mundo”; print “Hola “ . “mundo”; print “Hola “ . “mundo”;
  • 9.
    2.1.Sintaxis básica 2.1.Sintaxis básica •Ejemplo: Ejemplo: <HTML> <HTML> <HEAD> <HEAD> <TITLE>Mi primer programa en PHP</TITLE> <TITLE>Mi primer programa en PHP</TITLE> </HEAD> </HEAD> <BODY> <BODY> <?PHP <?PHP print (“Hola mundo”); print (“Hola mundo”); ?> ?> </BODY> </BODY> </HTML> </HTML>
  • 10.
    2.1.Sintaxis básica 2.1.Sintaxis básica •Inclusión de ficheros externos: Inclusión de ficheros externos: – include include() () – require require() () • Ambos incluyen y evalúan el fichero especificado Ambos incluyen y evalúan el fichero especificado • Diferencia: en caso de error include() produce un Diferencia: en caso de error include() produce un warning y require() un error fatal warning y require() un error fatal • Se usará require() si al producirse un error debe Se usará require() si al producirse un error debe interrumpirse la carga de la página interrumpirse la carga de la página
  • 11.
    2.1.Sintaxis básica 2.1.Sintaxis básica Ejemplo: Ejemplo: <HTML> <HTML> <HEAD> <HEAD> <TITLE>Título</TITLE> <TITLE>Título</TITLE> <?PHP <?PHP //Incluir bibliotecas de funciones // Incluir bibliotecas de funciones require ("$libdir/conecta.php"); require ("$libdir/conecta.php"); require ("$libdir/fecha.php"); require ("$libdir/fecha.php"); require ("$libdir/cadena.php"); require ("$libdir/cadena.php"); require ("$libdir/globals.php"); require ("$libdir/globals.php"); ?> ?> </HEAD> </HEAD> <BODY> <BODY> <?PHP <?PHP include ("cabecera.html"); include ("cabecera.html"); ?> ?> // Código HTML + PHP // Código HTML + PHP . . . . . . <?PHP <?PHP include ("pie.html"); include ("pie.html"); ?> ?> </BODY> </BODY> </HTML> </HTML>
  • 12.
    2.2.Variables 2.2.Variables • Las variablessiempre van precedidas de un $ Las variables siempre van precedidas de un $ • El nombre es sensible a las mayúsculas El nombre es sensible a las mayúsculas • Comienzan por letra o subrayado, seguido de letras, Comienzan por letra o subrayado, seguido de letras, números o subrayado números o subrayado • Variables predefinidas: Variables predefinidas: $GLOBALS, $_SERVER, $_GET, $_POST, $_COOKIES, $_FILES, $GLOBALS, $_SERVER, $_GET, $_POST, $_COOKIES, $_FILES, $_ENV, $_REQUEST, $_SESSION $_ENV, $_REQUEST, $_SESSION • Ámbito: globales al fichero (excepto funciones) o locales a Ámbito: globales al fichero (excepto funciones) o locales a una función una función • Ejemplo: Ejemplo: $valor = 5; $valor = 5; print “El valor es: “ . $valor . “n”; print “El valor es: “ . $valor . “n”; print “El valor es: $valorn”; // ojo: comillas dobles print “El valor es: $valorn”; // ojo: comillas dobles Resultado: Resultado: El valor es: 5 El valor es: 5
  • 13.
    2.3.Constantes 2.3.Constantes • Definición deconstantes: Definición de constantes: define (“CONSTANTE”, “hola”); define (“CONSTANTE”, “hola”); print CONSTANTE; print CONSTANTE; • No llevan $ delante No llevan $ delante • Sólo se pueden definir constantes de los tipos Sólo se pueden definir constantes de los tipos escalares (boolean, integer, double, string) escalares (boolean, integer, double, string)
  • 14.
    2.4.Estructuras de control 2.4.Estructurasde control • if-else if-else • while while • do .. while do .. while • for for • foreach foreach • Switch Switch • Mismo comportamiento que en C Mismo comportamiento que en C
  • 15.
    2.5.Funciones 2.5.Funciones • Ejemplo: Ejemplo: function suma($x, $y) function suma ($x, $y) { { $s = $x + $y; $s = $x + $y; return s; return s; } } $a=1; $a=1; $b=2; $b=2; $c=suma ($a, $b); $c=suma ($a, $b); print $c; print $c;
  • 16.
    2.5.Funciones 2.5.Funciones • Por defectolos parámetros se pasan por valor Por defecto los parámetros se pasan por valor • Paso por referencia: Paso por referencia: function incrementa (&$a) function incrementa (&$a) { { $a = $a + 1; $a = $a + 1; } } $a=1; $a=1; incrementa ($a); incrementa ($a); print $a; // Muestra un 2 print $a; // Muestra un 2
  • 17.
    2.5.Funciones 2.5.Funciones • Argumentos pordefecto Argumentos por defecto function muestranombre ($titulo = "Sr.") function muestranombre ($titulo = "Sr.") { { print "Estimado $titulo:n"; print "Estimado $titulo:n"; } } muestranombre (); muestranombre (); muestranombre ("Prof."); muestranombre ("Prof."); • Salida: Salida: Estimado Sr.: Estimado Sr.: Estimado Prof.: Estimado Prof.:
  • 18.
    2.5.Funciones 2.5.Funciones • Los argumentoscon valores por defecto deben ser Los argumentos con valores por defecto deben ser siempre los últimos: siempre los últimos: function muestranombre ($nombre, $titulo= "Sr.") function muestranombre ($nombre, $titulo= "Sr.") { { print "Estimado $titulo $nombre:n"; print "Estimado $titulo $nombre:n"; } } muestranombre (“Fernández”); muestranombre (“Fernández”); muestranombre (“Fernández”, "Prof."); muestranombre (“Fernández”, "Prof."); • Salida: Salida: Estimado Sr. Fernández: Estimado Sr. Fernández: Estimado Prof. Fernández: Estimado Prof. Fernández:
  • 19.
    2.6.Tablas 2.6.Tablas • Sintaxis: Sintaxis: array ([clave=>] valor, ...) array ([clave =>] valor, ...) • La clave es una cadena o un entero no negativo. El valor puede La clave es una cadena o un entero no negativo. El valor puede ser de cualquier tipo válido en PHP, incluyendo otro array ser de cualquier tipo válido en PHP, incluyendo otro array • Ejemplos: Ejemplos: $color = array (‘rojo’=>101, ‘verde’=>51, ‘azul’=>255); $color = array (‘rojo’=>101, ‘verde’=>51, ‘azul’=>255); $medidas = array (10, 25, 15); $medidas = array (10, 25, 15); • Acceso: Acceso: $color[‘rojo’] // No olvidar las comillas $color[‘rojo’] // No olvidar las comillas $medidas[0] $medidas[0] • El primer elemento es el 0 El primer elemento es el 0
  • 20.
    3. Formularios 3. Formularios 1. 1.Acceso a formularios HTML desde PHP Acceso a formularios HTML desde PHP 2. 2. El formulario de PHP El formulario de PHP 3. 3. Campos dinámicos con JavaScript Campos dinámicos con JavaScript 4. 4. Validación de los datos de un formulario Validación de los datos de un formulario
  • 21.
    3.1.Acceso a formulariosdesde 3.1.Acceso a formularios desde PHP PHP • Desde PHP se puede acceder fácilmente a los Desde PHP se puede acceder fácilmente a los datos introducidos desde un formulario HTML datos introducidos desde un formulario HTML • Veámoslo con un ejemplo simple Veámoslo con un ejemplo simple
  • 22.
    3.1.Acceso a formulariosdesde 3.1.Acceso a formularios desde PHP PHP • Fichero uno.php Fichero uno.php <HTML> <HTML> <BODY> <BODY> <FORM ACTION=”dos.php” METHOD=”POST”> <FORM ACTION=”dos.php” METHOD=”POST”> Edad: <INPUT TYPE=”text” NAME=”edad”> Edad: <INPUT TYPE=”text” NAME=”edad”> <INPUT TYPE=”submit” VALUE=”aceptar”> <INPUT TYPE=”submit” VALUE=”aceptar”> </FORM> </FORM> </BODY> </BODY> </HTML> </HTML> • Fichero dos.php Fichero dos.php <HTML> <HTML> <BODY> <BODY> <?PHP <?PHP print (“La edad es: $edad”); print (“La edad es: $edad”); ?> ?> </BODY> </BODY> </HTML> </HTML>
  • 23.
    3.1.Acceso a formulariosdesde 3.1.Acceso a formularios desde PHP PHP
  • 24.
    3.1.Acceso a formulariosdesde 3.1.Acceso a formularios desde PHP PHP • Acceso a los diferentes tipos de elementos de entrada de Acceso a los diferentes tipos de elementos de entrada de formulario formulario – Elementos de tipo INPUT Elementos de tipo INPUT • TEXT TEXT • RADIO RADIO • CHECKBOX CHECKBOX • BUTTON BUTTON • FILE FILE • HIDDEN HIDDEN • PASSWORD PASSWORD • SUBMIT SUBMIT – Elemento SELECT Elemento SELECT • Simple / múltiple Simple / múltiple – Elemento TEXTAREA Elemento TEXTAREA
  • 25.
    3.2.El formulario dePHP 3.2.El formulario de PHP • La forma habitual de trabajar con formularios en PHP es La forma habitual de trabajar con formularios en PHP es utilizar un único programa que procese el formulario o lo utilizar un único programa que procese el formulario o lo muestre según haya sido o no enviado, respectivamente muestre según haya sido o no enviado, respectivamente • Ventajas: Ventajas: – Disminuye el número de ficheros Disminuye el número de ficheros – Permite validar los datos del formulario en el propio formulario Permite validar los datos del formulario en el propio formulario • Procedimiento: Procedimiento: si se ha enviado el formulario: si se ha enviado el formulario: Procesar formulario Procesar formulario si no: si no: Mostrar formulario Mostrar formulario fsi fsi
  • 26.
    3.2.El formulario dePHP 3.2.El formulario de PHP • Para saber si se ha enviado el formulario se acude a la Para saber si se ha enviado el formulario se acude a la variable correspondiente al botón de envío. Si este botón variable correspondiente al botón de envío. Si este botón aparece de la siguiente forma en el formulario HTML: aparece de la siguiente forma en el formulario HTML: <INPUT TYPE="SUBMIT" NAME="enviar“ VALUE="procesar"> <INPUT TYPE="SUBMIT" NAME="enviar“ VALUE="procesar"> entonces la condición anterior se transforma en: entonces la condición anterior se transforma en: if (isset($enviar)) if (isset($enviar)) o bien o bien if ($enviar == “procesar”) if ($enviar == “procesar”)
  • 27.
    3.3.Campos dinámicos con 3.3.Camposdinámicos con JavaScript JavaScript • Es habitual que un campo de un formulario deba Es habitual que un campo de un formulario deba cambiar de valor al modificarse otro campo del cambiar de valor al modificarse otro campo del mismo formulario mismo formulario • Si el nuevo valor está almacenado en una base de Si el nuevo valor está almacenado en una base de datos, la solución es volver a cargar el formulario datos, la solución es volver a cargar el formulario con los nuevos requisitos con los nuevos requisitos • En algunos casos el nuevo valor puede calcularse de En algunos casos el nuevo valor puede calcularse de forma automática, para lo cual podemos usar forma automática, para lo cual podemos usar JavaScript JavaScript
  • 28.
    3.4.Validación de formularios 3.4.Validaciónde formularios • Toda la información proveniente de un Toda la información proveniente de un formulario debe considerarse por norma formulario debe considerarse por norma como contaminada, y hay que validarla antes como contaminada, y hay que validarla antes de darla por buena y procesarla de darla por buena y procesarla • Lo más eficiente es mostrar los errores sobre Lo más eficiente es mostrar los errores sobre el propio formulario para facilitar su el propio formulario para facilitar su corrección. corrección.
  • 29.
    4.Acceso a basesde datos MySQL 4.Acceso a bases de datos MySQL en PHP en PHP 1. 1.Bases de datos en la Web Bases de datos en la Web 2. 2.Lenguaje SQL Lenguaje SQL 3. 3.Funciones de PHP para el acceso a Funciones de PHP para el acceso a bases de datos MySQL bases de datos MySQL
  • 30.
    4.1.Bases de datosen la Web 4.1.Bases de datos en la Web • Las bases de datos permiten almacenar de una Las bases de datos permiten almacenar de una forma estructurada y eficiente toda la información forma estructurada y eficiente toda la información de un sitio web de un sitio web • Ventajas Ventajas – Proporcionar información actualizada Proporcionar información actualizada – Facilitar la realización de búsquedas Facilitar la realización de búsquedas – Disminuir los costes de mantenimiento Disminuir los costes de mantenimiento – Implementar sistemas de control de acceso Implementar sistemas de control de acceso – Almacenar preferencias de los usuarios Almacenar preferencias de los usuarios
  • 31.
    4.1.Bases de datosen la Web 4.1.Bases de datos en la Web • Esquema básico de un sitio web soportado por bases de datos: Esquema básico de un sitio web soportado por bases de datos:
  • 32.
    4.2.Lenguaje SQL 4.2.Lenguaje SQL •SQL ( SQL (Structured Query Language Structured Query Language) es el lenguaje que se utiliza ) es el lenguaje que se utiliza para comunicarse con la base de datos para comunicarse con la base de datos • Procedimiento de comunicación con la base de datos: Procedimiento de comunicación con la base de datos: Página PHP Base de datos orden SQL resultado
  • 33.
    4.2.Lenguaje SQL 4.2.Lenguaje SQL •Las instrucciones más habituales son SELECT, INSERT, UPDATE, Las instrucciones más habituales son SELECT, INSERT, UPDATE, DELETE DELETE • Veamos su sintaxis básica y algunos ejemplos de uso Veamos su sintaxis básica y algunos ejemplos de uso • Para ello utilizaremos una tabla Para ello utilizaremos una tabla noticias noticias con cinco campos: un con cinco campos: un identificador único de la noticia, el título de la noticia, el texto identificador único de la noticia, el título de la noticia, el texto de la noticia, la categoría de la noticia y la fecha de publicación de la noticia, la categoría de la noticia y la fecha de publicación de la noticia de la noticia título texto categoría noticias id fecha
  • 34.
    4.3.Funciones de PHPpara el 4.3.Funciones de PHP para el acceso a bases de datos MySQL acceso a bases de datos MySQL • Los pasos para acceder desde PHP a una base de datos son Los pasos para acceder desde PHP a una base de datos son los siguientes: los siguientes: – Conectar con el servidor de bases de datos Conectar con el servidor de bases de datos – Seleccionar una base de datos Seleccionar una base de datos – Enviar la instrucción SQL a la base de datos Enviar la instrucción SQL a la base de datos – Obtener y procesar los resultados Obtener y procesar los resultados – Cerrar la conexión con el servidor de bases de datos Cerrar la conexión con el servidor de bases de datos
  • 35.
    Acceso a basesde datos MySQL Acceso a bases de datos MySQL • Las funciones concretas de MySQL que realizan estas Las funciones concretas de MySQL que realizan estas operaciones operaciones son: son: – Conectar con el servidor de bases de datos: Conectar con el servidor de bases de datos: • mysql_connect() mysql_connect() – Seleccionar una base de datos: Seleccionar una base de datos: • mysql_select_db() mysql_select_db() – Enviar la instrucción SQL a la base de datos: Enviar la instrucción SQL a la base de datos: • mysql_query() mysql_query() – Obtener y procesar los resultados: Obtener y procesar los resultados: • mysql_num_rows() y mysql_fetch_array() mysql_num_rows() y mysql_fetch_array() – Cerrar la conexión con el servidor de bases de datos: Cerrar la conexión con el servidor de bases de datos: • mysql_close() mysql_close()
  • 36.
    Acceso a basesde datos MySQL Acceso a bases de datos MySQL • Conectar con el servidor de bases de datos: Conectar con el servidor de bases de datos: mysql_connect() mysql_connect() – Devuelve un identificador de la conexión en caso de éxito y false Devuelve un identificador de la conexión en caso de éxito y false en caso contrario en caso contrario • Sintaxis: Sintaxis: $conexion = mysql_connect (servidor, username, password); $conexion = mysql_connect (servidor, username, password); • Ejemplo: Ejemplo: $conexion = mysql_connect (“localhost”, “cursophp”, “”) $conexion = mysql_connect (“localhost”, “cursophp”, “”) or die (“No se puede conectar con el servidor”); or die (“No se puede conectar con el servidor”); $conexion = mysql_connect (“localhost”, “cursophp-ad”, “php.hph”) $conexion = mysql_connect (“localhost”, “cursophp-ad”, “php.hph”) or die (“No se puede conectar con el servidor”); or die (“No se puede conectar con el servidor”);
  • 37.
    Acceso a basesde datos MySQL Acceso a bases de datos MySQL • Seleccionar una base de datos: Seleccionar una base de datos: mysql_select_db() mysql_select_db() – Devuelve true en caso de éxito y false en caso contrario Devuelve true en caso de éxito y false en caso contrario • Sintaxis: Sintaxis: mysql_select_db (database); mysql_select_db (database); • Ejemplo: Ejemplo: mysql_select_db (“lindavista”) mysql_select_db (“lindavista”) or die (“No se puede seleccionar la base de datos”); or die (“No se puede seleccionar la base de datos”);
  • 38.
    Acceso a basesde datos MySQL Acceso a bases de datos MySQL • Enviar la instrucción SQL a la base de datos: Enviar la instrucción SQL a la base de datos: mysql_query() mysql_query() – Devuelve un identificador o true (dependiendo de la Devuelve un identificador o true (dependiendo de la instrucción) si la instrucción se ejecuta correctamente y false en instrucción) si la instrucción se ejecuta correctamente y false en caso contrario caso contrario • Sintaxis: Sintaxis: $consulta = mysql_query (instrucción, $conexion); $consulta = mysql_query (instrucción, $conexion); • Ejemplo: Ejemplo: $consulta = mysql_query (“select * from noticias”, $conexion) $consulta = mysql_query (“select * from noticias”, $conexion) or die (“Fallo en la consulta”); or die (“Fallo en la consulta”);
  • 39.
    Acceso a basesde datos MySQL Acceso a bases de datos MySQL • Obtener y procesar los resultados: Obtener y procesar los resultados: mysql_num_rows(), mysql_num_rows(), mysql_fetch_array() mysql_fetch_array() – En el caso de que la instrucción enviada produzca unos En el caso de que la instrucción enviada produzca unos resultados, mysql_query() devuelve las filas de la tabla afectadas resultados, mysql_query() devuelve las filas de la tabla afectadas por la instrucción por la instrucción – mysql_num_rows() devuelve el número de filas afectadas mysql_num_rows() devuelve el número de filas afectadas – Para obtener las distintas filas del resultado se utiliza la función Para obtener las distintas filas del resultado se utiliza la función mysql_fetch_array(), que obtiene una fila del resultado en un mysql_fetch_array(), que obtiene una fila del resultado en un array asociativo cada vez que se invoca array asociativo cada vez que se invoca • Sintaxis: Sintaxis: $nfilas = mysql_num_rows ($consulta); $nfilas = mysql_num_rows ($consulta); $fila = mysql_fetch_array ($consulta); $fila = mysql_fetch_array ($consulta);
  • 40.
    Acceso a basesde datos MySQL Acceso a bases de datos MySQL • Cerrar la conexión con el servidor de bases de datos: Cerrar la conexión con el servidor de bases de datos: mysql_close() mysql_close() • Sintaxis: Sintaxis: mysql_close ($conexion); mysql_close ($conexion); • Ejemplo Ejemplo mysql_close ($conexion); mysql_close ($conexion);
  • 41.
    Bibliografía Bibliografía • http://www.elguruprogramador.com.ar http://www.elguruprogramador.com.ar • http://www.php-hispano.net http://www.php-hispano.net •http://www.php.net http://www.php.net • http://www.htmlpoint.com/php/guida/php_ http://www.htmlpoint.com/php/guida/php_ 01.htm 01.htm