una introducción al lenguaje. ¿qué es php? se trata de un lenguaje de programación que es...

Post on 23-Jan-2016

223 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Una introducción al lenguajeUna introducción al lenguaje

¿Qué es PHP?¿Qué es PHP?

• Se trata de un lenguaje de programación que es interpretado por un servidor web.

• No se trata de un lenguaje genérico. PHP está orientado al desarrollo de sitios web dinámicos.

• No depende del navegador del usuario (como en Javascript). El código PHP se ejecuta en el servidor.

¿Cómo funciona PHP?¿Cómo funciona PHP?

• El usuario escribe una URL en su navegador y éste envía un petición HTTP al servidor web.

• El servidor lee la pagina PHP (la interpreta) y envía al navegador del usuario un documento compilado en formato HTML.

¿Qué necesito para programarlo?¿Qué necesito para programarlo?

• Un servidor web como Apache. Lo encontraremos en www.apache.org

• Las librerías de PHP para que el servidor web pueda “leer” PHP. Las descargamos desde www.php.net

• Un editor de texto para escribir las páginas PHP.

• Colocar las páginas PHP en algún directorio del servidor web y listo !!

Usemos Weaverslave

Instalación de Apache y Instalación de Apache y PHP en WindowsPHP en Windows

Instalamos Apache 2.0Instalamos Apache 2.0

• Localizamos el ejecutable del instalador y empezamos..

• Aceptamos los términos de la licencia…

• Insertamos los valores del servidor, el dominio y el mail del administrador de Apache

• Elegimos la instalación personalizada..

• Elegimos “Change” para cambiar el directorio de instalación por uno más “corto” como “C:\”

• Con el nuevo directorio elegido, continuamos la instalación..

• SÓLO PARA WINDOWS XP SP2: le indicamos al firewall que desbloquee el servicio Apache para el puerto 80.

• Comprobamos la instalación tecleando http://localhost en un navegador.

• En la barra de tareas tenemos el icono para gestionar el servicio Apache.

Instalamos PHP como módulo de Instalamos PHP como módulo de Apache en WindowsApache en Windows

1) Descomprimimos el ZIP que contiene PHP en el directorio C:\

2) Copiamos todas las librerías DLL del directorio C:\php\sapi en el directorio system32 de Windows (para Windows 2000 sería C:\winnt\system32)

3) En C:\php tenemos el fichero php.ini-recommended, lo renombramos como php.ini y lo copiamos al directorio Windows (para Windows 2000 sería C:\winnt)

4) Editamos el fichero httpd.conf que se encuentra en c:\Apache2\conf y le agregamos estas líneas:

LoadModule php4_module C:\php\sapi\php4apache2.dll AddType application/x-httpd-php .php

5) El sitio adecuado del fichero para hacerlo sería donde encontremos otras directivas del tipo LoadModule y AddType

OJO!!

6) Copiamos la DLL "php4ts.dll", que podemos encontrar en nuestro directorio de instalación de PHP (C:\php) en la carpeta c:\php\sapi

7) Editamos el fichero httpd.conf y buscamos el valor DirectoryIndex, lo modificamos para dejarlo como éste:

DirectoryIndex index.html index.html.var index.php

• Escribimos la siguiente página (usando el notepad, por ejemplo) prueba.php:

<?php

phpinfo()

?>

• Guardamos la página en la carpeta htdocs del directorio de instalación de Apache

• En un navegador cualquiera probamos la carga de la página con:

http://localhost/prueba.php

• Si vemos esto, todo fue bien..

• Ahora ya podemos continuar con PHP..

Modificación del entorno PHP: el Modificación del entorno PHP: el fichero php.inifichero php.ini

• Todas las configuraciones para modificar el comportamiento se hacen a través del fichero php.ini (situado en la carpeta Windows, como c:\winnt ó c:\windows).

• Una modificación que debemos hacer ahora mismo es cambiar el valor de la variable register_globals para ponerla en On. Mas adelante veremos el motivo.

register_globals = On Importante

¿Se parece en algo a Javascript?¿Se parece en algo a Javascript?

