Introducci´ on a PHP Luis Valencia Cabrera ([email protected]) Research Group on Natural Computing Departamento de Ciencias de la Computaci´ on e Inteligencia Artificial Universidad de Sevilla 10-02-2020, Bases de Datos Luis Valencia Cabrera ([email protected]) Bases de Datos Introducci´ on a PHP
43
Embed
Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Comunicacion cliente - servidorPHP (acronimo de “PHP: Hypertext Preprocessor”) es unlenguaje interpretado de alto nivel embebido en paginasHTML y ejecutado en el servidor.Su nombre es una broma, ya que la primera P de las siglashace referencia a PHP. Es un nombre recursivo.
Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP
Comunicacion entre el cliente y el servidor sin PHP:Escribimos en la barra del navegador la direccion y el archivo asolicitar.El navegador envıa el mensaje a traves de Internet a otro ordenador,por ejemplo http://www.cs.us.es/cursos/bd/Welcome.htmlsolicitando la pagina (archivo) Welcome.html.El servidor web (que puede ser el Apache, IIS, etc.), programa quese ejecuta en la maquina www.cs.us.es, recibe el mensaje y lee elarchivo solicitado desde el disco duro.El servidor web envıa el archivo solicitado por el navegador tal cualesta en el disco duro.El navegador muestra en pantalla el archivo que envio el servidorweb.
Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP
Comunicacion entre el cliente y el servidor con PHP:Escribimos en el navegador la direccion del archivo a solicitar.El navegador envıa el mensaje a traves de Internet a otroordenador solicitando la pagina fichero.php.El servidor recibe el mensaje y al ver que la extension es “php”solicita al interprete de PHP (otro programa que se ejecuta enel servidor web) que ejecute el archivo y devuelva la respuesta.El interprete PHP lee desde el disco el archivo fichero.php.El interprete PHP ejecuta los comandos contenidos en elarchivo (y eventualmente se comunica con un gestor de basede datos) (por ejemplo MySQL).
Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP
Comunicacion entre el cliente y el servidor con PHP:Tras ejecutar el programa contenido en el archivo, envıa surespuesta al servidor web.Este envıa la respuesta al cliente que la habıa solicitado.El navegador muestra en pantalla el archivo que envio elservidor web.En PHP la salida puede ser la pagina HTML de respuesta(esta viaja por internet y llega al cliente que la solicito), obien un archivo JSON, XML, etc.
Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP
Para agregar un programa PHP dentro de una pagina HTMLdebemos por un lado al crear el archivo definirlo con extensionphp (a diferencia de las paginas estaticas que tienen extensionhtml) y dentro del contenido de la pagina, encerrar elprograma entre los sımbolos<?php /* Mi programa PHP */ ?>
Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP
Inicia el servidor (programa Apache) en el panel de control deXAMPPCrea un directorio Ejemplos en C://xampp/htdocs/Guarda el fichero ej1.php (ver diapositiva siguiente) en eldirectorio C://xampp/htdocs/EjemplosPara ver la salida del programa, escribe en el navegadorlocalhost/Ejemplos/ej1.php
Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP
Las variables empiezan siempre con el sımbolo de dolar ($).PHP distingue entre mayusculas y minusculasPodemos concatenar cadenas de caracteres con el contenidode expresiones. El operador de concatenacion es el punto (.)La estructura if - else es igual que en JavaScript.
Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP
$dia = date("d"); guarda en la variable $dia el valor deldıa del mes con dos dıgitos (con ceros iniciales).$dia = date("j"); guarda en la variable $dia el valor deldıa del mes sin ceros iniciales$mes = date("n"); guarda en la variable $mes el valor deldıa del mes una representacion numerica de un mes, sin cerosiniciales.year = date("Y"); guarda en la variable $year el anoactual con 4 dıgitos.ds=date("w"); guarda en la variable $ds una representacionnumerica del dıa de la semana (0 para domingo, 1 lunes...)Podemos encontrar mas formas de dar la fecha enhttp://php.net/manual/es/function.date.php
Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP
La funcion rand devuelve un valor aleatorio entre un rango dedos enteros:$num=rand(1,100);En la variable $num se almacena un valor entero que lacomputadora genera en forma aleatoria entre 1 y 100.Podemos encontrar mas informacion sobre rand enhttp://php.net/manual/es/function.rand.php
Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP
<?php$coches = array("Volvo", "BMW", "Toyota");echo "<br>";echo "<br>";echo "La posición 0 es $coches[0] <br>";echo "La posición 1 es $coches[1] <br>";echo "La posición 2 es $coches[2] <br>";
?>
Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP
Un formulario permite que el visitante al sitio cargue datos ysean enviados al servidor.HTML solo crea el formulario, la gestion de la informacion lahara el servidor, con lenguajes como PHP. La extension deeste fichero sera HTML, y hara una llamada a un fichero PHPenviandole los datos del usuario.Para crear un formulario debemos utilizar el elemento form,que tiene marca de comienzo y fin.<form propiedades > . . . </form>.Definimos dos propiedades (action y method):<form action="registrardatos.php" method= "post">
Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP
La propiedad action toma el valor del fichero que contiene elprograma que procesara los datos en el servidor. En este casoregistrardatos.php.La segunda propiedad a proporcionar es method. Estapropiedad puede almacenar dos valores: post o get.Normalmente un formulario se envıa mediante post (los datosse envıan en el cuerpo del formulario). Si se emplea get, losdatos se envıan en la cabecera de la peticion de la pagina.
• Utilizando el metodo get estamos limitados en lacantidad de datos a enviar, no ası con el metodo post.
Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP
Ahora veamos el cuadro de texto donde se escribe el nombre:Escriba su nombre:
<input type="text" name="nombre" size="20"><br>
El mensaje Escriba su nombre: es un texto fijo.El elemento <input> permite definir un cuadro de texto siasignamos a la propiedad type el valor text.El identificador nombre permitira a PHP recuperar lo quehaya escrito el usuario.size nos da el tamano del cuadro. En este caso 20 caracteres.No se limita la cantidad de caracteres a ingresar por parte delvisitante sino la cantidad de caracteres que se puedenvisualizar.
Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP
Seguidamente:<input type="submit" value="Enviar">Mediante el elemento <input> definimos un boton para elenvıo de datos al servidor.Para ello, debemos indicar type="submit", definiendolocomo un boton para el envıo de datos.La propiedad value almacena la etiqueta que aparece comotexto del boton.Finalmente cerramos el formulario: </form>.
Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP
PHP 5 y posteriores se comunican con MySQL usando:MySQLiPDO (PHP Data Objects)
Nosotros usaremos el protocolo PDO.
Nota: existe una tercera opcion para conectar con MySQL, lalibrerıa de php mysql, pero se desaconseja su uso, entre otros, pormotivos de seguridad. Una excepcion a esto es si debemos usarversiones anteriores a PHP5, pues en las mismas no tenemosdisponibles las dos opciones sugeridas.
Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP
El objetivo es tener una base de datos MySQL en un servidor, ypoder acceder a ella (para consultar y/o manipular datos) desdeotro ordenador mediante un navegador.
Para ello necesitamos conocer:• La base de datos a la que queremos hacer conexion,• un nombre de usuario con acceso a esa base de datos, y• su palabra clave (password).
Ademas necesitamos crear un formulario HTML que permitaal usuario (ajeno a MySQL) proporcionar los datos.PHP se encargara de enlazar MySQL con HTML.
Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP
En enlace entre PHP y MySQL lo hace el fichero inserta1.php.Creamos un fichero con ese nombre y recuperamos la informacionintroducida por el usuario mediante las etiquetas nombre yapellidos.
A continuacion, escribimos la sentencia MySQL que queremosejecutar y la guardamos en la variable $sql, por ejemplo
$sql = "INSERT INTO contactos VALUES (:n,:a)";
Como todavıa no conocemos los valores que debemos insertar(seran proporcionados por el usuario), escribimos marcadores deparametros, en este caso :n y :a. La sentencia SQL puedecontener cero o mas marcadores de parametros por los cuales losvalores reales seran sustituidos cuando la sentencia sea ejecutada.
Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP
Lo siguiente es enlazar la consulta que hemos creado con laconexion a la base de datos. Para ello creamos una variable$consulta y usamos la funcion prepare. La sintaxis es lasiguiente
$consulta = $conn->prepare($sql);
Puedes encontrar mas informacion sobre la funcion prepare enhttp://php.net/manual/es/pdo.prepare.php
Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP
Para terminar solo queda enlazar los marcadores :n y :a con losdatos proporcionados por el usuario, que habremos guardado en lasvariables $nom y $ape, validando su tipo:
Ademas de insertar datos, tambien podemos consultar la basede datos.En general, podemos hacer cualquier operacion demodificacion de la base de datos cambiando la sentencia SQLque enviamos a traves de PHP.Aunque no lo vemos en la asignatura, insistir en los protocolosde seguridad asociados al uso de PHP.
Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP
Nota: estos son solamente algunos recursos utiles, pero seproporcionara mucho mas material a traves del sitio web de laasignatura. Ademas, otros temas introduciran conceptosadicionales, como el uso de los principios de AJAX, que cambiarala forma en que se envıan las peticiones o se plasman los resultadosdevueltos por PHP en las paginas llamantes.
Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP