Вы находитесь на странице: 1из 80

Introduccin a PHP

Profesor Rodrigo Cabello

Rodrigo Cabello S. rodrigo.cabello@solutionpyme.cl http://analisis.solutionpyme.cl

Profesor Rodrigo Cabello

Introduccin al programa de la asignatura


N 1 2 3 4
NOMBRE

Introduccin a Php. Programacin en Php. POO en Php. Complementos para Php (Apache y Mysql).

N HORAS 12 28 16 16

Evaluacin y ponderacin de la asignatura


EVALUACIN

1 Prueba Solemne 2 Prueba Solemne Informes de Taller Examen

PONDERACIN 20% 20% 30% 30%

N UNIDAD 1y2 3y4 1-4 1-4

Profesor Rodrigo Cabello

Tema 1: Introduccin
Introduccin a PHP Instalacin y configuracin de Apache Instalacin y configuracin de PHP Recursos de PHP

Profesor Rodrigo Cabello

Introduccin a PHP
Breve historia de PHP
PHP es el sucesor de un producto llamado PHP/FI Creado en 1994 por Rasmur Lerdorf. Los primeros pasos del lenguaje era un simple conjunto de ficheros binarios (CGI) escritos en lenguaje C. En el ao 1995 , Rasmus publico el cdigo fuente de PHP, lo que permiti a los desarrolladores usarlo como considerasen apropiado.

Profesor Rodrigo Cabello

Introduccin a PHP
Qu es PHP? PHP es lo que llamamos un lenguaje de programacin del lado del servidor, esto significa que el cdigo se interpreta en el servidor y no en el ordenador del usuario. El cdigo PHP interpretado, produce un resultado que es enviado al navegador del visitante en forma de HTML, imagen, documento .doc... de ninguna manera el navegador del visitante accede al cdigo fuente en PHP sino solo a su resultado en HTML. Por qu PHP? Por sus ventajas: es potente, fcil de aprender, de libre distribucin, permite el acceso a bases de datos Dispone de abundante soporte en la Web

Profesor Rodrigo Cabello

Introduccin a PHP
Funcionamiento de PHP El funcionamiento de las pginas en PHP alojadas en un servidor es el siguiente: -El navegador del cliente solicita el documento PHP. -Llega la solicitud del servidor y el servidor localiza el documento, lanza el intrprete de PHP y ejecuta todo su codigo. -Una vez ejecutado el cdigo se genera el resultado en HTML y lo devuelve al servidor para que lo transfiera al cliente. -El servidor transfiere el resultado en HTML y es mostrado en el navegador del cliente.

Profesor Rodrigo Cabello

El navegador pide un documento al servidor, en el caso que este documento sea un archivo PHP, el archivo es interpretado y se enva su resultado al navegador.
Profesor Rodrigo Cabello

Este cdigo producir el siguiente resultado que es lo que se enviar al navegador del visitante

<html> <head> <title>Prueba</title> </head> <body> <?


$texto = "Hola mundo"; echo $texto; ?> </body> </html>

<html> <head> <title>Prueba</title> </head> <body> Hola mundo </body> </html>

Profesor Rodrigo Cabello

Introduccin a PHP
Requisitos
Servidor web Apache (www.apache.org) con el mdulo PHP (www.php.net) y la base de datos MySQL (www.mysql.com) si se desea crear pginas dinmicas Herramientas para la gestin de MySQL, como PHPMyAdmin (www.phpmyadmin.net) Editores de PHP, como DevPHP (www.sourceforge.net) Manuales de PHP y MySQL

Otras utilidades

Profesor Rodrigo Cabello

WAMP
WAMP es el acrnimo usado para describir un sistema de infraestructura de internet que usa las siguientes herramientas: Windows como sistema operativo Apache como servidor web MySQL como gestor de bases de datos PHP El uso de un WAMP permite servir pginas html a internet adems de poder gestionar datos en ellas, al mismo tiempo un WAMP, proporciona lenguajes de programacin para desarrollar aplicaciones web
LAMP es el sistema anlogo que corre bajo ambiente Linux WAMP es el sistema anlogo que corre bajo ambiente Windows MAMP es el sistema anlogo que corre bajo ambiente Macintosh

Profesor Rodrigo Cabello

Dev-PHP es una herramienta muy til para el desarrollo web con el cual podr trabajar de mejor manera en PHP, es el complemento perfecto pues manejara y manipular tu librera de clases, bsquedas, vistas de los scripts, integracin con PHP parsers, manejo de la librera PHP-GTK, y depuracin del cdigo. Definitivamente Dev-PHP es una herramienta necesaria que te ayudar durante tus horas de programacin.