• Aunque la sintaxis del lenguaje es parecida (derivada del lenguaje C) el funcionamiento de los dos es muy distinto.

• Javascript se interpreta en el navegador del usuario mientras se carga la pagina.

• PHP se interpreta en el servidor. Si PHP se ejecuta bien, lo hará bien en cualquier navegador.

¿Qué se puede hacer con PHP?¿Qué se puede hacer con PHP?

• Cualquier cosa, pero PHP está pensado para el desarrollo de sitios web dinámicos como tiendas virtuales en Internet.

• PHP está pensado para la conexión con bases de datos como MySQL.

• En Internet hay gran cantidad de sitios que funcionan con la arquitectura LAMP = Linux + Apache + MySQL + PHP

Empezando con PHPEmpezando con PHP• Las instrucciones PHP se pueden colocar

dentro del las etiquetas HTML.• Para resaltar el código PHP debemos

incluirlo siempre entre las etiquetas: <?php ……………. aquí va el código PHP ……………. ?>

Siempre escribiremos

dentro del bloque php

• El primer programa PHP que muestra un mensaje en el navegador:<?php echo “Empezando con PHP”;?>

• OJO: todas las líneas de código PHP terminan con punto y coma.

• Las omisiones del punto y coma provocan siempre mensajes de error

• No es necesario el punto y coma en las estructuras de control, como veremos.

¿Cómo incluir comentarios al ¿Cómo incluir comentarios al código?código?

// esto es un comentario corto

/* este comentario

ocupa varias

líneas */

# este comentario también es válido

¿Qué es una variable?¿Qué es una variable?

• Una variable define un punto de almacenamiento en la memoria del ordenador.

• Un nombre define a una variable y luego podemos asignarle diferentes valores a lo largo del programa.

• Por ejemplo, una variable puede llamarse nombre y tomar primero el valor de “Luis”, después “Pepe”, etc..

Tipos de variables en PHPTipos de variables en PHP

• PHP reconoce automáticamente los tipos de variables, ya que fue escrito para la web.

• PHP trabaja internamente con variables de tipo: string (texto), integer (numero entero) y float (numero real en coma flotante)

• No es necesario declarar las variables, cuando se les asigna un valor ya se consideran declaradas.

¿Cómo nombrar las variables?¿Cómo nombrar las variables?

• Toda variable empieza obligatoriamente por un signo de $, como $nombre

• No se deben usar acentos, espacios, diéresis, ni caracteres especiales del teclado.

• Se permite usar el guión bajo: _• PHP distingue mayúsculas y minúsculas,

por lo que $nombre es distinto de $Nombre.

Un ejemploUn ejemplo

<?php

$nombre=“Juan”;

echo “Hola $nombre, ¿Qué tal?”;

?>

• Los valores strings se asignan siempre entre comillas.

¿No es necesario concatenar el ¿No es necesario concatenar el texto y las variables?texto y las variables?

• No es necesario, por ejemplo en la orden echo, se pueden mezclar texto y variables sin usar ningún operador de concatenación especial.

• Opcionalmente, se puede usar el operador de concatenación punto “.”.

• Por ejemplo: echo “Hola” .$nombre. “¿Qué tal”

¿Cómo incluyo saltos de línea?¿Cómo incluyo saltos de línea?

• Podemos usar el HTML y escribir “breaks” con <br>. Por ejemplo:echo “linea1<br>”;

echo “linea2”;

• O bien usar el comando “nueva linea”: \n de PHP. Por ejemplo:echo “linea1\n”;

echo “linea2”;

Arrays en PHPArrays en PHP

• Un array permite guardar distintos valores en una variable y distinguirlos por un índice, por ejemplo: $variable[indice]

• El primer elemento se sitúa en el índice 0.

• Para asignar valores al array, lo hacemos así:$variable[indice]=valor

• Por ejemplo, un array con los días de la semana:<?php$dia[0]=“Lunes”;$dia[1]=“Martes”;….….$dia[6]=“Domingo”;// mostrar el Juevesecho $dia[3];?>

• También podemos cargar el array con datos de la siguiente forma:<?php

$dia=array(“Lunes”,”Martes”,…..,”Domingo”);

// mostrar el Sábado

