programacion-introduccion al php.pdf

Upload: jose-omar-maranon

Post on 03-Jun-2018

252 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    1/114

    Programacion en Lenguaje PHP 1

    Introduccin al PHP

    Ricardo SezMarta Zorrilla

    Universidad de Cantabria

    Febrero-2006

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    2/114

    Programacion en Lenguaje PHP 2

    II-- Aspectos GeneralesAspectos GeneralesOrgenes

    PHP (Personal Home Page), 1994,inventado por Rasmus Lerdof.

    Basado en scripts desarrolladosen perl, luego reescritos en C.

    Versin actual PHP5 (sept 2004),presente en 20% de servidores

    web en internet. 6 lenguaje masutilizado (C,Java, C++, VB, Perl)

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    3/114

    Programacion en Lenguaje PHP 3

    II-- Aspectos GeneralesAspectos Generales

    Caractersticas Lenguaje interpretado del lado

    Servidor. Los programas sonejecutados a travs de unintrprete antes de transferir alcliente el resultado en forma deHTML puro.

    Programas embebidosdirectamente en el cdigo HTML .

    Sigue corriente Open Source.Tanto intrprete como cdigofuente accesibles de forma

    gratuita en la red(http://www.php.net).

    Sintaxis muy similar a C, Perl oJava. Lenguaje fcil de aprender

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    4/114

    Programacion en Lenguaje PHP 4

    II-- Aspectos GeneralesAspectos Generales

    Caractersticas Lenguaje multiplataforma (trabaja

    sobre la mayora de servidoresWeb y est preparado parainteractuar con ms de 20 tipos debases de datos).

    Uso de maysculas, minsculasindiferente (!!! Excepcin:

    identificadores de variables) Formato libre. Las instrucciones

    deben terminar con ; Comparado con otro tipo de

    tecnologas similares resulta masrpido, independiente de laplataforma y ms sencillo deaprender y utilizar.

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    5/114

    Programacion en Lenguaje PHP 5

    II-- Aspectos GeneralesAspectos Generales

    Caractersticas Innumerable cantidad de

    funciones predefinidas

    Correo electrnico.

    Administracin gestin de base de datos.

    Gestin de directorios y ficheros.

    Tratamiento de imgenes. Generacin y lectura de cookies.

    Generacin de ficheros PDF...

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    6/114

    Programacion en Lenguaje PHP 6

    Necesidades para programar en PHP Necesidades para programar en PHP

    PCPC

    Sistema Operativo:Sistema Operativo: Linux, Unix, Windows,Mac OS X ...

    Servidor Web:Servidor Web:Apache, IIS, WPS

    Interprete de PHPInterprete de PHP(http://www.php.net)

    Editor de Texto Plano:Editor de Texto Plano: Notepad. Vi, Edit... NotePad++

    Sistema Gestor de BD:Sistema Gestor de BD:MySQL, Ms Access,Informix...

    AppServ Open Project 2.4.5 (MySQL, Apache y PHP)

    Apache

    Intrprete PHP MySQL

    II-- Aspectos GeneralesAspectos Generales

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    7/114

    Programacion en Lenguaje PHP 7

    II-- Aspectos GeneralesAspectos Generales

    < HTML>Primer Programa

    < HTML>

    Primer Programa

    Primer programa en PHP

    Programa1.php

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    8/114

    Programacion en Lenguaje PHP 8

    II-- Aspectos GeneralesAspectos Generales

    Cmo incrustar cdigo en PHP

    Forma ms recomendable

    Siempre disponible (no depende deconfiguracin del Servidor.

    Especfica de PHP.

    nica que permite incrustar cdigo PHP en XML y XHTML

    Otras formas

    ................................................................................................................

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    9/114

    Programacion en Lenguaje PHP 9

    II-- Aspectos GeneralesAspectos Generales

    Nmero negativoNmero positivo

    Nmero negativoNmero positivo

    Los scripts pueden

    ser divididos enbloques y escribirentre ellos HTMLpuro.

    Cmo incrustar cdigo en PHP

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    10/114

    Programacion en Lenguaje PHP 10

    II-- Aspectos GeneralesAspectos Generales

    Algunos ejemplo PHP

    La funcin phpinfo() para obtenerinformacin acerca de su sistemay configuracin como las variablespredefinidas disponibles

    Chequeo de navegador web usado

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    11/114

    Programacion en Lenguaje PHP 11

    II-- Aspectos GeneralesAspectos GeneralesElementos bsicos

    Identificador : Nombre utilizado paradesignar variables, etiquetas, funciones,y dems objetos del programa. Combinaletras, dgitos y subrayado. Significativoslos 6 31 primeros.

    Comentario : Texto explicativo en elcdigo fuente. Se enmarca entresecuencias /* ..*/, b) // , c) # ..... Son

    ignorados por el compilador.

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    12/114

    Programacion en Lenguaje PHP 12

    II-- Aspectos GeneralesAspectos GeneralesElementos bsicos

    TIPOS DE DATOS : Naturaleza de losdatos que maneja el programa

    tipos escalares: boolean

    integer float (nmero de punto-flotante, tambinconocido como 'double')

    string

    tipos compuestos: array object

    tipos especiales: resource NULL

    pseudo-tipos por razones de legibilidad: mixed number callback

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    13/114

    Programacion en Lenguaje PHP 13

    II-- Aspectos GeneralesAspectos GeneralesElementos bsicos

    BOOLEANO Un boolean expresa un valor de verdad.Puede ser TRUE or FALSE .

    Conversin a booleano: usar el molde(bool) o (boolean). Normalmente no

    necesario, el valor se convierteautomticamente si se requiere

    Son considerados FALSEFALSEFALSEFALSE:el boolean FALSE mismoel integer 0 (cero)

    el float 0.0 (cero)el valor string vaco, y el string "0"un array con cero elementosun object con cero variables miembroel tipo especial NULL (incluye variables no

    definidas)Cualquier otro valor es considerado TRUETRUETRUETRUE

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    14/114

    Programacion en Lenguaje PHP 14

    II-- Aspectos GeneralesAspectos Generales

    Ejemplo

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    15/114

    Programacion en Lenguaje PHP 15

    II-- Aspectos GeneralesAspectos GeneralesElementos bsicos

    ENTEROS Un integer es un nmero del conjunto Z =

    {..., -2, -1, 0, 1, 2, ...}.

    No hay un operador de divisin de enterosen PHP. Puede moldear el valor a unentero para asegurarse de redondearlohacia abajo, o usar la funcin round().

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    16/114

    Programacion en Lenguaje PHP 16

    II-- Aspectos GeneralesAspectos GeneralesElementos bsicos

    Conversin a integer: usar el molde (int )o (integer). Normalmente no necesario,el valor se convierte automticamente sise requiere. Tambin se puede usarfuncion intval()

    desde boolean FALSE es 0, TRUE es 1 ver manual..

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    17/114

    Programacion en Lenguaje PHP 17

    II-- Aspectos GeneralesAspectos GeneralesElementos bsicos

    COMA FLOTANTE tambin conocidos como "flotantes",

    "dobles" o "nmeros reales")Formalmente:

    LNUM [0-9]+DNUM ([0-9]*[\.]{LNUM}) | ({LNUM}[\.][0-9]*)EXPONENT_DNUM ( ({LNUM} | {DNUM}) [eE][+]? {

    LNUM})

    Conversin a flotante. Ver seccin endocumentacin complementaria

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    18/114

    Programacion en Lenguaje PHP 18

    II-- Aspectos GeneralesAspectos GeneralesElementos bsicos

    CADENAUn valor string es una serie de caracteres.

    En PHP, un caracter es lo mismo que unbyte, es decir, hay exactamente 256

    tipos de caracteres diferentes.

    Un literal de cadena puede especificarseen tres formas diferentes.

    comillas simples comillas dobles sintaxis heredoc

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    19/114

    Programacion en Lenguaje PHP 19

    II-- Aspectos GeneralesAspectos GeneralesElementos bsicos

    Tipo de dato Ejemplos de valores

    entero decimal

    1 123 2100 -12 90entero hexadecimal

    0x80 /* 128 en dec.*/0x21B /* 539 en dec.l */

    entero octal

    012; /* 10 en decimal */coma flotante123.23, -76.00001, 1.4e3

    cadenaprograma en PHP

    programacion OOdecimal : [1-9][0-9]* | 0hexadecimal : 0[xX][0-9a-fA-F]+octal : 0[0-7]+ integer : [+-]?decimal | [+-]?hexadecimal | [+-]?octal

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    20/114

    Programacion en Lenguaje PHP 20

    II-- Aspectos GeneralesAspectos Generales

    Elementos bsicos Variables : Posicin de memoria con

    nombre. Mantiene valores que pueden variar en

    el programa. No necesitan declararse. No tienen tipo predefinido, puede

    asignarse cualquier valor. Nombres de variables comienzan con

    $ En nombres de variables si se

    distingue maysculas-minsculas. Se forman por combinacin de letras,

    dgitos y subrayado. Vlidas letrasacentuadas y

    Una variable puede reutilizarseasignndose datos, incluso de tiposdistintos.

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    21/114

    Programacion en Lenguaje PHP 21

    II-- Aspectos GeneralesAspectos Generales

    Elementos bsicos Se pueden reutilizar en el tiempo,

    incluso dndoles valores de diferentestipos.

    Adems de variables definidas por elprogramador, existen variablespredefinidas a las que se tiene accesodesde los scripts.

    Puede haber nombre de variables quesean a su vez variables

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    22/114

    Programacion en Lenguaje PHP 22

    II-- Aspectos GeneralesAspectos Generales

    Elementos bsicos Ejemplos

    Variables vlidas:

    $x, $da_de_maana, $variable2 Variables no vlidas:

    x, $da-de-maana, $2variable, $dto%

    Asignacin de variables:

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    23/114

    Programacion en Lenguaje PHP 23

    II-- Aspectos GeneralesAspectos Generales

    Elementos bsicos Funciones para conocer el tipo de datoque guarda una variable:

    gettype() devuelve el tipo de la variable.

    is_array() determina si contiene un array.

    is_float() determina si contiene un nm.en coma flotante.

    is_int() determina si contiene un nmero entero.

    is_object() determina si hace referencia a un objeto.

    is_string() determina si contiene una cadena de caracteres.

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    24/114

    Programacion en Lenguaje PHP 24

    II-- Aspectos GeneralesAspectos Generales

    Ejemplo is_array()

    Matriz

    no es Matriz

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    25/114

    Programacion en Lenguaje PHP 25

    II-- Aspectos GeneralesAspectos Generales

    Elementos bsicos

    Otras funciones de inters:

    isset()Permite conocer si una variable ha sidodefinida. Importante para saber si se hanrecibido todos los datos de un formulario.

    unset()Permite eliminar una variable. Borra elcontenido de la misma y libera el espacioen memoria que ocupaba .

    empty()Permite saber si una variable que existetiene un valor nulo o vaco

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    26/114

    Programacion en Lenguaje PHP 26

    II-- Aspectos GeneralesAspectos Generales

    Ejemplo isset(), unset()

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    27/114

    Programacion en Lenguaje PHP 27

    II-- Aspectos GeneralesAspectos Generales

    Elementos bsicos La primera vez que se usa una variable y

    se le da un valor, automticamente PHPle asigna un tipo a dicha variable.

    Si el valor asignado cambia de tipo,implcitamente se produce unaconversin de tipo en la variable.

    El programador puede forzar laconversin de una variable de dosformas

    Mediante el uso de la funcin settype() $b=settype($a, string);

    Mediante el operador de conversin$b=(integer)$a;

    tambin llammado cast o molde

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    28/114

    Programacion en Lenguaje PHP 28

    II-- Aspectos GeneralesAspectos Generales

    Elementos bsicos 3 localizaciones:

    - fuera de todas las funciones, en elscript del documento (globales)

    - en cuerpo de las funciones (locales)- en definicin de parmetros

    (parmetros formales)

    Ambito de una variable ; en que lugaresuna variable es conocida y puede ser

    usada(*) Por defecto tienen mbito global

    Variables globales: Se conocen en todo el programa

    documento Se declaran fuera de las funciones Existen en todo el documento, incluso si

    hay varios scripts. Pueden ser referenciadas dentro de una

    funcin solo si se declaran como global

    dentro de la funcion.

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    29/114

    Programacion en Lenguaje PHP 29

    II-- Aspectos GeneralesAspectos Generales

    Elementos bsicos Ejemplo1: Uso de variables globales

    dentro de una funcin Ejemplo2

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    30/114

    Programacion en Lenguaje PHP 30

    II-- Aspectos GeneralesAspectos Generales

    Elementos bsicos Variables locales: Se declaran dentro de la funcin Slo pueden ser referenciadas dentro

    de la funcin o bloque donde fuerondeclaradas

    Slo existen mientras se ejecuta elbloque donde estn declaradas.

    el uso de variables locales ayuda aprevenir fenmenos no deseados

    las variables locales no puedenretener sus valores entre llamadas a lafuncin

    Parmetros formales: Si una funcin utiliza argumentos,debe declarar las variables que van aaceptar los valores de los argumentos(parmetros formales). Se comportan

    como var. locales

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    31/114

    Programacion en Lenguaje PHP 31

    II-- Aspectos GeneralesAspectos Generales

    Elementos bsicos Ejemplo-1: uso de variables locales y

    parametros ..function importe_final ($precio) {$x=$precio*1.17;return $x;}function descuento ($importe) {

    $x=$importe;if ($importe > 20000)$x=$importe-$importe*0.25;

    return $x;}

    ..Ejemplo-2: uso de parametros function cuadrado ($valor) {return ($x*$x);}

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    32/114

    Programacion en Lenguaje PHP 32

    II-- Aspectos GeneralesAspectos Generales

    Elementos bsicos

    Constantes : Valores fijos no alterablespor el programa. Son los valores queasignamos a las variables.

    Solo pueden definirse constantes convalores escalares (nmeros ocadenas)

    La definicin de constantes se realizacon la funcin define()

    Los identificadores de constantes nocomienzan con $ de las variables

    Por convenio se usan maysculaspara los identificadores deconstantes.

    Las constantes no tienen restriccinde mbito.

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    33/114

    Programacion en Lenguaje PHP 33

    II-- Aspectos GeneralesAspectos Generales

    Elementos bsicos Ejemplo-1: uso de constantes define(NOMBRE_EJERCICIO, Ej-1);define (DESCUENTO, 0.25);

    define(TIPO_IVA,1.17);define (IMPORTE_MAXIMO, 20000);

    echo NOMBRE EJERCICIO;

    $importe=$importe*(1+TIPO_IVA);if ($importe >IMPORTE_MAXIMO) {

    $importe =$importe*(1-DESCUENTO);}echo $importe;..

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    34/114

    Programacion en Lenguaje PHP 34

    II-- Aspectos GeneralesAspectos Generales

    Elementos bsicos Secuencias de Escape : permitenrepresentar caracteres no imprimibles(retorno de carro, tabulacin, etc), yconfiere portabilidad al cdigo.

    \n salto de lnea \r retorno de carro \ comilla doble \ comilla simple \0 nulo

    \t tabulacin horiz. \\ barra invertida \N carcter cuyo codigo ASCII en octal es

    N \xN carcter cuyo codigo ASCII en

    hexadecimal es N

    Ejemplo:echo El radio=$radio\tArea=$area\nFin;

    El radio=1 Area=3.14 Fin

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    35/114

    Programacion en Lenguaje PHP 35

    II-- Aspectos GeneralesAspectos Generales

    Elementos bsicos Cadenas de caracteres :Las cadenas son arrays de caracteres porlo que se puede acceder a los diferentes

    caracteres que la forman de maneraindividual mediante su ndice.cadena[1] accede al segundo carcterguardado en la variable cadena

    Para su definicin se pueden utilizar comodelimitadores las comillas simples o lasdobles pero no ambas a la vez.

    La diferencia entre el uso de comillas

    dobles y simples como delimitadores decadenas es, adems de las secuenciasde escape que acepta, que las variablesdentro de una cadena con comillasdobles se expanden (se sustituyen porsu valor).

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    36/114

    Programacion en Lenguaje PHP 36

    II-- Aspectos GeneralesAspectos Generales

    Elementos bsicos Cadenas de caracteres y variables :

    Existe otra forma de expandir variablesdentro de cadenas que PHP hereda dePerl

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    37/114

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    38/114

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    39/114

    Programacion en Lenguaje PHP 39

    II-- Aspectos GeneralesAspectos Generales

    Elementos bsicos relacionales :

    pueden aplicarse sobre losdatos predefinidos y dancomo resultado un valorlgico.

    operadores> mayor que>= mayor o igual que< menor que

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    40/114

    Programacion en Lenguaje PHP 40

    II-- Aspectos GeneralesAspectos Generales

    Elementos bsicos Ejemplo-1 :Resultado-1: los dos valores son diferentes

    Ejemplo-2:

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    41/114

    Programacion en Lenguaje PHP 41

    II-- Aspectos GeneralesAspectos Generales

    Elementos bsicos lgicos:

    se aplican sobre operandos

    lgicos y dan como resultadoun valor lgico.

    operadores

    && Y$x&&$y cierto si tanto $x como $y son ciertoand Y$xand$y cierto si tanto $x como $y son cierto|| O$x || $y cierto si $x $y son cierto

    or O$x or $y cierto si $x $y son cierto

    xor O exclusivo$x xor $y cierto si $x $y cierto, no ambos

    ! negacin!$x cierto si $x tiene valor falso

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    42/114

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    43/114

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    44/114

    Programacion en Lenguaje PHP 44

    II-- Aspectos GeneralesAspectos Generales

    Elementos bsicos otros operadores: operador ? (condicional) se

    utiliza con sentenciascondicionalesformato

    exp1?exp2:exp3;evala exp1, si cierto, se evala exp2 y tomaese valor para la expresin. Si exp1 es falsa,evala exp3 tomando ese valor para laexpresin.Ejemplo$par= ($n %2 ==0) ? 1:0;

    operador . (concatenacin)

    permite concatenar cadenasformato

    cadena1.cadena2Ejemplo$titulo1= Lenguaje;

    $titulo2=PHP;$titulo=$titulo1. de programacion.$titulo2;

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    45/114

    Programacion en Lenguaje PHP 45

    II-- Aspectos GeneralesAspectos Generales

    Elementos bsicos Ejemplo :

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    46/114

    Programacion en Lenguaje PHP 46

    II-- Aspectos GeneralesAspectos Generales

    Elementos bsicos operador @ (supresin deerror)el interprete PHP no genera mensajes de error

    aunque detecte situaciones errneas

    Ejemplo$y= @(1/0);

    operador ` (ejecucin)la expresin encerrada entre acentos debe sertratada como una sentencia a ejecutardirectamente por el sistema operativo

    Ejemplo

    /* genera una pagina web con el contenido deldirectorio donde est */

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    47/114

    Programacion en Lenguaje PHP 47

    II-- Aspectos GeneralesAspectos Generales

    Elementos bsicos Ejemplo :

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    48/114

    Programacion en Lenguaje PHP 48

    II-- Aspectos GeneralesAspectos Generales

    Elementos bsicos operador cast (conversinde tipo)

    formato

    (tipo) expresion;

    Ejemplo$x=(int) 15.65;$p= (string) 2006;

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    49/114

    Programacion en Lenguaje PHP 49

    II-- Aspectos GeneralesAspectos Generales

    Elementos bsicos Ejemplo :

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    50/114

    Programacion en Lenguaje PHP 50

    II-- Aspectos GeneralesAspectos Generales

    Elementos bsicos operadores parntesis y corchetes los primeros cambian la precedencia natural delos operadores, los segundos llevan a cabo laindexacin de arrays (proporcionan el ndice del

    array)

    Resumen de precedencias :Mayor

    () [ -> . I-D

    ++ --(cast), @ D-I* / % I-D (aritmticos)+ - I-D (aritmticos). (concatenacion) I-D> I-D (relacionales)> = I-D (relacionales)==, ! =, === I-D (relacionales)

    &, , |,&&,|| I-D (lgicos)condicional I-Dasignacionand, or, xor I-D (lgicos)

    Menor

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    51/114

    Programacion en Lenguaje PHP 51

    II-- Aspectos GeneralesAspectos GeneralesElementos bsicos

    Expresiones : Es cualquier combinacinvlida de operadores, variables y

    constantes.

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    52/114

    Programacion en Lenguaje PHP 52

    IIII-- PHP y los FormulariosHTML

    Formularios HTML :Forma principal de interactuar con elusuario.Cada dato que el usuario introduzca en elcorrespondiente campo del mismo El parmetro NAME de los campos de unformulario sirven para poder identificarcada campo dentro del formulario

    Envo de datos a programas PHP

    1. Indicar en el parmetro ACTION , dela etiqueta FORM, el nombre deldocumento PHP al que deben serenviados los datos.

    2. El documento PHP recibir variablescon los datos que el usuario introdujoen los campos del formulario. Elnombre de las variables coincidir conel nombre de los campos delformulario.

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    53/114

    Programacion en Lenguaje PHP 53

    IIII-- PHP y los FormulariosHTML

    Mtodo de acceso a las variables delformulario

    Primer mtodo (vlido desde php 4.1):

    Tercer mtodo (vlido independientementedel servidor):

    $_REQUEST[nombre_control],$_POST[nombre_control],$_GET[nombre_control].

    Segundo mtodo o estilo corto:

    Necesidad de configurar en archivophp.ini del intrprete de php el siguienteparmetro : register_globals=on.

    $nombre_control .

    $HTTP_POST_VARS[nombre_variable],

    $HTTP_GET_VARS[nombre_variable].

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    54/114

    Programacion en Lenguaje PHP 54

    II-- Aspectos GeneralesAspectos Generales

    Elementos bsicos

    Ejemplo-1 : SumaNumeros(SumaNumeros.php)

    Ejemplo-2 : Procesar par/impar(procesar.php)

    Ejemplo de Tratamiento de formularioscon listas de seleccin multiples

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    55/114

    Programacion en Lenguaje PHP 55

    IIII-- PHP y los FormulariosHTML

    Tratamiento de formularios con listas deseleccin mltiples

    SumaNumeros.phpSumaNumeros.php

    txtnumero1 txtnumero2

    btnSumar

    12 13

    25

    txtnumero1 txtnumero2btnSumar

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    56/114

    Programacion en Lenguaje PHP 56

    II-- Aspectos GeneralesAspectos Generales

    Elementos bsicos Ejemplo :

    procesar un numero

    Introduzca un numero entero:


  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    57/114

    Programacion en Lenguaje PHP 57

    IIIIII-- Sentencias de ControlSentencias de Control

    introduccin Son aquellas que permiten alterar

    el orden secuencial habitual en laejecucin de sentencias.

    condicionales (if, switch) iterativas (while, for, do-while,

    foreach) de salto (break, continue, goto,

    return) de etiquetado (case, default, label) de expresin (expresiones vlidas) de bloque ({})

    En php cualquier valor distinto de0 se considera true, 0 seconsidera falso.

    Sentencia. Puede ser simple,bloque o ninguna.

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    58/114

    Programacion en Lenguaje PHP 58

    IIIIII-- Sentencias de ControlSentencias de Control

    condicionales if

    forma generalif (expresin) sentencia;

    else sentencia;

    Descripcin si expresin es cierta (cualquier valor distinto de0), se ejecuta la/s sentencia/s objeto del if, sino

    las del else

    if anidado Es una variante del if consistente en unasentencia if objeto de otro if o else.

    En PHP, al igual que en C, el else estasociado al if ms prximo que no tengasentencia else asociada

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    59/114

    Programacion en Lenguaje PHP 59

    IIIIII-- Sentencias de ControlSentencias de Control

    condicionales escala if-else-if

    Es una variante del if consistente en unasentencia if objeto de otro if o else.

    Si todas las condiciones fallan seejecuta la sentencia else final (o nadasi no hay)

    Formato if (expresin1) sentencia;

    else if (expresion2) sentencia; else

    if (expresin3) sentencia; ..

    else sentencia;

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    60/114

    Programacion en Lenguaje PHP 60

    IIIIII-- Sentencias de ControlSentencias de Control

    condicionales Si en lugar de tratar una sentencia

    simple en una clusula if, es precisotratar un conjunto de ellas se emplearel bloque

    { sentencia1; ...sentencian;

    }

    Sintaxis alternativa: PHP admite sintaxisalternativa para delimitar el bloque (tilpara fraccionar una estructura en dosscripts)

    if (condicion) : sentencia1; ..sentencian;

    endif;

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    61/114

    Programacion en Lenguaje PHP 61

    IIIIII-- Sentencias de ControlSentencias de Control

    condicionales

    if ( condicin1 ) : sentencia(s) a ejecutar si la condicin 1 se

    cumple elseif ( condicin2 ) :

    sentencia(s) a ejecutar si la condicin 2 secumple

    ...else :

    sentencia(s) a ejecutar si ninguna de lascondiciones anteriores se cumplen

    endif;

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    62/114

    Programacion en Lenguaje PHP 62

    IIIIII-- Sentencias de ControlSentencias de Control

    condicionales switch sentencia de seleccin multipleforma general

    switch (expresin) {

    case constante1:secuencia de sentenciasbreak;

    case constante2:secuencia de sentencias

    break;....default:

    secuencia de sentencias;}

    Descripcin Se comprueba el valor de expresin y secompara por orden con las constantesespecificadas en las clasulas. Cuando seencuentra correspondencia se ejecuta lasecuencia de sentencias asociadas a ese casehasta el break o hasta el final de switch. Si nohay correspondencia se ejecuta lascorrespondientes a default.

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    63/114

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    64/114

    Programacion en Lenguaje PHP 64

    IIIIII-- Sentencias de ControlSentencias de Control

    condicionales

    switch ( expresin ) { case valor1:

    sentencia(s) a ejecutar si se cumplela condicin break;

    case valor2a: case valor2b:

    sentencia(s) a ejecutar si se cumplela condicin

    break; ...default:

    sentencia(s) a ejecutar si ninguna delas condiciones

    anteriores se cumplen }

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    65/114

    Programacion en Lenguaje PHP 65

    IIIIII-- Sentencias de ControlSentencias de Control

    iterativas Permiten que un conjunto deinstrucciones sea ejecutado hasta que sealcance una condicin (predefinida comoen el for , o sin final determinado como enwhile o do-while )+ foreach

    for forma general

    for (inicializacin; condicin; incremento)sentencia;

    Descripcin inicializacin-> sentencia de asignacinpara iniciar variable de control de ciclo.

    condicin -> expresin relacional.

    incremento -> determina como cambia lavariable de control.

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    66/114

    Programacion en Lenguaje PHP 66

    IIIIII-- Sentencias de ControlSentencias de Control

    iterativas while

    forma generalwhile (condicion) sentencia;

    Descripcin se evala condicin, si es cierta se ejecutasentencia. Si condicin es falsa se sale del bucle

    do-while analiza la condicin a final del ciclo.forma general

    do { sentencia;

    } while (condicion);

    Descripcin el bucle itera hasta que la condicin se hacefalsa.

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    67/114

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    68/114

    Programacion en Lenguaje PHP 68

    IIIIII-- Sentencias de ControlSentencias de Control

    iterativas while ( expresin ) {

    sentencia(s) a ejecutar si se cumple lacondicin

    }

    while ( expresin ) : sentencia(s) a ejecutar si se cumple la

    condicin endwhile;

    for ( inicializacin; condicin; modificacin ) { sentencia(s) a ejecutar si se cumple la condicin

    }

    for ( inicializacin; condicin; modificacin ) : sentencia(s) a ejecutar si se cumple la

    condicin endfor;

    do { sentencia(s) a ejecutar si se cumple la condicin

    }

    while ( expresin );

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    69/114

    Programacion en Lenguaje PHP 69

    IIIIII-- Sentencias de ControlSentencias de Control

    saltoSentencia BREAK y CONTINUE

    Permiten alterar la ejecucin prevista de

    una estructura iterativa BREAK :- Cancela completamente la ejecucin del bucle.- Es utilizada, adems, en la sentencia SWITCH .

    CONTINUE :- Cancela una de las iteraciones pasandodirectamente a la siguiente.

    Dentro de un bucle, ambas sentenciasadmite el uso de un parmetro opcionalque indica: Nmero de estructuras decontrol de las que hay que salir o Nmerode niveles a saltar para continuar laejecucin (break n; continue n;).

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    70/114

    Programacion en Lenguaje PHP 70

    de expresin cualquier expresin vlida C

    seguida de punto y comaEjemplo :func();a=b+c;b+f();

    ;

    de bloque grupo de sentencias relacionadasque se tratan como una unidad

    Los bloques comienzan con { yconcluyen con }

    Se pueden colocar en cualquierpunto de programa

    IIIIII-- Sentencias de ControlSentencias de Control

    otras

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    71/114

    Programacion en Lenguaje PHP 71

    IVIV-- FuncionesFunciones

    Introduccin Es la base de toda actividad de programa

    forma general function NombreFuncion (argumentos) {sentencias; return ValorDevuelto;

    }

    Ejemplo-3.1 /* calcula base n */

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    72/114

    Programacion en Lenguaje PHP 72

    IVIV-- FuncionesFunciones

    llamada Llamada a las funciones : La funcin debe de estar definida antes

    de realizar la llamada (en PHP 4 y 5, no) En la llamada, los argumentos deben

    pasarse en el orden en que aparecen enla definicin de parmetros.

    Si se pasan menos argumentos queparmetros definidos, los ltimos seasumirn nulos

    Si la funcin devuelve un valor, estepuede asignarse a yuan variable o serusado en otra expresin.

    Ejemplo-3.2 con la funcin anterior, lassiguientes llamadas son validas

    $x=2;$y=3;$z=potencia($x,$y);$z=potencia(2,3);$x=2;

    Echo POTENCIA($x,3);$z=suma(2,3);

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    73/114

    Programacion en Lenguaje PHP 73

    IVIV-- FuncionesFunciones

    Argumentos argumentos : es una de las formas

    en que dos funcionesintercambian informacin.

    argumento: valor usado en unallamada a funcin (tambinparmetro actual)

    parmetro: nombre de lasvariables locales que aparecenentre parntesis en la declaracin

    de la funcin (tambin parmetroformal). En PHP todos losargumentos pueden serconsiderados opcionales

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    74/114

    Programacion en Lenguaje PHP 74

    IVIV-- FuncionesFuncionesArgumentos

    Ejemplo-3.3 /* Potencias */ Ejemplo de potencias

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    75/114

    Programacion en Lenguaje PHP 75

    IVIV-- FuncionesFunciones

    Argumentos - los parmetros formales y

    actuales deben ser del mismo tipo.

    - al definir funciones pueden darsevalores por defecto a losargumentos: si no est presenteen la llamada se le asigna ese

    valor defecto (asignar parmetro avalor)

    - listas de argumentos de longitud

    variable: permitido a partir dePHP4 ( ejemplo 3.4 )

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    76/114

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    77/114

    Programacion en Lenguaje PHP 77

    IVIV-- FuncionesFunciones

    Paso de parmetros Paso de parmetros : definen la

    forma en que pasan argumentos alas funciones.

    Llamada por valor: se copia elvalor del argumento en elparmetro formal de la funcin.Los cambios en los parmetros dela funcin no afectan a lasvariables que se usan en lallamada.

    Llamada por referencia: se copiala direccin del argumento en elparmetro formal de la funcin.Los cambios en los parmetros dela funcin afectan a las variablesque se usan en la llamada .

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    78/114

    Programacion en Lenguaje PHP 78

    IVIV-- FuncionesFunciones

    Paso de parmetros - Para indicar que un argumento se

    pasa por referencia, se debeanteponer & al nombre de lavariable en la lista de parmetros.

    Ejemplo-3.5 : /* ppv-cuadrado de unvalor dado */

    function cuadrado ($x) {$x=$x*$x;return $x;}.....$t=10;print ($t,cuadrado($t));....

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    79/114

    Programacion en Lenguaje PHP 79

    IVIV-- FuncionesFuncionesPaso de parmetros

    Ejemplo-3.6 : /* suma de dos nmeros */ Ejemplo de SUMAS

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    80/114

    Programacion en Lenguaje PHP 80

    IVIV-- FuncionesFunciones

    Paso de parmetros

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    81/114

    Programacion en Lenguaje PHP 81

    IVIV-- FuncionesFuncionesPaso de parmetros

    Ejemplo-3.7 intercambio de dos valores

    Ejemplo INTERCAMBIO

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    82/114

    Programacion en Lenguaje PHP 82

    IVIV-- FuncionesFunciones

    Ambito de las variables reglas de mbito : controlan si un

    fragmento de cdigo conoce o tieneacceso a otro segmento de cdigo odatos.

    - Toda variable definida dentro de unafuncin tiene mbito local.

    - Una variable declarada fuera de unafuncin tiene un mbito global y nopuede ser usada dentro si no se declaraglobal

    - Variable esttica local: tipo especial devariable local que no pierde su valorcuando termina la ejecucin de lafuncin. Precisa usar static en sudeclaracin

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    83/114

    Programacion en Lenguaje PHP 83

    IVIV-- FuncionesFunciones

    conceptos varios sentencia return : tiene dos usos:- forzar la salida inmediata de la funcin- devolver valor

    clasulas include y require :permiten insertar en un programacdigo que se encuentra en un ficheroexterno.

    sintaxis include(mifichero.php); require(mifichero.php);

    diferencias En caso de no localizar mifichero.php,require produce -Error Fatal- y noejecuta el resto del programa. Includegenera aviso y contina con ejecucindel resto de programas.

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    84/114

    Programacion en Lenguaje PHP 84

    IVIV-- FuncionesFunciones

    conceptos varios funciones variables : el nombre de unafuncin puede ser almacenado en unavariable durante la ejecucin delprograma (ejemplo-3.8)

    valores retornables por una funcion :puede ser de cualquier tipo: cadena decaracteres, valor numrico, valorbooleano, array, ...Siempre ir asociadocon la sentencia return

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    85/114

    Programacion en Lenguaje PHP 85

    IVIV-- FuncionesFuncionesconceptos varios

    Ejemplo-3.8 Funciones Variables

    Operaciones aritmticas

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    86/114

    Programacion en Lenguaje PHP 86

    IVIV-- FuncionesFuncionesconceptos varios

    for ($i=0;$i

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    87/114

    Programacion en Lenguaje PHP 87

    IVIV-- FuncionesFunciones

    conceptos varios recursividad : es la propiedad que en Ctienen las funciones de llamarse a simismas

    caractersticas de la recursividad: - en las funciones recursivas existir un if

    que permite a la funcin volver sinejecutar de nuevo la funcin.

    - las versiones recursivas no minimizan

    tamao de cdigo ni ahorran espacio dealmacenamiento de variables.

    - las versiones recursivas son mas lentasque las iterativas equivalentes.

    - Un nmero elevado de llamadas afuncin pueden desbordar la pila.

    - Determinados algoritmos de ordenacin(quitsort) son idneos para tratarlos confunciones recursivas. Tambinproblemas de inteligencia artificial.

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    88/114

    Programacion en Lenguaje PHP 88

    IVIV-- FuncionesFunciones

    conceptos varios Ejemplo-3.9 Funcion Factorial

    /* version factorial-iterativa */

    function factorial($n){$respuesta=1;for ($t=1; $t

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    89/114

    Programacion en Lenguaje PHP 89

    IVIV-- FuncionesFunciones

    predefinidas PHP cuenta con mas de 700 funcionespredefinidas que pueden ser utilizadasen el programa sin necesidad de invocarlibrera alguna.

    Una breve clasificacin:

    Matemticas Trabajo con fechas

    Trabajo con cadenas Trabajo con arrays Ficheros y directorios (*) Acceso a bases de datos (*) Comunicaciones (*)

    (*) Se vern en los correspondientescaptulos

    Todo en http://www.php.net Otras referencias especficas de inters:http://www.interec.com/tutoriales/manuales/php.phtml

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    90/114

    Programacion en Lenguaje PHP 90

    IVIV-- FuncionesFunciones

    predefinidas Matemticas

    Trabajo con fecha y hora

    abs (n) exp (a) round (n) log (n) ceil (n) min (n1, n2, ...) ; min (array) floor (n) max (n1, n2, ...) ; max (array) cos (n) pow (a, b) sin (n) rand (min, mx), mtrand (min, mx) tan (n) sqrt (a)

    time () mktime (hora, minuto, segundo, mes, da ao) checkdate (mes, da ao) date (formato, instante )

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    91/114

    Programacion en Lenguaje PHP 91

    IVIV-- FuncionesFunciones

    predefinidas Trabajo con cadenasReconocimiento de caracteres

    Conversin cadena-array

    Prolongacin de cadena

    ctype_alnum (cadena)

    ctype_space (cadena)ctype_alpha (cadena) ctype_digit (cadena) ctype_lower (cadena) ctype_upper (cadena) ctype_print (cadena) ctype_punct (cadena)

    explode (separador, cadena, lmite) implode (separador, array)

    join (separador, array) str_word_count (cadena, formato )

    str_pad (cadena, longitud, cadena_aad, clase_ad) str_repeat (cadena, nmero)

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    92/114

    Programacion en Lenguaje PHP 92

    IVIV-- FuncionesFunciones

    predefinidas Modificacin de cadena

    Comparacin de cadenas

    Bsqueda de datos

    str_replace (buscar, reemplazar, cadena) strrev (cadena) strtolower (cadena) strtoupper(cadena) substr_replace (cadena, reemplazar, posic, long) ucfirst (cadena) ucwords (cadena)

    strcasecmp (cadena1, cadena2) strcmp (cadena1, cadena2) strnatcasecmp (cadena1, cadena2) strnatcmp (cadena1, cadena2)

    strchr (cadena, carcter) strrchr (cadena, carcter) stristr (cadena, fragmento) strstr (cadena, fragmento) strpos (cadena, fragmento, inicio_bsqueda) strrpos (cadena, carcter) substr (cadena, longitud_inicial, longitud) substr_count (cadena, fragmento)

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    93/114

    Programacion en Lenguaje PHP 93

    IVIV-- FuncionesFunciones

    predefinidas Subdivisin de cadenas

    Longitud de una cadena

    Trabajo con arrays

    Transformacin de los ndices

    Subdivisin

    Contabilizacin de elementos

    wordwrap (cadena, ancho, separacin) strtok (cadena, delimitador)

    strlen (cadena)

    array_change_key_case (array, caso)

    array_chuck (array, dimensin, valor_booleano)

    array_count_values (array) count (array)

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    94/114

    Programacion en Lenguaje PHP 94

    IVIV-- FuncionesFunciones

    predefinidas Bsqueda de datos

    Generacin de arrays

    Combinacin de arrays

    array_filter (array, funcin) array_keys (array, elementos) array_key_exists (indice, array) array_rand (array, num_elementos) array_search (elemento_buscado, array, v_logico) array_values (array) in_array (elemento, array)

    array_combine (indices, elementos) compact (ListaVariables) extract (array, extraccin) range (inicio, final, aumento) array_slice (array, fragmento, dimensin) array_splice (array, frag, dim, nuevo)

    array_merge (array1, array2, array3, ...) array_diff_assoc (array1, array2, array3, ...) array_diff (array1, array2, array3, ...) array_intersect_assoc (array1, array2, array3, ...)

    array_intersect (array1, array2, array3, ...)

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    95/114

    Programacion en Lenguaje PHP 95

    IVIV-- FuncionesFunciones

    predefinidas Prolongacin/truncamiento de array

    Aplicacin de funciones

    array_fill (indice, cantidad, elemento) array_pad (array, tamao_final, elemento_nuevo) array_pop (array) array_push (array, elemento1, elemento2, ...) array_shift (array) array_unique (array) array_unshift (array, elemento1, elemento2, ...)

    array_map (funcin, array1, array2, array3, ...) array_walk (array, nombreFuncin, argumentos) asort (array), arsort (array) ksort (array), krsort (array) natsort (array) , natcasesort (array) array_reverse (array) sort (array), rsort (array)

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    96/114

    Programacion en Lenguaje PHP 96

    VV-- ARRAYSARRAYS

    Introduccin Un array es una coleccin dedatos que se referencian con unnombre comn

    En PHP los datos pueden ser dediferente tipo (cadenas, valoresnumricos, otros arrays, ...)

    A cada elemento especifico delarray se accede mediante un

    ndice No es necesario determinar ladimensin antes de inicializarlo

    Existen multitud de funciones quepermiten la gestin y manipulacinde arrays.

    Constan de posiciones dememoria consecutivas; ladireccin mas baja es la del primer

    elemento

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    97/114

    Programacion en Lenguaje PHP 97

    VV-- ARRAYSARRAYSconceptos

    Arrays unidimensiolanes son en esencia listas de

    informacin heterognea guardadas en posicionescontiguas de memoria

    formatos y ejemplos de uso $nombre_variable[indice]=valor;

    valor= contenido del elemento indce= elemento del array nombre_variable= identificador delarrary

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    98/114

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    99/114

    Programacion en Lenguaje PHP 99

    VV-- ARRAYSARRAYSconceptos

    Arrays multidimensionales es un array cuyos elementos son a

    su vez nuevos arrays

    formatos y ejemplos de uso $nombre_variable[indice1][indice2]..[indic

    eN]= valor;

    Ejemplo.4.2.1 - //Array de 2x2 elementos $X[0][0]=1;$X[0][1]=0;$X[1][0]=-1;$X[1][1]=-2;

    Ejemplo.4.2.2 - //Array de 2x2 elementos $X=array(array(1,0),array(-1,-2));

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    100/114

    Programacion en Lenguaje PHP 100

    VV-- ARRAYSARRAYSconceptos

    Aspectos varios:

    La funcion print_r ( ) muestra los elementos de unarray

    La manipulacin de loselementos requiere uso desentencias iterativas(foreach, for, etc.)

    Funciones para manipulacinde arrays (ver captulo III)

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    101/114

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    102/114

    Programacion en Lenguaje PHP 102

    VIVI-- Conectividad a Base deConectividad a Base deDatosDatos MySQLMySQL

    Pasos a seguir en la conexin a basede datos :

    1. Conexin con MYSQL desde PHP1. Apertura de conexin2. Cierre de conexin

    2. Seleccin de la base de datos

    3. Ejecucin de sentencias SQL sobre laBD seleccionada

    4. Otras funciones de manipulacin dedatos

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    103/114

    Programacion en Lenguaje PHP 103

    VIVI-- Conectividad a Base deConectividad a Base deDatosDatos MySQLMySQL

    Conexin con MySQL:

    Apertura de conexin

    mysql_connect (servidor, usuario, contrasea)La funcin devuelve un valor entero que servir como identificador de la conexin en lasoperaciones posteriores. Si se produce un error enla conexin la funcin devuelve 0.

    Cierre de conexin

    mysql_close (identificador)

    En caso de no poner el identificador se cerrar laltima conexin abierta. La funcin devuelve unvalor entero, que ser nulo si se produce algn erroren el proceso.

    mysql_connect (localhost, root, )

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    104/114

    Programacion en Lenguaje PHP 104

    VIVI-- Conectividad a Base deConectividad a Base deDatosDatos MySQLMySQL

    Conexin con MysSQL:

    Esquema general de una conexin

    En caso de no utilizar la funcin mysql_close() , laconexin se cerrar al finalizar el script.

    Problema 8_1

    la funcin die () , sirve para mostrar el aviso de error

    si $c no nulo, y abortar ejecucin del resto deprograma

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    105/114

    Programacion en Lenguaje PHP 105

    VIVI-- Conectividad a Base deConectividad a Base deDatosDatos MySQLMySQL

    Conexin con MysSQL:

    Esquema general de una conexin

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    106/114

    Programacion en Lenguaje PHP 106

    VIVI-- Conectividad a Base deConectividad a Base deDatosDatos MySQLMySQL

    Seleccin de la Base de Datos:

    Una vez abierta la conexin con el ServidorMySQL, el siguiente paso es la seleccin de la(s)base(s) de datos sobre la que queremos actuar.

    mysql_select_db (nombreBD, identificador)

    El identificador de la conexin es opcional. En caso

    de no utilizarlo se utilizar la ltima conexin abierta. Si se produce un error, la funcin devolver valor 0.

    Una vez seleccionada la base de datos, sta pasaa ser la base de datos activa, y cualquier operacinposterior se dirigir a ella.

    Para cambiar de base de datos se deber volver autilizar la funcin antes de cerrar la conexin.

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    107/114

    Programacion en Lenguaje PHP 107

    VIVI-- Conectividad a Base deConectividad a Base deDatosDatos MySQLMySQL

    Seleccin de la Base de Datos:

    Problema 8_2

    Aborta el programa si no se puede seleccionar labase de datos compras.

    Probar a cambiar compras por otros nombres

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    108/114

    Programacion en Lenguaje PHP 108

    VIVI-- Conectividad a Base deConectividad a Base deDatosDatos MySQLMySQL

    Ejecucin de sentencias SQL sobre labase de datos seleccionada

    Realizacin de una consulta sobre la base dedatos activa.

    mysql_query (sentencia, identificador)

    El identificador de la conexin es opcional. En casode no utilizarlo se utilizar la ltima conexin abierta.

    Si se produce un error, la funcin devolver el valor0 en caso de una ejecucin correcta se devuelve unentero.

    En caso de ser una consulta de seleccin, este

    entero se utilizar posteriormente para acceder alresultado de la consulta.

    En el caso de sentencias de creacin, insercin,eliminacin o actualizacin, este valor devueltosirve para comprobar si la sentencia se ejecut

    correctamente.

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    109/114

    Programacion en Lenguaje PHP 109

    VIVI-- Conectividad a Base deConectividad a Base deDatosDatos MySQLMySQL

    Ejecucin de sentencias SQL sobre labase de datos seleccionada

    Problema 8_3

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    110/114

    Programacion en Lenguaje PHP 110

    VIVI-- Conectividad a Base deConectividad a Base deDatosDatos MySQLMySQL

    Ejecucin de sentencias SQL sobre labase de datos seleccionada

    mysql_query (sentencia, identificador)

    mysql_db_query (nombreBD, sentencia,identificador)

    sentencia idntica a la anterior pero que permiteejecutar la sentencia sobre cualquier base de datos.

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    111/114

    Programacion en Lenguaje PHP 111

    VIVI-- Conectividad a Base deConectividad a Base deDatosDatos MySQLMySQL

    Obtencin de errores en el acceso aBD

    mysql_error ( )

    Devuelve una cadena de caracteres explicando elltimo error producido en la operacin de acceso adatos.

    Insercin de datos mediante formulario

    La verdadera utilidad de las funciones deconectividad a bases de datos desde PHP radicaen la posibilidad de construir sentencias SQL deforma dinmica.

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    112/114

    Programacion en Lenguaje PHP 112

    VIVI-- Conectividad a Base deConectividad a Base deDatosDatos MySQLMySQL

    Recuperacin de los resultados deconsultas

    Para acceder a los resultados de una consulta deseleccin.

    mysql_fetch_row (resultado)

    Para acceder al resultado de la consulta de seleccin seutiliza el valor que devuelve la funcin mysql_query().

    Cada vez que se produce la llamada a la funcin se genera un array con los valores de una fila de la tablade resultados.

    Cuando no hay ms filas que mostrar la funcindevuelve un valor nulo.

    Para saber cuantas filas o registros incluye el resultadode la consulta.

    mysql_num_rows (resultado)

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    113/114

  • 8/12/2019 Programacion-INTRODUCCION AL PHP.pdf

    114/114

    VIVI-- Conectividad a Base deConectividad a Base deDatosDatos MySQLMySQL

    Recuperacin de los resultados deconsultas

    En el ejemplo anterior se necesit saber el ordende los campos dentro de la tabla de la base dedatos. Para facilitar el acceso a los datos PHPdispone de otra funcin.

    mysql_fetch_array (resultado )

    Funcin similar a mysql_fetch_row().

    Principal ventaja:datos son devueltos en un arrayasociativo en el que en lugar de utilizar ndicesnumricos de pueden utilizar los propios nombres delos campos.