información php

Post on 06-Apr-2018

223 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 1/104

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 2/104

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

Se trata de un lenguaje de programaciónque es interpretado por un servidor web.

No se trata de un lenguaje genérico. PHPestá orientado al desarrollo de sitios webdinámicos.

No depende del navegador del usuario

(como en Javascript). El código PHP seejecuta en el servidor.

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 3/104

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

El usuario escribe una URL en sunavegador y éste envía un petición HTTP

al servidor web. El servidor lee la pagina PHP (lainterpreta) y envía al navegador delusuario un documento compilado enformato HTML.

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 4/104

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

Un servidor web como Apache. Loencontraremos en www.apache.org

Las librerías de PHP para que el servidor 

web pueda ³leer´ PHP. Las descargamosdesde www.php.net

Un editor de texto para escribir las

páginas PHP. Colocar las páginas PHP en algúndirectorio del servidor web y listo !!

Usemos

Weaverslave

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 5/104

Instalación de Apache yInstalación de Apache yPHP en WindowsPHP en Windows

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 6/104

Instalamos Apache 2.0Instalamos Apache 2.0

Localizamos el ejecutable del instalador yempezamos..

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 7/104

 Aceptamos los términos de la licencia«

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 8/104

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

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 9/104

Elegimos la instalación personalizada..

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 10/104

Elegimos ³Change´ para cambiar el directorio deinstalación por uno más ³corto´ como ³C:\´

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 11/104

Con el nuevo directorio elegido, continuamos lainstalación..

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 12/104

SÓLO PARA WINDOWS XP SP2: le indicamos alfirewall que desbloquee el servicio Apache para

el puerto 80.

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 13/104

Comprobamos la instalación tecleandohttp://localhost en un navegador.

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 14/104

En la barra de tareas tenemos el icono paragestionar el servicio Apache.

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 15/104

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

1) Descomprimimos el ZIP que contiene PHPen el directorio C:\

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

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

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 16/104

4) Editamos el fichero httpd.conf que seencuentra en c:\Apache2\conf y leagregamos 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 otrasdirectivas del tipo LoadModule y AddType

OJO!!

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 17/104

6) Copiamos la DLL "php4ts.dll", que

podemos encontrar en nuestro directoriode instalación de PHP (C:\php) en lacarpeta c:\php\sapi

7) Editamos el fichero httpd.conf ybuscamos el valor DirectoryIndex, lomodificamos para dejarlo como éste:

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

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 18/104

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

<?php

 phpinfo()

?>

Guardamos la página en la carpeta htdocsdel directorio de instalación de Apache

En un navegador cualquiera probamos la

carga de la página con:http://localhost/prueba.php

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 19/104

Si vemos esto, todo fue bien..

 Ahora ya podemos continuar con PHP..

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 20/104

Modificación del entorno PHP: elModificación del entorno PHP: elfichero php.inifichero php.ini

Todas las configuraciones para modificar el comportamiento se hacen a través delfichero 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 lavariable register  _ globals para ponerla enOn. Mas adelante veremos el motivo.

register_globals = On Importante

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 21/104

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

 Aunque la sintaxis del lenguaje esparecida (derivada del lenguaje C) elfuncionamiento 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.

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 22/104

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

Cualquier cosa, pero PHP está pensadopara el desarrollo de sitios web dinámicoscomo tiendas virtuales en Internet.

PHP está pensado para la conexión conbases de datos como MySQL.

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

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 23/104

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

escr ibiremosdentro delbloque php

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 24/104

El primer programa PHP que muestra unmensaje en el navegador:<?php

echo ³Empezando con PHP´;?>

OJO: todas las líneas de código PHPterminan 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.

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 25/104

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

// esto es un comentario corto

/* este comentarioocupa varias

líneas */

# este comentario también es válido

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 26/104

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

Una variable define un punto dealmacenamiento en la memoria delordenador.

Un nombre define a una variable y luegopodemos asignarle diferentes valores a lolargo del programa.

Por ejemplo, una variable puede llamarsenombre y tomar primero el valor de ³Luis´,después ³Pepe´, etc..

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 27/104

Tipos de variables en PHPTipos de variables en PHP

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

PHP trabaja internamente con variables detipo: string (texto), integer (numero entero) yfloat (numero real en coma flotante)

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

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 28/104

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

Toda variable empieza obligatoriamentepor un signo de $, como $nombre

No se deben usar acentos, espacios,diéresis, ni caracteres especiales delteclado.

Se permite usar el guión bajo:  _ 

PHP distingue mayúsculas y minúsculas,por lo que $nombre es distinto de$Nombre.

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 29/104

Un ejemploUn ejemplo

<?php

$nombre=³Juan´;

echo ³Hola $nombre, ¿Qué tal?´;

?>

Los valores strings se asignan siempreentre comillas.

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 30/104

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

No es necesario, por ejemplo en la ordenecho, se pueden mezclar texto y variables sin

usar ningún operador de concatenaciónespecial.

Opcionalmente, se puede usar el operador de

concatenación punto ³.´. Por ejemplo: echo ³Hola´ .$nombre. ³¿Qué tal´

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 31/104

¿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´: \nde PHP. Por ejemplo:echo ³linea1\n´;

echo ³linea2´;

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 32/104

 Arrays en PHP Arrays en PHP

Un array permite guardar distintos valoresen 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 hacemosasí:$variable[indice]=valor 

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 33/104

Por ejemplo, un array con los días de lasemana:<?php$dia[0]=³Lunes´;$dia[1]=³Martes´;

«.«.$dia[6]=³Domingo´;// mostrar el Jueves

echo $dia[3];?>

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 34/104

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.

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 35/104

EjercicioEjercicio

La función date( ) permite trabajar con lafecha actual. Por ejemplo date(³w´) nosdevuelve el numero de día de la semana,empezando por el 0.

Se trata de cargar un array con los 7 díasde la semana y usando la función anterior 

poner en pantalla un mensaje que diga:Hoy es ««´

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 36/104

La cantidad de elementos de un array se

puede obtener con la función count, por ejemplo, si tengo un array $dia con 7elementos y le pido el valor de count($dia)

me devolverá un 7.

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 37/104

Cálculos con PHPCálculos con PHP

PHP incluye los operadores ³+´, ³-´, ³*´ y ³/´

Por ejemplo: $a=3+5

 Además incluye los operadores deincremento / decremento: ³++´ y ³- -´. Por ejemplo: $a++ es lo mismo que $a=$a+1.Si tengo $b=6 y hago $b- - y entoncestengo que $b=5

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 38/104

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

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 39/104

EjercicioEjercicio

Usando los operadores de PHP, calcular imprimir el precio final de un producto que

cuesta 750 ¼ y al que se aplica un IV A de16 %.

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 40/104

La función round(valor,decimales) nospermite redondear una cantidad a unnumero concreto de decimales. Por 

ejemplo:round(1.2375,2) devuelve 1.24

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 41/104

Formularios con PHP y HTMLFormularios con PHP y HTML

PHP se hizo pensando en un uso sencillocon los formularios HTML.

 A través de PHP podemos validar yvalorar el contenido de los formularios.

Los formularios se crean en HTML conetiquetas <form> e <input> estándar.

Desde PHP usaremos las variables querepresentan los datos del formulario.

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 42/104

EjemploEjemplo

Vamos a realizar un simple formulario HTMLcon una caja de texto y un botón de ³Submit´.

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 43/104

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>

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 44/104

 Ahora crearemos la pagina valorar.php:<?php

echo "Hola $nombre, bienvenido a PHP";?>

Con lo cual, queda claro que para acceder al valor de lacaja, PHP usa el valor del ³name´ de la caja como si

fuese una variable.

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 45/104

La estructura condicionalLa estructura condicional if if 

Nos permite evaluar una condición ytomar una decisión según el resultado deltest.

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 }

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 46/104

EjemploEjemplo

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

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 47/104

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>

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 48/104

 Ahora creamos la pagina valorar2.php:<?php

if  ($trato=="h") {

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

else {

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

?>

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 49/104

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 distintode 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.

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 50/104

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

Esta función nos permite comprobar siuna variable se ha definido y en ese casodevuelve un True.

La sintaxis es isset($variable)

Muy útil para comprobar si se hanrellenado los campos de un formulario

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 51/104

EjercicioEjercicio

Usando la función isset y el bloque if,realizar una comprobación sobre una caja

de texto cualquiera, advirtiendo al usuarioen caso de que la caja se encuentre sindatos.

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 52/104

SoluciónSolución

<?php

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

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

else {

echo "No has escrito nada"; }

?>

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 53/104

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>

<?phpif (isset($nombre) && $nombre!="") {echo "Hola $nombre";}else {if (isset($enviar)) {

echo "Rellena los campos";}}

?>

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 54/104

Los campos del formulario comoLos campos del formulario comoun arrayun array

PHP puede tratar los datos de unformulario como elementos de un array.

Por ejemplo, si hemos usadomethod=³post´ en el formulario, tendremoslos diferentes campos dentro del array$ _ POST.

Para acceder al campo nombre, loharemos con $ _ POST[³nombre´]

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 55/104

EjercicioEjercicio Crear un sencillo formulario con una caja de

texto y un botón de envío que muestre el uso delarray de campos anterior, por ejemplo paraconseguir el campo nombre hacemos:

<?php

if  (isset($_POST["nombre"]) && $_POST["nombre"]!=""&& isset($_POST["boton _ envio"])) {

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

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 56/104

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

Si enviamos un formulario y nos hemosolvidado de cubrir algún campo sabemosque las cajas se vacían (si el formulario sevalida sobre si mismo), en este casopodemos hacer que se rellene un campoautomáticamente haciendo:

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

echo $nombre;}?>"/>

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 57/104

Redirección conRedirección con header header 

La función header de PHP permiteredireccionar nuestra página hacia otracualquiera.

Su sintaxis es header(³Location: URL´), por ejemplo: header(³Location: destino.html´)

Es importante que que esta orden seencuentre antes de la etiqueta <html>inicial

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 58/104

EjercicioEjercicio

Redireccionar alguna página HTML haciaotra cualquiera que tengamos en nuestropropio servidor.

Modificar ahora el header para que todaslas conexiones a nuestra página seredirigan a http://www.google.com

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 59/104

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 60/104

El bloqueEl bloque switchswitch

Comprueba si una variable coincide conalgún valor concreto; en caso afirmativoejecuta un bloque de ordenes.

En caso de no coincidir se ejecuta elbloque default

Después de cada caso pondremos la

orden break para evitar mascomprobaciones.

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 61/104

Sintaxis del bloque switch :

switch ($variable) {

case valor1:instrucciones;break;

case valor1:

instrucciones;break;

«..

default:instrucciones por defecto;}

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 62/104

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";}?>

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 63/104

EjercicioEjercicio

Usando una estructura switch realizar unscript PHP (llamado switch.php) quepermita 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. Parasimplificar los casos vamos a considerar como respuestas posibles el lunes, elviernes y el domingo. Los demás días seconsiderarán en el bloque por defecto.

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 64/104

EjercicioEjercicio

Sabemos que la etiqueta <bodybgcolor=³color´> permite especificar uncolor de fondo para nuestra pagina.

Se trata de realizar un script PHP (llamado

color.php) que mediante 3 botones deopcion (radio) y un boton estandar desubmit nos permita cambiar el color defondoe entre estos 3 colores: ³white´,

³silver´, ³green´. Por defecto se mostraráel fondo en ³blue´.

S l ióS l ió

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 65/104

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>

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 66/104

El bucleEl bucle whilewhile

Un bucle sirve para ejecutar un grupo deinstrucciones un determinado numero deveces, mientras una condición sea cierta.

Sintaxis del while:

while (condición) {

ordenes;

}

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 67/104

EjemploEjemplo

El siguiente bucle imprime la frase ³unaiteracion del bucle´, 5 veces:

$contador=1;

while ($contador<=5) {

echo ³una iteracion del bucle <br>´;

$contador++;}

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 68/104

EjercicioEjercicio

Realizar un script PHP llamado while.phpque 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úmerosen el orden inverso

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 69/104

El bucleEl bucle do«whiledo«while

Similar al while estandar, pero en estecaso la comprobación de la condición sehace al final del bucle con lo cual nosaseguramos que al menos una vez se

ejecutará el bucle. Sintaxis:

do {

código a ejecutar;while (condición)

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 70/104

EjemploEjemplo

<?php

$a=0;

do {

echo ³$a <br>´;$a++;}

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

?>

Este bucle impr ime también el valor 0

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 71/104

El bucleEl bucle for for 

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

Sintaxis:

for (inicio; condición _ seguir; incremento) {

ordenes a ejecutar;

}

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 72/104

EjemploEjemplo

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

echo ³$i <br>´;

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

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 73/104

EjercicioEjercicio

Realizar las mismas iteraciones anteriores(las del bucle while) pero esta vez usandoel bucle for.

Crear un bucle for que muestre todos losnúmeros impares que hay entre el 10 y el30.

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 74/104

El bucleEl bucle foreachforeach para arrayspara arrays

Permite recorrer un array y devolver losvalores que contiene.

Tiene una sintaxis simple y otra extendida

Ejemplo de sintaxis simple:

foreach ($array as $value) {

echo ³$value <br>´;}

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 75/104

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

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 76/104

EjercicioEjercicio

Crear un array $dias con los días de lasemana y mostrar todas sus parejasindices / valores mediante el bucle foreach

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 77/104

Funciones en PHPFunciones en PHP

Una función consiste en agrupar varioscomandos en un solo comando que sealmacena como una función.

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

function nombrefuncion($parametros,«)

{

// Aquí van las órdenes de la funciónreturn $valor; }Valor que

devuelve

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 78/104

EjemploEjemplo

La siguiente función devuelve la cantidad desegundos que hay en un determinado numerode días:

function segundos($dias)

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

return $total; }

echo ³6 dias son ³ .segundos(6). ³segundos´;

El parámetro

$dias recibela cantidad

de dias

El cálculode los segundos se

guarda en $total

Se llamaa la f unción

con el valor 6

La f uncióndevuelve el

cálculo

¿Cómo incluir un fichero PHP en¿Cómo incluir un fichero PHP en

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 79/104

¿Cómo incluir un fichero PHP en¿Cómo incluir un fichero PHP enotro? (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 carganaquí

E í d f l iE í d f l i ilil

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 80/104

Envío de formularios por eEnvío de formularios por e--mailmail

Para enviar correos desde PHP usaremosla 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 mailse envió correctamente y un False en

caso contrario. Se necesita un servidor SMTP local parapoder enviar los correos, o indicar otroexterno

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 81/104

Este formulariopermite enviar correos a unadirección decorreo fija

EjercicioEjercicio

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 82/104

EjercicioEjercicio Crear un script PHP que conste de un formulario

como el de la diapositiva anterior y que permitaenviar 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 ficherophp.ini (en c:\winnt), y modificaremos la variableSMTP, para que sea:

SMTP = smtp.educastur.princast.es

Después de este cambio reiniciaremos elservicio Apache desde la barra de tareas

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 83/104

Un contador de visitas en PHPUn contador de visitas en PHP

Crearemos un contador tipo texto desdePHP.

Usaremos un archivo para guardar lasvisitas a nuestra página, quegestionaremos desde PHP.

Pero primero, tenemos que ver como

acceder a archivos desde PHP. Vremoscomo abrir archivos y como cerrarlos.

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 84/104

¿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 quequeremos abrir, por ejemplo ³contador.txt´

 ± Modo: se puede abrir en modo lectura (r), en

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

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 85/104

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

Define un canal a través del cual seaccede al fichero.

Desde que el fichero está abierto setrabaja con el puntero.

Cuando se abre el fichero, el puntero secoloca al principio del fichero para esperar 

instrucciones.

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 86/104

La funciónLa 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 bytede datos.

Sintaxis:

fgets($puntero,byte);

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

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 87/104

Las funcionesLas funciones rewind( )rewind( ) yy fputs( )fputs( )

rewind( ) permite colocar el puntero alprincipio de la linea.

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

fputs($puntero,datos _ a  _ escribir);

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 88/104

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

Cuando terminamos de trabajar con elfichero debemos cerrarlo siempre.

Sintaxis:

fclose($puntero);

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 89/104

EjercicioEjercicio

Realizar un contador de visitas en PHP.

En la carpeta htdocs, crearemos unfichero de texto ³visitas.txt´ y escribiremosen él un 0.

Crearemos un fichero contador.php eimplementaremos en él las siguientes

instrucciones:

1 Ab i l fi h d l / i

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 90/104

1. Abrir el fichero en modo lectura / escritura.

2. Leer del fichero 8 bytes (ó la cantidad

deseada) y guardarlos en una variable quellamaremos $contador 

3. Escribir en pantalla: ³Esta es la visitanumero: $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

fichero7. Cerrar el fichero

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 91/104

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ónOtras funciones: las función fread( )fread( )

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 92/104

Otras funciones: las funciónOtras funciones: las función fread( )fread( )

y fwrite( )y fwrite( )

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

Sintaxis:fread($puntero,byte);

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

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 93/104

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

Permite averiguar el tamaño en bytes deun fichero.

Muy útil para usarla con las funcionesfgets( ) y fread( )

Su sintaxis es:

filesize(nombrearchivo);

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 94/104

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

Esta función lee y muestra todo elcontenido de un fichero.

Sintaxis:

readfile(nombrearchivo);

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 95/104

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 mostraranen la pagina PHP, separados por párrafos

El fichero de visitas se abrirá en modo ³a´(append) para permitir sólo añadir nuevosdatos

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 96/104

C ki PHPC ki PHP

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 97/104

Cookies con PHPCookies con PHP

Las cookies (galletas informáticas) sonsimples ficheros de texto mediante loscuales 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 entreel sitio web y el usuario

Có í ki ?Có í ki ?

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 98/104

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

Para establecer una cookie usaremos lasintaxis:

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), esdecir dentro de 30 días

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 99/104

Importante: si usamos cookies, la primeraorden deberá ser establecer la cookie.

Ejemplo:

<?php

setcookie(³micookie´,´si´,time()+86400)?>

El ejemplo anterior establece una cookiede nombre ³micookie´ con el valor ³si´ yque durará un día.

Có l ki ?Có l ki ?

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 100/104

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

Lo mejor de todo es que el nombre de lacookie se maneja como una variable PHPcorriente.

En el ejemplo anterior, podemos usar lavariable $micookie para comprobar si estáestablecida y si tiene el valor de ³si´.

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

EjemploEjemplo

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 101/104

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>

Seestablecela cookie

Secomprueba

siestáestablecid

a y suvalor 

Có b ki ?Có b ki ?

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 102/104

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

Para borrarla se establece la mismacookie de nuevo, pero esta vez se envíaun tiempo de caducidad que ya hayapasado, por ejemplo:

setcookie(³micookie´,´si´,time()-86400);

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 103/104

SoluciónSolución

8/2/2019 información php

http://slidepdf.com/reader/full/informacion-php 104/104

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>

<?phpsetcookie("galleta",$nombre,time()+86400);?>

</body></html>

Si la cookie estáestablecida se

muestra su valor 

Se pregunta por el nombre

Se establece laCookie con el

valor de la cajade texto

top related