echo $dia(5);

?>

• De este modo la asignación de índices se hace de modo automático.

EjercicioEjercicio

• La función date( ) permite trabajar con la fecha actual. Por ejemplo date(“w”) nos devuelve el numero de día de la semana, empezando por el 0.

• Se trata de cargar un array con los 7 días de la semana y usando la función anterior poner en pantalla un mensaje que diga: Hoy es ……”

• La cantidad de elementos de un array se puede obtener con la función count, por ejemplo, si tengo un array $dia con 7 elementos y le pido el valor de count($dia) me devolverá un 7.

Cálculos con PHPCálculos con PHP

• PHP incluye los operadores “+”, “-”, “*” y “/”

• Por ejemplo: $a=3+5

• Además incluye los operadores de incremento / decremento: “++” y “- -”. Por ejemplo: $a++ es lo mismo que $a=$a+1. Si tengo $b=6 y hago $b- - y entonces tengo que $b=5

EjercicioEjercicio

• Con las variables $a=5 y $b=32. Realizar los cálculos (e imprimir los resultados) de:– La suma de a y b– La multiplicación de a y b– Sumar 5 unidades a b– Incrementar una unidad a “a”– Decrementar un unidad a b– Asignar a “a” el valor de b

EjercicioEjercicio

• Usando los operadores de PHP, calcular imprimir el precio final de un producto que cuesta 750 € y al que se aplica un IVA de 16 %.

• La función round(valor,decimales) nos permite redondear una cantidad a un numero concreto de decimales. Por ejemplo:round(1.2375,2) devuelve 1.24

Formularios con PHP y HTMLFormularios con PHP y HTML

• PHP se hizo pensando en un uso sencillo con los formularios HTML.

• A través de PHP podemos validar y valorar el contenido de los formularios.

• Los formularios se crean en HTML con etiquetas <form> e <input> estándar.

• Desde PHP usaremos las variables que representan los datos del formulario.

EjemploEjemplo

• Vamos a realizar un simple formulario HTML con una caja de texto y un botón de “Submit”.

• Lo que haremos será hacer que el action del formulario sea mostrar la pagina “valorar.php” y como method pondremos “post”

<form action="valorar.php" method="post">

Su nombre:

<input type="text" name="nombre" />

<input type="submit" value="Enviar"/>

</form>

• Ahora crearemos la pagina valorar.php: <?php

echo "Hola $nombre, bienvenido a PHP";

?>• Con lo cual, queda claro que para acceder al valor de la

caja, PHP usa el valor del “name” de la caja como si fuese una variable.

La estructura condicional La estructura condicional ifif

• Nos permite evaluar una condición y tomar una decisión según el resultado del test.

• Su sintaxis es: if (condición) {

código a ejecutar si condición es Verdadera }

else {

código a ejecutar si condición es Falsa }

EjemploEjemplo

• Crearemos un formulario HTML con dos botones de opción (radio), una caja y un botón de Enviar (submit).

• El código del formulario sería: <form action="valorar2.php" method="post">

Tratamiento

<input type="radio" name="trato" value="h" /> Sr.

<input type="radio" name="trato" value="m“ /> Sra. <br />

Su Apellido:

<input type="text" name="apellido" />

<input type="submit" value="Enviar" />

</form>

• Ahora creamos la pagina valorar2.php:<?php

if ($trato=="h") {

echo "Hola Se&ntilde;or $apellido";}

else {

echo "Hola Se&ntilde;ora $apellido";}

?>

Los operadores de comparaciónLos operadores de comparación

• A==B, permite comprobar si A es igual a B

• A!=B, permite comprobar si A es distinto de B

• También tenemos: >, >=, <, <=

• Expr1 && Expr2 es Verdadero si Expr1 y Expr2 son verdaderas.

• Expr1 || Expr2 es Verdadero si Expr1 ó Expr2 son verdaderas ó lo son las dos.

La función La función isset( )isset( )

• Esta función nos permite comprobar si una variable se ha definido y en ese caso devuelve un True.

• La sintaxis es isset($variable)

• Muy útil para comprobar si se han rellenado los campos de un formulario

EjercicioEjercicio

