información php
Post on 06-Apr-2018
223 Views
Preview:
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ñor $apellido";}
else {
echo "Hola Señ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