Notepad++ es un editor de texto y de cdigo fuente libre con soporte para varios lenguajes de programacin. Se parece al Bloc de notas en cuanto al hecho de que puede editar texto sin formato y de forma simple. No obstante, incluye opciones ms avanzadas que pueden ser tiles para usuarios avanzados como desarrolladores y programadores.

Profesor Rodrigo Cabello

Tema 2 Sintaxis bsica de PHP


El mdulo de PHP busca uno de los tags que emplea para reconocer el comienzo de cdigo PHP. Ejecuta el cdigo hasta encontrar una marca de final de cdigo Contina por el documento hasta encontrar otra marca de comienzo Todo lo que est fuera de esas marcas queda inalterado

<? echo 'delimitador muy comn'; ?>


<?php print("delimitador ms recomendable"); ?>
Profesor Rodrigo Cabello

Tema 2 Sintaxis bsica de PHP


El cdigo PHP se puede insertar en cualquier lado del fichero, combinndose con el cdigo HTML de cualquier manera. <?php if (date('a' == 'pm')) { $saludo = Buenas tardes/noches!; } else { $saludo = Buenos das!'; } ?> <html> <head><title>Ejemplo</title></head> <body> <h1><?php echo $saludo; ?></h1> </body></html> El final de la sentencia est marcada por un punto y coma
Profesor Rodrigo Cabello

Tema 2 Sintaxis bsica de PHP


Salida echo, escribe la cadena que se le pasa como argumento. La cadena puede estar o no incluida entre parntesis. echo " Mensaje 1 "; echo (" Mensaje 2 "); Sin parntesis, admite varios argumentos. echo "Este mensaje", 'aparecer', "en el browser"; print, similar a echo. Slo acepta un argumento. print ('3.145159'); print (3.14159); print(" El animal $a tiene $p patas\n"); print(' El animal $a tiene $p patas\n');
Profesor Rodrigo Cabello

Tema 2 Sintaxis bsica de PHP


Maysculas y minsculas Comportamiento mixto en variables y funciones: En las variables, las maysculas y minsculas IMPORTAN. $var = 3; $Var = 5.6; print ("$var $Var"); En los nombres de funciones y palabras reservadas, NO IMPORTAN. if ( $a == 4 ) PRINT ('a vale 4'); IF ( $a == 3 ) print ("a vale 3");
Profesor Rodrigo Cabello

Tema 3 Comentarios en PHP


Para que en futuras revisiones a tu cdigo por tu parte y sobretodo por parte de otros programadores este cdigo sea inteligible para la mente humana, es un buen costumbre comentar lo que se esta haciendo en PHP pero en palabras. De esta manera el cdigo ser mucho mas sencillo de comprender y a su vez de modificar, corregir, ampliar...

Los comentarios que soporta PHP sn los de C, C++ y los del shell de Unix, asi podemos usar // y /* */ para comentarios y comentarios multilinea respectivamente como haramos en C
Profesor Rodrigo Cabello

Tema 3 Comentarios en PHP


Ejemplo de formas de comentarios.
<? echo 'Esto se ve'; // esto no se ve echo 'esto tambien se ve'; /* esto tampoco se ve */ ?> <? # esto no se ve echo 'pero esto si'; ?>

Profesor Rodrigo Cabello

Tema 4 Variables
Una variable es un nombre que contiene unos determinados datos, ya sean de texto o numricos, y en php tienen la peculiaridad de ir precedidas por el signo del dolar ($). En PHP no es necesario declarar las variables antes de usarlas y pueden contener texto y nmeros indiferentemente ( ya hablaremos de esto ms adelante <? $miVariable = 'Hola '; $miVariable2 = 33; // Imprimimos Hola 33 echo $miVariable.$miVariable2; ?> Como vemos, asignamos valor a una variable con el operador de igualdad (=), y concatenamos con el operador punto (.). Para que una variable sea accesible desde cualquier parte de nuestro script php, la definiremos cmo global de la siguiente manera: <? global $miVariableGlobal = 'Hola'; ?>
Profesor Rodrigo Cabello

Tema 4 Variables
Tipo de datos en PHP integer: Enteros, en decimal, octal o hexadecimal. $MiVarDec = -923; $MiVarOct = 0127; $MiVarHex = 0xf1; print("v1: $MiVarDec v2: $MiVarOct v3: $MiVarHex"); double: Reales. $MiVar = 1.3e4; $var1 = 2.28888; $var2 = 2.21112; $var3 = $var1 + $var2; print ("$var3"); boolean: true o false (PHP 4.x) array: vectores $MiVar[2] = 123; string: Cadenas. $var1 = "Cadena\n"; $var2 = 'Mas cadenas'; object: Objetos. $MiVar = new MiClase();
Profesor Rodrigo Cabello

Tema 5 Constantes
Una constante es como una variable pero con la diferencia que una vez toma un valor este no puede variar durante la ejecucin del script, otra particularidad de las constantes es que son globales, por lo que se pueden leer desde el interior de una funcin sin tener que pasarlas como parmetro.

Al contrario que las variables, las constantes se expresan sin signo del dlar ($), y se tienen que definir usando la funcin define:
<? define ('miConstante','valor de mi constante'); echo miConstante; ?>
Profesor Rodrigo Cabello

Tema 6 Vectores
Los vectores o array son listas ordenadas de elementos. Para definir un vector en PHP utilizamos la funcin array: <?php $vector = array ( "elemento 1", "elemento 2" ); ?> Una vez definido el vector, podemos acceder a sus elementos, sus elementos estarn identificados por un nmero ( empezando por 0 ) o una clave que se puede definir as: <?php $vector = array ( "clave 1" => "elemento 1", "clave 2" => "elemento 2" ); ?> Para acceder a un elemento usaremos [ y ] con su clave ( "clave 1" o 0 ): <?php echo $vector[0];// elemento 1 echo $vector['clave 1'];// elemento 1 ?>

Profesor Rodrigo Cabello

Tema 6 Vectores
Podemos borrar un elemento de una variable con la funcin unset
<?php // Borramos el 'clave 3'; unset ( $vector['clave 3'] ); print_r ($vector); / ?>

Profesor Rodrigo Cabello

Tema 7 Tipos de datos


PHP es un lenguaje de los denominados de tipo dinmico, lo que significa que una misma variable puede tener tipos ( numero, texto, vector... ) diferentes en distintos momentos. Por esta razn, no soporta la definicin de tipos en la declaracin de variables sino que el tipo de la variable viene determinado por el contexto en el que se encuentra, veamos un ejemplo: <?php // La variable $var1 es un numero ( entero ) $var1 = 3; // La variable $var2 es un texto ( cadena de caracteres ) $var2 = "9 aos"; // Si juntamos las variables $var1 y $var2, obtenemos un texto $var3 = $var1 . $var2; // "39 aos" // Si en cambio las sumamos obtendremos un nmero $var3 = $var1 + $var2; // PHP suma 3 + 9 y nos da como resultado solo el 12 ?>
Profesor Rodrigo Cabello

Tema 7 Tipos de datos


La existencia de un carcter especial \$ para el dlar, es porque en el interior de comillas dobles podemos usar variables. Si vamos a acceder a elementos de un vector, lo agruparemos con { y } detrs del $:

<?php // As si $var1 = "php"; $var2 = Array ( "php","html" ); // [0]=>php, [1]=>html $var3 = "aprendo $var1"; // aprendo php $var3 = "aprendo {$var2[0]}"; // aprendo php

Profesor Rodrigo Cabello

Tema 7 Operadores
Los operadores son expresiones que nos permiten manipular los datos que les pasamos, cada uno de los datos que se le pasa a un operador se llama operando, y segn el nmero de operandos de que disponga un operador estaremos hablando de un operador unario (un operando), binario (dos operandos), ternario... Los operadores no los utilizamos aisladamente, sino que solemos utilizar mas de uno en una misma expresin compleja, en este caso tendremos que tener en cuenta las normas de preferencia para no encontrarnos con resultados no deseados
Profesor Rodrigo Cabello

Tema 7 Operadores
Para cambiar el orden en que se realizan las operaciones utilizaremos los parntesis (), consiguiendo que se realicen primero las operaciones del interior del parntesis y, acto seguido, el resto de operaciones siguiendo en cada caso el mismo orden de preferencia anteriormente citado: <?php // el operador de multiplicacin es l signo asterisco ( * ) $a = 2 + 4 * 2; // El resultado es 10 $a = (2+4) * 2; // el resultado es 12 ?>
Profesor Rodrigo Cabello

Tema 7 Operadores de aritmtica


Los operadores de aritmtica son los operadores bsicos para el trabajo con nmeros, nos permiten sumar dos valores, restarlos, dividirlos... Se trata de operadores binarios en todos los casos ya que requieren dos operandos para funcionar correctamente. Los operadores aritmticos existentes son los siguientes: Adicin (+) - Devuelve la suma de los dos operandos que recibe el operador. <? $a = 1 + 2; // $a toma valor 3 ?>
Profesor Rodrigo Cabello

Tema 7 Operadores de aritmtica


Substraccin (-) - Devuelve la diferencia entre el primer y el segundo operando. Multiplicacin (*) - Devuelve el producto de los operandos. Divisin (/) - Devuelve el cociente en valor flotante de los operandos. Mdulo (%) - Devuelve el resto de dividir el primer operando entre el segundo. Este operador es muy til para saber si un nmero es mltiple de otro

Profesor Rodrigo Cabello

Tema 7 Operadores de asignacion


Los operadores de asignacin, son aquellos que nos permiten modificar el valor de una variable, el operador de asignacin bsico es el 'es igual a' (=), que da el valor que lo sigue a la variable que lo precede: <? $miVariable = 'suValor'; ?>

Profesor Rodrigo Cabello

Tema 7 Operadores de comparacion


Los operadores de comparacin son operadores en su mayora binarios que nos permiten comparar variables devolviendo un valor booleano a 1 (TRUE) si se cumple la condicin que expresan y a 0 (FALSE) en el caso contrario. Los operadores binarios de comparacin son:

Igual (==) - Devuelve 1 si los operando son iguales aunque sean de tipo distinto. Diferente (!= o <>) - Devuelve 1 si los operando son distintos. Menor que (<) - Devuelve 1 si el primer operando es mas pequeo que el segundo. Mayor que (>) - Devuelve 1 si el primer operando es mas grande que el segundo. Menor o igual que (<=) - Devuelve 1 si el primer operando es mas pequeo o igual que el segundo. Mayor o igual que (>=) - Devuelve 1 si el primer operando es mas grande o igual que el segundo. Estos operadores se usan mayormente como condicin para las estructuras de control

Profesor Rodrigo Cabello

Tema 7 Operadores de control de errores


Para evitar que se muestre en pgina un determinado error que se puede producir eventualmente en una linea PHP dispone del operador de control de errores. Este operador que se representa con el signo arroba (@), permite evitar que se imprima en la pgina de resultado un error producido por la ejecucin del cdigo PHP en una lnea determinada: <?php echo 'Hola mundo'; @ funcionquenoexiste (); // Esto debera producir un error ?>
Profesor Rodrigo Cabello

Tema 7 Operadores de incremento


Los operadores de incremento (++) permiten aumentar en una unidad el valor de una variable numrica, los de decremento (--) por lo contrario disminuyen la misma variable en una unidad. Estos operadores son operadores unarios por lo que solo reciben un operando al que incrementan o decrementan segn el operador.

Estos operadores pueden ponerse delante del operando, en ese caso la operacin devolver el valor una vez operado, o despus, caso en el que la operacin devolver el valor antes de operar:
<? $variable = 2; echo $variable++; // Imprime 2 y luego incrementa echo ++$variable; // incrementa y luego imprime 4 ?>
Profesor Rodrigo Cabello

Tema 7 Operadores de logica


Los operadores de Lgica nos permiten crear expresiones mas complejas para evaluar nuestras estructuras de control, permitiendonos enlazar varias operaciones de comparacin con los diferentes operadores booleanos. Estos operadores son mayoritariamente binarios, por lo que reciben 2 operando, dependiendo de estos operando (de valor 0 o 1) devolver 0 (FALSE) o 1 (TRUE), los operadores lgicos binarios son: Y (&& o and) - Devuelve 1 si ambos operando son 1 O (|| o or) - Devuelve 1 si algn operando es 1

<? echo ((1 == 1)&&(2 != 2)); // Devuelve 0 ?>


Profesor Rodrigo Cabello

Tema 7 Operadores de cadena


En esta categora encontramos el operador binario de concatenacin (.), que se encarga de unir dos cadenas dadas la una a continuacin de la otra: <? $texto = 'hola ' . 'mundo'; echo $texto; ?>

A su vez, existe un operador que hemos incluido entre los operadores de asignacin, que es el operador de asignacin sobre concatenacin (.=), este operador concatena a una variable un valor dado de la siguiente manera:
<? $texto = 'hola '; $texto .= 'mundo'; echo $texto; ?>

Profesor Rodrigo Cabello

Tema 7 Operadores de cadena


Este operador nos ser de gran utilidad para almacenar una gran cantidad de datos en una misma variable de manera limpia, veamos un ejemplo: <? $html = "<html>\n"; $html .= "<head>\n"; $html .= "<title>Mi pgina</title>\n"; $html .= "</head>\n"; $html .= "<body>\n"; $html .= "Este es el contenido de mi\n"; $html .= "preciosa pgina\n"; $html .= "</body>\n"; $html .= "</html>\n"; echo $html; ?>

Profesor Rodrigo Cabello

Tema 8 Estructuras de control


Porque los scripts PHP no son lineales, debemos poder controlar la ejecucin de una accin o de un determinado bloque de acciones, para hacer esto, PHP dispone de lo que se llama estructuras de control, que nos permiten ejecutar o no, una o mas veces un determinado bloque de acciones.
Estas estructuras son: if while for switch
Profesor Rodrigo Cabello

Tema 8 Estructuras de control Condicional if


La estructura if nos permite ejecutar un bloque de acciones si se cumple una determinada condicin, de lo contrario nos permite ejecutar otro bloque de acciones identificado por la sentencia else, si el resultado de la condicin es distinto de 0, se ejecutarn las acciones del if, de lo contrario las del else:

<? if($var1 == 12){ echo 'La variable vale 12'; } else { echo 'La variable tiene otro valor'; } ?>
Profesor Rodrigo Cabello

Tema 8 Estructuras de control Condicional if


La condicin, se escribe entre parntesis a continuacin de la palabra if, y esta formada por operaciones PHP, sobre todo por operaciones lgicas y de comparacin.
Hay otra sentencia que usamos a menudo para unir ms de un condicional if, es la sentencia elseif, sta nos permite dar otra condicin por si no se ha cumplido la primera, despus de elseif podemos volver a usar else con normalidad:

<? if($var1 == 12){ echo 'La variable vale 12'; } elseif($var1 == 3){ echo 'La variable vale 3'; } else { echo 'La variable tiene otro valor'; } ?>

Profesor Rodrigo Cabello

Tema 8 Estructuras de control Bucle while


Esta instruccin nos permite efectuar un bloque de acciones mientras se cumpla una determinada condicin, cuando deje de cumplirse, se continuar ejecutando el resto del cdigo PHP, la condicin se cumple mientras no de resultado 0 y esta formada por operaciones PHP, sobretodo por operaciones lgicas y de comparacin. <? $var1 = 0; while($var1 < 10){ echo "\$var1 = $var1<br>"; $var1++; // Incrementamos la variable } ?>
Profesor Rodrigo Cabello

Tema 8 Estructuras de control Bucle For


El bucle for nos permite ejecutar un determinado bloque de acciones un nmero determinado de veces, a esta estructura le pasaremos tres parmetros que separaremos por punto y coma (;) y que sern: accin inicial - Inicializa la variable de control del bucle condicin - Se evala en cada iteracin, cuando devuelve 0 o FALSE se continua ejecutando el cdigo de despus del for accin - Se ejecuta en cada bucle y debe modificar la variable de la condicin <? for ($var1 = 0; $var1 < 10; $var1++){ echo "\$var1 = $var1"; } ?>
Profesor Rodrigo Cabello

Tema 8 Estructuras de control Ciclo Switch


En muchas ocasiones, programando en PHP, nos encontramos que queremos hacer una u otra accin dependiendo del valor de una variable, en este caso, podramos usar una sucesin de condicionales if, pero el cdigo resultante ser confuso y difcil de modificar en el futuro. Pero PHP y en general todos los lenguajes de programacin de un nivel mas o menos alto, dispone de un ciclo que nos ir como anillo al dedo en este caso, el ciclo switch que nos realizar un bloque de acciones para cada valor de una variable dada.
Profesor Rodrigo Cabello

Tema 8 Estructuras de control Ciclo Switch


<? switch ($i) { case 0: echo "Variable en valor bajo"; break; case 1: echo "Variable en valor alto"; break; default: echo "La variable no es binria"; } ?>
Profesor Rodrigo Cabello

Tema 9 Funciones
Una funcin es un conjunto de instrucciones que a lo largo del programa van a ser ejecutadas multitud de veces. Es por ello, que este conjunto de instrucciones se agrupan en una funcin. Sintaxis general para declarar una funcin:

function nombre (parmetro1, parmetro2, , parmetroN) { instruccin1 instruccin2 . instruccinN }


Profesor Rodrigo Cabello

Tema 9 Funciones
Las funciones pueden ser llamadas y ejecutadas desde cualquier punto del programa.
Adems, una funcin puede recibir parmetros externos de los cuales dependa el resultado de dicha funcin. Es decir, segn el parmetro o parmetros con los que se invoque a la funcin, sta devolver un resultado u otro.

Profesor Rodrigo Cabello

Tema 9 Funciones
Para llamar (hacer que se ejecute) la funcin usaremos esta sintaxis: nombre(parmetros); <?php //Ejemplo funciones function mostrarTexto($texto) { echo "<strong>El texto es : </strong>"; echo $texto; } mostrarTexto("Esto lo realiza la funcin"); ?>
Profesor Rodrigo Cabello

Tema 9 Funciones
Tambin podemos crear funciones que devuelvan datos

<?php // Ejemplo funciones function operaciones($n1, $n2, $operacion) { $resultado = 0; if($operacion == "Sumar") { $resultado = $n1 + $n2; }else if($operacion == "Restar") { $resultado = $n1 - $n2; }else if($operacion == "Multiplicar") { $resultado = $n1 * $n2; } return $resultado; // Devolver el resultado } // Llamar a la funcin operaciones $r = operaciones(5, 7, "Sumar"); echo $r . "<br>"; // O podemos imprimir directamente echo operaciones(15, 8, "Restar"); ?>
Profesor Rodrigo Cabello

Tema 9 Funciones
Funcin sin parmetros
<?php //Ejemplo funciones function mostrarTextoError { echo "<strong>Se ha producido un error </strong>"; // Aqu pueden venir varias lneas de instrucciones } ?>

Profesor Rodrigo Cabello

Tema 9 Funciones
Libreras: archivos en los que se guardan las funciones. La forma de incluirlos en nuestro script es a partir de la instruccin require o include:

require("libreria.php") o include("libreria.php")

<? include("libreria.php"); $titulo="Mi Web"; hacer_encabezado($titulo); ?> <body> El cuerpo de la pgina </body> </html>
Profesor Rodrigo Cabello

Tema 10 Formularios
Desde PHP se puede acceder fcilmente a los datos introducidos desde un formulario HTML
Fichero uno.php
<HTML> <BODY> <FORM ACTION=dos.php METHOD=POST> Edad: <INPUT TYPE=text NAME=edad> <INPUT TYPE=submit VALUE=aceptar> </FORM> </BODY> </HTML> <HTML> <BODY> <?PHP $edad = $_POST[ edad ]; ?> </BODY> </HTML> echo(La edad es: $edad);

Fichero dos.php

Profesor Rodrigo Cabello

Tema 10 Formularios

Profesor Rodrigo Cabello

Tema 10 Formularios
Acceso a los diferentes tipos de elementos de entrada de formulario
Elementos de tipo INPUT TEXT RADIO CHECKBOX BUTTON FILE HIDDEN PASSWORD SUBMIT

Elemento SELECT Simple / mltiple Elemento TEXTAREA

Profesor Rodrigo Cabello

Tema 10 Formularios
TEXT
Introduzca la cadena a buscar: <INPUT TYPE="text" NAME="cadena" VALUE="valor por defecto" SIZE="20">

<?PHP echo ($cadena); //echo ($_POST[" cadena "]);

Profesor Rodrigo Cabello

Tema 10 Formularios
PASSWORD
Contrasea: <INPUT TYPE="password" NAME="clave"> <?PHP echo ($clave); //echo ($_POST[" clave "]); ?>

Profesor Rodrigo Cabello

Tema 10 Formularios
RADIO

<INPUT TYPE="radio" NAME="titulacion" VALUE=II CHECKED>I.Informtica <INPUT TYPE="radio" NAME="titulacion" VALUE="ITIG">I.T.I. Gestin <INPUT TYPE="radio" NAME="titulacion" VALUE="ITIS">I.T.I. Sistemas

<?PHP echo ($titulacion); //echo ($_POST [" titulacion "]); ?>

Profesor Rodrigo Cabello

Tema 10 Formularios
CHECKBOX
<INPUT TYPE="checkbox" NAME="extras" VALUE="garaje" CHECKED>Garaje <INPUT TYPE="checkbox" NAME="extras" VALUE="piscina">Piscina <INPUT TYPE="checkbox" NAME="extras" VALUE="jardin">Jardn

<?PHP echo ($extras); //echo ($_POST [" extras"]); ?>

Profesor Rodrigo Cabello

Tema 10 Formularios
SELECT simple
<SELECT NAME="titulacion"> <OPTION VALUE="II" SELECTED>Ingeniera Informtica <OPTION VALUE="ITIG">Ingeniera Tcnica en Informtica de Gestin <OPTION VALUE="ITIS">Ingeniera Tcnica en Informtica de Sistemas </SELECT>

<?PHP echo($titulacion); //echo($_POST["titulacion"]); ?>

Profesor Rodrigo Cabello

Tema 10 Formularios
TEXTAREA
<TEXTAREA COLS=30" ROWS=4" NAME="comentario"> Este libro me parece ... </TEXTAREA>

<?PHP echo($comentario); //echo($_POST[" comentario "]); ?>

Profesor Rodrigo Cabello

Tema 10 Formularios
BUTTON
<INPUT TYPE= "submit" NAME="nueva" VALUE="Aadir una ms">

<?PHP if ($nueva) echo("Se va a aadir una nueva"); //if ($_POST[" nueva "]) //echo("Se va a aadir una nueva"); ?>

Profesor Rodrigo Cabello

Tema 11 My SQL
Las bases de datos permiten almacenar de una forma estructurada y eficiente toda la informacin de un sitio web Ventajas
Proporcionar informacin actualizada Facilitar la realizacin de bsquedas Disminuir los costes de mantenimiento Implementar sistemas de control de acceso Almacenar preferencias de los usuarios

Profesor Rodrigo Cabello

Tema 10 MySql
Esquema bsico de un sitio web soportado por bases de datos:

Profesor Rodrigo Cabello

Tema 10 MySql
Caractersticas de MySQL
Modelo relacional, multiusuario Numricos
tinyint, smallint, mediumint, int, integer, bigint decimal, float, numeric date, time, datetime, year, timestamp char, varchar tinytext, text, mediumtext, longtext tinyblob, blob, mediumblob, longblob enum, set

Tipos de datos

Fecha y hora

Cadena

Debe elegirse adecuadamente el tipo y el tamao de cada campo

Profesor Rodrigo Cabello

Tema 10 PHP MyAdmin


phpMyAdmin es una herramienta para la administracin del servidor de bases de datos MySQL Dispone de una interfaz grfica y es de libre distribucin Permite realizar todo tipo de operaciones sobre bases de datos:
crear, borrar y modificar tablas consultar, insertar, modificar y eliminar datos definir usuarios y asignar permisos realizar copias de seguridad etc

Est escrita en php y se ejecuta desde el navegador Si est instalada en la carpeta phpmyadmin, se ejecuta escribiendo en la barra de direcciones del navegador la url http://localhost/phpmyadmin/ Puede administrar bases de datos locales y remotas

Profesor Rodrigo Cabello

Tema 10 PHP My Admin

Profesor Rodrigo Cabello

Tema 10
SQL (Structured Query Language) es el lenguaje que se utiliza para comunicarse con la base de datos Procedimiento de comunicacin con la base de datos:

Pgina PHP

orden SQL Base de datos resultado

Profesor Rodrigo Cabello

Tema 10
Las instrucciones ms habituales son SELECT, INSERT, UPDATE, DELETE Veamos su sintaxis bsica y algunos ejemplos de uso

Profesor Rodrigo Cabello

Tema 10 Sintaxis:

SELECT

SELECT expresin FROM tabla [WHERE condicin] [ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC] ,...] [LIMIT [offset,] row_count | row_count OFFSET offset] Ejemplo: SELECT * from noticias WHERE fecha=CURDATE() LIMIT 10 ORDER BY fecha DESC Obtiene las noticias del da con un tope mximo de 10, ordenadas de la ms reciente a la ms antigua

Profesor Rodrigo Cabello

Tema 10
Sintaxis:

Insert

INSERT [INTO] nombre_tabla [(nombre_columna,...)] VALUES ((expresin | DEFAULT),...), (...),... INSERT [INTO] nombre_tabla SET nombre_columna=(expresin | DEFAULT), ...

Ejemplo:
INSERT INTO noticias (id, titulo, texto, categoria, fecha) VALUES (37, Nueva promocin en Nervin, 145 viviendas de lujo en urbanizacin ajardinada situadas en un entorno privilegiado, promociones, CURDATE())

Inserta una noticia con los valores indicados


Profesor Rodrigo Cabello

Tema 10
DELETE [WHERE [ORDER [LIMIT

DELETE

Sintaxis:

FROM nombre_tabla condicin] BY ...] row_count]

Ejemplo:

DELETE FROM noticias WHERE fecha < CURDATE()-10

Borra las noticias con ms de 10 das de antigedad

Profesor Rodrigo Cabello

Tema 10
Funciones de PHP para el acceso a bases de datos MySQL Los pasos para acceder desde PHP a una base de datos son los siguientes:
Conectar con el servidor de bases de datos Seleccionar una base de datos Enviar la instruccin SQL a la base de datos Obtener y procesar los resultados Cerrar la conexin con el servidor de bases de datos

Profesor Rodrigo Cabello

Tema 10
Acceso a bases de datos MySQL Las funciones concretas de MySQL que realizan estas operaciones son:

Conectar con el servidor de bases de datos:


mysql_connect() mysql_select_db()

Seleccionar una base de datos: Enviar la instruccin SQL a la base de datos:

mysql_query()
mysql_num_rows() y mysql_fetch_array() mysql_close()

Obtener y procesar los resultados: Cerrar la conexin con el servidor de bases de datos:

Profesor Rodrigo Cabello

Tema 10

Conectar con el servidor de bases de datos: mysql_connect()


Devuelve un identificador de la conexin en caso de xito y false en caso contrario

Sintaxis:
$conexion = mysql_connect (servidor, username, password);

Ejemplo:
$conexion or die $conexion or die = mysql_connect (localhost, (No se puede conectar con el = mysql_connect (localhost, (No se puede conectar con el cursophp, ) servidor); cursophp-ad, php.hph) servidor);

Profesor Rodrigo Cabello

Tema 10

Seleccionar una base de datos: mysql_select_db()


Devuelve true en caso de xito y false en caso contrario

Sintaxis:
mysql_select_db (database);

Ejemplo:
mysql_select_db (lindavista) or die (No se puede seleccionar la base de datos);

Profesor Rodrigo Cabello

Tema 10
Enviar la instruccin SQL a la base de datos: mysql_query()
Devuelve un identificador o true (dependiendo de la instruccin) si la instruccin se ejecuta correctamente y false en caso contrario

Sintaxis:
$consulta = mysql_query (instruccin, $conexion);

Ejemplo:
$consulta = mysql_query (select * from noticias, $conexion) or die (Fallo en la consulta);

Profesor Rodrigo Cabello

Tema 10
Obtener y procesar los resultados: mysql_num_rows(), mysql_fetch_array()
En el caso de que la instruccin enviada produzca unos resultados, mysql_query() devuelve las filas de la tabla afectadas por la instruccin mysql_num_rows() devuelve el nmero de filas afectadas Para obtener las distintas filas del resultado se utiliza la funcin mysql_fetch_array(), que obtiene una fila del resultado en un array asociativo cada vez que se invoca

Sintaxis:
$nfilas = mysql_num_rows ($consulta); $fila = mysql_fetch_array ($consulta);

Profesor Rodrigo Cabello

Tema 10

Ejemplo:
noticias 1 2 3 4 5 Ttulo 1 Ttulo 2 Ttulo 3 Ttulo 4 Ttulo 5 Texto 1 Texto 2 Texto 3 Texto 4 Texto 5 ofertas promociones promociones costas promociones 05/02/2004 05/02/2004 04/02/2004 01/02/2004 31/01/2004

Instruccin:
select * from noticias where categoria=promociones
Profesor Rodrigo Cabello

Tema 10

Ejemplo:
noticias 1 2 3 4 5 Ttulo 1 Ttulo 2 Ttulo 3 Ttulo 4 Ttulo 5 Texto 1 Texto 2 Texto 3 Texto 4 Texto 5 ofertas promociones promociones costas promociones 05/02/2004 05/02/2004 04/02/2004 01/02/2004 31/01/2004 $consulta $nfilas=3

Instruccin:
select * from noticias where categoria=promociones
Profesor Rodrigo Cabello

Tema 10
Obtencin de las filas:
$nfilas = mysql_num_rows ($consulta); if ($nfilas > 0) { for ($i=0; $i<$nfilas; $i++) { $fila = mysql_fetch_array ($consulta); procesar fila i-sima de los resultados } }

Profesor Rodrigo Cabello

Tema 10
Obtener los resultados: mysql_num_rows(), mysql_fetch_array()
Para acceder a un campo determinado de una fila se usa la siguiente sintaxis:
$fila[nombre_campo] // por ser un array asociativo $fila[$i] // $i=ndice del campo desde 0

Ejemplo:
for ($i=0; $i<$nfilas; $i++) { $fila = mysql_fetch_array ($consulta); print Ttulo: . $fila[titulo]; print Fecha: . $fila[fecha]; }

Profesor Rodrigo Cabello

Tema 10
Cerrar la conexin con el servidor de bases de datos: mysql_close() Sintaxis:
mysql_close ($conexion);

Ejemplo
mysql_close ($conexion);

Profesor Rodrigo Cabello

Вам также может понравиться