• Usando la función isset y el bloque if, realizar una comprobación sobre una caja de texto cualquiera, advirtiendo al usuario en caso de que la caja se encuentre sin datos.

SoluciónSolución

<?php

if (isset($nombre) && $nombre!="") {

echo "Hola $nombre, bienvenido a PHP";}

else {

echo "No has escrito nada"; }

?>

Valoración en el propio documentoValoración en el propio documento

<form action=“formulario.php” method="post"> <input type="text" name="nombre" /> <input type="submit" name="enviar" /> </form> <?php if (isset($nombre) && $nombre!="") { echo "Hola $nombre";} else { if (isset($enviar)) { echo "Rellena los campos";} } ?>

Los campos del formulario como un Los campos del formulario como un arrayarray

• PHP puede tratar los datos de un formulario como elementos de un array.

• Por ejemplo, si hemos usado method=“post” en el formulario, tendremos los diferentes campos dentro del array $_POST.

• Para acceder al campo nombre, lo haremos con $_POST[“nombre”]

EjercicioEjercicio• Crear un sencillo formulario con una caja de

texto y un botón de envío que muestre el uso del array de campos anterior, por ejemplo para conseguir el campo nombre hacemos:

<?php

if (isset($_POST["nombre"]) && $_POST["nombre"]!="" && isset($_POST["boton_envio"])) {

echo "Hola " .$_POST["nombre"];}

?>

¿Cómo mantener los datos en un ¿Cómo mantener los datos en un formulario?formulario?

• Si enviamos un formulario y nos hemos olvidado de cubrir algún campo sabemos que las cajas se vacían (si el formulario se valida sobre si mismo), en este caso podemos hacer que se rellene un campo automáticamente haciendo:

<input type="text" name="nombre" value="<?php if(isset($nombre)) {

echo $nombre;}?>"/>

Redirección con Redirección con headerheader

• La función header de PHP permite redireccionar nuestra página hacia otra cualquiera.

• Su sintaxis es header(“Location: URL”), por ejemplo: header(“Location: destino.html”)

• Es importante que que esta orden se encuentre antes de la etiqueta <html> inicial

EjercicioEjercicio

• Redireccionar alguna página HTML hacia otra cualquiera que tengamos en nuestro propio servidor.

• Modificar ahora el header para que todas las conexiones a nuestra página se redirigan a http://www.google.com

¿Cómo proteger texto HTML con ¿Cómo proteger texto HTML con PHP?PHP?

<form action="ver2.php" method="post"> <input type="text" name="pass" /> <input type="submit" /> </form> <?php if (isset($pass)) { if ($pass==“mipassword") { ?> <p>Esto va protegido por password</p> <?php }} ?>

El bloque El bloque switchswitch

• Comprueba si una variable coincide con algún valor concreto; en caso afirmativo ejecuta un bloque de ordenes.

• En caso de no coincidir se ejecuta el bloque default

• Después de cada caso pondremos la orden break para evitar mas comprobaciones.

• Sintaxis del bloque switch :switch ($variable) { case valor1: instrucciones; break; case valor1: instrucciones; break; ….. default: instrucciones por defecto;}

EjemploEjemplo<?php switch ($numero) { case 1: echo “Has puesto el uno"; break; case 2: echo “Has puesto el dos"; break; case 3: echo “Has puesto el tres"; break; default: echo "No has puesto ni uno, ni dos, ni tres";} ?>

EjercicioEjercicio

• Usando una estructura switch realizar un script PHP (llamado switch.php) que permita escribir un día de la semana e una caja de texto y al darle al botón de enviar nos imprima un texto personalizado. Para simplificar los casos vamos a considerar como respuestas posibles el lunes, el viernes y el domingo. Los demás días se considerarán en el bloque por defecto.

EjercicioEjercicio• Sabemos que la etiqueta <body

bgcolor=“color”> permite especificar un color de fondo para nuestra pagina.

• Se trata de realizar un script PHP (llamado color.php) que mediante 3 botones de opcion (radio) y un boton estandar de submit nos permita cambiar el color de fondoe entre estos 3 colores: “white”, “silver”, “green”. Por defecto se mostrará el fondo en “blue”.

SoluciónSolución<body bgcolor="<?php switch ($color) { case 1: echo "white"; break; case 2: echo "silver"; break; case 3: echo "green"; break; default: echo "blue";} ?>"> <form action=“color.php" method="post"> Blanco<input type="radio" name="color" value="1"/> Silver<input type="radio" name="color" value="2"/> Verde<input type="radio" name="color" value="3"/> <input type="submit“ /> </form> </body>

El bucle El bucle whilewhile

• Un bucle sirve para ejecutar un grupo de instrucciones un determinado numero de veces, mientras una condición sea cierta.

• Sintaxis del while:

while (condición) {

ordenes;

}

EjemploEjemplo

• El siguiente bucle imprime la frase “una iteracion del bucle”, 5 veces:

$contador=1;

while ($contador<=5) {

echo “una iteracion del bucle <br>”;

$contador++;

}

EjercicioEjercicio

• Realizar un script PHP llamado while.php que muestre todos los números impares que hay entre 1 y 100

• Realizar ahora el mismo ejercicio anterior pero en este caso mostrando los números en el orden inverso

El bucle El bucle do…whiledo…while

• Similar al while estandar, pero en este caso la comprobación de la condición se hace al final del bucle con lo cual nos aseguramos que al menos una vez se ejecutará el bucle.

• Sintaxis:

do {

código a ejecutar;

while (condición)

EjemploEjemplo

<?php

$a=0;

do {

echo “$a <br>”;

$a++;}

while($a>=1 && $a<=100)

?>

• Este bucle imprime también el valor 0

El bucle El bucle forfor

• Permite realizar un grupo de iteraciones sobre un conjunto de valores concretos, mientras una condición sea cierta.

• Sintaxis:

for (inicio; condición_seguir; incremento) {

ordenes a ejecutar;

}

EjemploEjemplo

for ($i=1;$i<=100;$i++) {

echo “$i <br>”;

}

• Este bucle se inicia con $i valiendo 1, se comprueba que se cumple la condición (1<=100), se incrementa $i en una unidad ($i=2) y se sigue así hasta que $1 se pase de 100, entonces se para.

EjercicioEjercicio

• Realizar las mismas iteraciones anteriores (las del bucle while) pero esta vez usando el bucle for.

• Crear un bucle for que muestre todos los números impares que hay entre el 10 y el 30.

El bucle El bucle foreachforeach para arrays para arrays

• Permite recorrer un array y devolver los valores que contiene.

• Tiene una sintaxis simple y otra extendida

• Ejemplo de sintaxis simple:

foreach ($array as $value) {

echo “$value <br>”;

}

• Ejemplo de sintaxis extendida:

foreach ($array as $key => $value) {

echo “$key vale $value <br>”;

}

• Es claro que en el array, $key equivale al índice y $value al valor del array para ese índice

EjercicioEjercicio

• Crear un array $dias con los días de la semana y mostrar todas sus parejas indices / valores mediante el bucle foreach

Funciones en PHPFunciones en PHP

• Una función consiste en agrupar varios comandos en un solo comando que se almacena como una función.

• Sintaxis de la declaración de una función:

function nombrefuncion($parametros,…)

{

// Aquí van las órdenes de la función

return $valor; }Valor que

devuelve

EjemploEjemplo

• La siguiente función devuelve la cantidad de segundos que hay en un determinado numero de días:

function segundos($dias)

{ $total=$dias*24*60*60;

return $total; }

echo “6 dias son “ .segundos(6). “segundos”;

El parámetro$dias recibe la cantidad

de dias

El cálculode los segundos

se guarda en $total

Se llamaa la función

con el valor 6

La funcióndevuelve el

cálculo

¿Cómo incluir un fichero PHP en ¿Cómo incluir un fichero PHP en otro? (muy útil para las funciones)otro? (muy útil para las funciones)

• Para ello usaremos la función include( )• Sintaxis: include(nombre_fichero);• Ejemplo: <?php echo “Antes de cargarlo”; include (“otro.php”); echo “Despues de cargarlo”; ?>

Las órdenesdel fichero“otro.php”se cargan

aquí

Envío de formularios por e-mailEnvío de formularios por e-mail

• Para enviar correos desde PHP usaremos la función mail, cuya sintaxis es:

mail (“email del destinatario”,”asunto”,”mensaje”,”From: email del remitente”)

• La función mail devuelve un True si el mail se envió correctamente y un False en caso contrario.

• Se necesita un servidor SMTP local para poder enviar los correos, o indicar otro externo

Este formulario permite enviar correos a una dirección de correo fija

EjercicioEjercicio• Crear un script PHP que conste de un formulario

como el de la diapositiva anterior y que permita enviar correos a nuestra cuenta de Educastur: loquesea@educastur.princast.es

• Como no tenemos un servidor local de SMTP que nos envié los correos, iremos al fichero php.ini (en c:\winnt), y modificaremos la variable SMTP, para que sea:

SMTP = smtp.educastur.princast.es• Después de este cambio reiniciaremos el

servicio Apache desde la barra de tareas

Un contador de visitas en PHPUn contador de visitas en PHP

• Crearemos un contador tipo texto desde PHP.

• Usaremos un archivo para guardar las visitas a nuestra página, que gestionaremos desde PHP.

• Pero primero, tenemos que ver como acceder a archivos desde PHP. Vremos como abrir archivos y como cerrarlos.

¿Cómo abrir archivos?¿Cómo abrir archivos?

• Usaremos la función fopen( )

• Sintaxis para abrir un fichero:

$puntero=fopen(nombrearchivo,modo);– Nombrearchivo: nombre del fichero que

queremos abrir, por ejemplo “contador.txt”– Modo: se puede abrir en modo lectura (r), en

modo lectura / escritura (r+), en modo sólo escritura (w), etc..

¿Para qué sirve el puntero?¿Para qué sirve el puntero?

• Define un canal a través del cual se accede al fichero.

• Desde que el fichero está abierto se trabaja con el puntero.

• Cuando se abre el fichero, el puntero se coloca al principio del fichero para esperar instrucciones.

La función La función fgets( )fgets( )

• Permite leer los datos de un archivo.

• Se termina de leer cuando se alcanza el último carácter del fichero o el último byte de datos.

• Sintaxis:

fgets($puntero,byte);

donde byte indica cuantos bytes (caracteres) queremos leer del fichero

Las funciones Las funciones rewind( )rewind( ) y y fputs( )fputs( )

• rewind( ) permite colocar el puntero al principio de la linea.

• fputs( ) permite escribir datos en el fichero, su sintaxis es:

fputs($puntero,datos_a _escribir);

Cierre del fichero con Cierre del fichero con fclose( )fclose( )

• Cuando terminamos de trabajar con el fichero debemos cerrarlo siempre.

• Sintaxis:

fclose($puntero);

EjercicioEjercicio

• Realizar un contador de visitas en PHP.

• En la carpeta htdocs, crearemos un fichero de texto “visitas.txt” y escribiremos en él un 0.

• Crearemos un fichero contador.php e implementaremos en él las siguientes instrucciones:

1. Abrir el fichero en modo lectura / escritura.

2. Leer del fichero 8 bytes (ó la cantidad deseada) y guardarlos en una variable que llamaremos $contador

3. Escribir en pantalla: “Esta es la visita numero: $contador”

4. Incrementar el contador en una unidad

5. Colocar el puntero al principio del fichero

6. Escribir el nuevo valor del contador en el fichero

7. Cerrar el fichero

SoluciónSolución

<?php$puntero=fopen("visitas.txt","r+");$contador=fgets($puntero,8);echo “Esta es la visita numero: $contador”;$contador++;rewind($puntero);fputs($puntero,$contador);fclose($puntero);?>

Otras funciones: las función Otras funciones: las función fread( ) fread( ) y fwrite( )y fwrite( )

• fread() es similar a la función fgets( ), pero es este caso se lee todo al fichero, no se va línea por línea como en el caso de fgets( )

• Sintaxis:

fread($puntero,byte);

• fwrite() nos permite escribir un valor en un fichero con la sintaxis: fwrite($puntero,valor);

Otras funciones: la función Otras funciones: la función filesize( )filesize( )

• Permite averiguar el tamaño en bytes de un fichero.

• Muy útil para usarla con las funciones fgets( ) y fread( )

• Su sintaxis es:

filesize(nombrearchivo);

Otras funciones: la función Otras funciones: la función readfile( )readfile( )

• Esta función lee y muestra todo el contenido de un fichero.

• Sintaxis:

readfile(nombrearchivo);

EjercicioEjercicio

• Usando las funciones fwrite() y readfile(), implementar un libro de visitas en PHP, que conste de una caja de texto y un botón para escribir los comentarios.

• Los comentarios del fichero se mostraran en la pagina PHP, separados por párrafos

• El fichero de visitas se abrirá en modo “a” (append) para permitir sólo añadir nuevos datos

Solución de la parte PHPSolución de la parte PHP

<?php$puntero=fopen("mis_visitas.txt","a");fwrite($puntero,nl2br($opinion)."<p>");fclose($puntero);?><h3>Opiniones enviadas</h3><?phpreadfile("mis_visitas.txt");?>

La funciónnl2br

respeta los saltos de

línea

Cookies con PHPCookies con PHP

• Las cookies (galletas informáticas) son simples ficheros de texto mediante los cuales un sitio web almacena información en el ordenador del usuario.

• Solamente el sitio que ha creado la cookie es capaz de volver a leerla.

• Las cookies son un asunto privado entre el sitio web y el usuario

¿Cómo se envía un cookie?¿Cómo se envía un cookie?

• Para establecer una cookie usaremos la sintaxis:

setcookie(“nombre”,”valor”,caducidad); donde:– nombre: es el valor que le damos a la cookie– valor: sería el valor que le damos– caducidad: indica la fecha en la que caducará

la cookie, por ejemplo: time()+(86400*30), es decir dentro de 30 días

• Importante: si usamos cookies, la primera orden deberá ser establecer la cookie.

• Ejemplo:

<?php

setcookie(“micookie”,”si”,time()+86400)

?>

• El ejemplo anterior establece una cookie de nombre “micookie” con el valor “si” y que durará un día.

¿Cómo leer una cookie?¿Cómo leer una cookie?

• Lo mejor de todo es que el nombre de la cookie se maneja como una variable PHP corriente.

• En el ejemplo anterior, podemos usar la variable $micookie para comprobar si está establecida y si tiene el valor de “si”.

• De este modo se pueden mostrar mensajes personalizados al navegador del usuario, usando por ejemplo la sentencia if

EjemploEjemplo<?php setcookie(“micookie","si",time()+(86400*30)); ?><html> <head> <title>Mi pagina</title> </head> <body><?phpif (isset($micookie) && $micookie=="si") {echo "Gracias por volver a mi pagina"; }else {echo "Bienvenido a mi pagina"; }?> </body></html>

Se establecela cookie

Se comprueba

si está establecid

a y su valor

¿Cómo borrar una cookie?¿Cómo borrar una cookie?

• Para borrarla se establece la misma cookie de nuevo, pero esta vez se envía un tiempo de caducidad que ya haya pasado, por ejemplo:

setcookie(“micookie”,”si”,time()-86400);

EjercicioEjercicio• Crear una pagina PHP que conste de un

formulario con una caja de texto y un boton de “submit”.

• Se trata de la primera vez se nos pregunte por nuestro nombre (que escribiremos en la caja) y en las siguientes ocasiones una cookie establecida nos recuerde.

• El “action” del formulario nos enviará a otra pagina PHP que será quien establezca la cookie

SoluciónSolución<?phpif (isset($galleta)&& $galleta!="") {echo "Tu nombre es: $galleta<br />";}?><html> <head> <title>Ejemplo de una cookie</title> </head> <body> <form action="hola.php" method="post"> Indica tu nombre <input type="text" name="nombre" /> <input type="submit" value="Enviar nombre" /> </form> <?php setcookie("galleta",$nombre,time()+86400); ?> </body></html>

Si la cookie está establecida se

muestra su valor

Se pregunta porel nombre

Se establece laCookie con el

valor de la caja de texto

top related