52368430-php

Embed Size (px)

Citation preview

  • 8/6/2019 52368430-php

    1/26

    1.

    Iniciacin a PHP

    1.1 Conceptos bsicos

    1.2 Nuestro primer PHP

    1.3 Variables

    2. Operadores en PHP2.1 Aritmticos

    2.2 Comparacin

    2.3 Lgicos

    3. Instrucciones en PHP3.1 Condicionales

    3.2 Bucles

    3.3 Salida

    3.4 Manejo de cadenas

    4. Funciones4.1 Funciones

    4.2 Libreras

    5. Ejemplos prcticos5.1 Formateo de pgina

    5.2 Enlace externo

    6. Procesado de formularios6.1 Envio y recepcin

    6.2 Mtodo GET y POST

    6.3 Envo de Email

    7. Bases de Datos MySQL7.1 Crear la base de datos

    7.2 Conectarse a la BD

    7.3 Consultas a la BD

    7.4 Insertar registros

    7.5 Borrar registros

    8. Seguridad8.1 Restringir acceso

    8.2 Distincin de usuarios

    9. Sesiones9.1 Qu son?

    9.2 Inicializacin

    9.3 Un ejemplo

    9.4 Error comn

    9.5 Carrito compra

    10.Cookies10.1 Qu son?

  • 8/6/2019 52368430-php

    2/26

    10.2 Cmo usarlas

    10.3 Ejemplo de uso

    11.Expresiones regulares EE.RR11.1 Qu son?

    11.2 Patrones

    11.3 Ejemplo

    12.PHP Orientado a Objetos12.1 Qu son las clases?

    12.2 Atributos

    12.3 Herencia

    12.4 Herencia Multiple en PHP

    12.5 Acceso Public (Publico)

    12.6 Acceso Private (Privado)

    12.7 Ejemplo completo

  • 8/6/2019 52368430-php

    3/26

    Conceptos bsicos

    Inicio >Iniciacin PHP > Conceptos bsicos

    El lenguaje PHP es un lenguaje de programacin deestilo clsico, con esto quiero decir que es un lenguajede programacin con variables, sentenciascondicionales, bucles, funciones.... No es un lenguaje

    de marcas como podra ser HTML, XML o WML. Estmas cercano a JavaScript o a C, para aquellos queconocen estos lenguajes.

    Pero a diferencia de Java o JavaScript que se ejecutanen el navegador, PHP se ejecuta en el servidor, poreso nos permite acceder a los recursos que tenga elservidor como por ejemplo podra ser una base dedatos. El programa PHP es ejecutado en el servidor yel resultado enviado al navegador. El resultado esnormalmente una pgina HTML pero igualmentepodra ser una pagina WML.

    Al ser PHP un lenguaje que se ejecuta en el servidor no es necesario que su navegador lo soporte, es independientedel navegador, pero sin embargo para que sus pginas PHP funcionen, el servidor donde estn alojadas debesoportar PHP.Nuestro primer PHP

    Inicio >Iniciacin PHP > Nuestro primer PHP

    La ventaja que tiene PHP sobre otros lenguajes deprogramacin que se ejecutan en el servidor (comopodran ser los script CGI Perl), es que nos permiteintercalar las sentencias PHP en las paginas HTML, esun concepto algo complicado de entender si no se havisto nunca como funciona unas paginas PHP o ASP.

    Vamos a ver un ejemplo sencillo para comprenderlomejor. En azul est el cdigo HTML y en rojo el cdigoPHP. Seguiremos este criterio durante todo el manual.

    Ejemplo de PHP

    Parte de HTML normal.

  • 8/6/2019 52368430-php

    4/26

    {echo "Linea ".$i."
    ";

    }?>

    El cdigo PHP ejecutado tiene dos partes: la primera imprime "Parte de PHP" y la segunda es un bucle que seejecuta 10 veces de 0 a 9, por cada vez que se ejecuta se escribe una lnea, la variable $i contiene el nmero delnea que se est escribiendo. No importa si no entiende muy bien el programa este ejemplo solo es para ilustrarcomo se intercala el cdigo HTML y el cdigo PHP.

    Variables

    Inicio >Iniciacin PHP > Variables

    Una variable es un contenedor de informacin, en elque podemos meter nmeros enteros, nmerosdecimales, carcteres... el contenido de las variablesse puede leer y se puede cambiar durante la ejecucinde una pgina PHP.

    En PHP todas las variables comienzan con el smbolo

    del dlar $ y no es necesario definir una variable antesde usarla. Tampoco tienen tipos, es decir que unamisma variable puede contener un nmero y luegopuede contener carcteres.

    Ejemplo de PHP

    En este ejemplo hemos definido tres variables, $a, $b y $c y con la instruccin echo hemos impreso el valor quecontenan, insertando un salto de lnea entre ellas.

    Existen 2 tipos de variables, las variables locales que solo pueden ser usadas dentro de funciones y las variablesglobales que tienen su mbito de uso fuera de las funciones, podemos acceder a una variable global desde unafuncin con la instruccinglobal nombre_variable;Operadores Aritmticos PHP

    Inicio >Operadores en PHP > Operadores Aritmticos PHP

    Los operadores de PHP son muy parecidos a los de C yJavaScript, si usted conoce estos lenguajes leresultaran familiares y fciles de reconocer.

    Estos son los operadores que se pueden aplicar a lasvariables y constantes numricas.

    Operador Nombre Ejemplo Descripcin

    + Suma 5 + 6 Suma dos nmeros

    - Resta 7 - 9 Resta dos nmeros

    * Multiplicacin 6 * 3 Multiplica dos

  • 8/6/2019 52368430-php

    5/26

    nmeros

    / Divisin 4 / 9 Divide dos nmeros

    % Mdulo 7 % 2 Devuelve el resto dedividir ambosnmeros, en esteejemplo el resultadoes 1

    ++ Suma 1 $a++ Suma 1 al contenidode una variable.

    -- Resta 1 $a-- Resta 1 al contenidode una variable.

    Ejemplo de PHP

  • 8/6/2019 52368430-php

    6/26

    Inicio >Operadores en PHP > Operadores de Comparacin PHP

    Los operadores de comparacin son usados para

    comparar valores y as poder tomar decisiones.

    Operador Nombre EjemploDevuelve ciertocuando:

    == Igual$a ==$b

    $a es igual $b

    != Distinto $a != $b $a es distinto $b

    < Menor que $a < $b $a es menor que $b

    > Mayor que $a > $b $a es mayor que $b

    =$b

    $a es mayor o igual que$b

    Ejemplo de PHP

    Operadores Lgicos

    Inicio >Operadores en PHP > Operadores Lgicos PHP

    Los operadores lgicos son usados para evaluar variascomparaciones, combinando los posibles valores de estas.

    Operador Nombre Ejemplo Devuelve cierto cuando:

    && Y(7>2) &&(22) and

    (22) ||(22) or(22)Niega el valor de laexpresin.

  • 8/6/2019 52368430-php

    7/26

    Ejemplo de PHP

    Condicionales

    Inicio >Instrucciones en PHP > Condicionales PHP

    Las sentencias condicionales nos permiten ejecutar o nounas ciertas instrucciones dependiendo del resultado de

    evaluar una condicin. Las ms frecuentes son lainstruccin if y la instruccin switch.

    Sentencia if ... else

    La sentencia if ejecuta una serie de instrucciones u otras dependiendo de la condicin que le pongamos.Probablemente sea la instruccin ms importante en cualquier lenguaje de programacin.

    Ejemplo de PHP

    En este ejemplo la condicin no es verdadera por lo que se ejecuta la parte de cdigo correspondiente al else.

  • 8/6/2019 52368430-php

    8/26

    Ejemplo de PHP

    Con la sentencia switch podemos ejecutar unas u otras instrucciones dependiendo del valor de una variable, en elejemplo anterior, dependiendo del valor de la variable $posicion se ejecuta el bloque 1 cuando el valor es "arriba",el bloque 2 cuando el valor es "abajo" y el bloque 3 si no es ninguno de los valores anteriores.Bucles

    Inicio >Instrucciones en PHP > Bucles PHP

    Los bucles nos permiten iterar conjuntos de instrucciones,es decir repetir la ejecucin de un conjunto deinstrucciones mientras se cumpla una condicin.

    Sentencia while

    Mientras la condicin sea cierta se reiterar la ejecucin de las instrucciones que estn dentro del while.

    Ejemplo de PHPInicio

    Final

  • 8/6/2019 52368430-php

    9/26

    En el siguiente ejemplo, el valor de $i al comienzo es 0, durante la ejecucin del bucle, se va sumando 1 al valor de$i de manera que cuando $i vale 10 ya no se cumple la condicin y se termina la ejecucin del bucle.

    Ejemplo de PHPInicio

    Final

    La instruccin for es la instruccin de bucles ms completa. En una sola instruccin nos permite controlar todo elfuncionamiento del bucle.

    El primer parmetro del for, es ejecutado la primera vez y sirve para inicializar la variable del bucle, el segundoparmetro indica la condicin que se debe cumplir para que el bucle siga ejecutndose y el tercer parmetro es unainstruccin que se ejecuta al final de cada iteracin y sirve para modificar el valor de la variable de iteracin.Salida

    Inicio >Instrucciones en PHP > Salida PHP

    Hasta ahora hemos usado la instruccin echo para realizarsalida a pantalla, esta instruccin es bastante limitada yaque no nos permite formatear la salida. En esta pgina

    veremos la instruccin printf que nos da mucha mspotencia.

    Sentencia printf.

    La cadena de formateo indica cmo se han de representar las valores que posteriormente le indicaremos. Laprincipal ventaja es que adems de poder formatear los valores de salida, nos permite intercalar texto entre ellos.

    Ejemplo de PHP

    La cadena de formato puede incluir una seria de carcteres especiales que indican como formatear las variables quese incluyen en la instruccin.

  • 8/6/2019 52368430-php

    10/26

    Elemento Tipo de variable

    %s Cadena de carcteres.

    %d Nmero sin decimales.

    %f Nmero con decimales.

    %c Carcter ASCII.

    Ejemplo de PHP

    Manejo de Cadenas

    Inicio >Instrucciones en PHP > Manejo de Cadenas PHP

    Dado el uso del lenguaje PHP el tratamiento de cadenas esmuy importante, existen bastantes funciones para elmanejo de cadenas, a continuacin explicaremos las msusadas.

    1.- strlen(cadena). Nos devuelve el nmero de carcteresde una cadena.

    2.- split(separador,cadena). Divide una cadena en varias

    usando un carcter separador.

    3.- sprintf(cadena de formato, var1, var2...). Formateauna cadena de texto al igual que printf pero el resultado esdevuelto como una cadena.

    4.- substr(cadena, inicio, longitud). Devuelve unasubcadena de otra, empezando por inicio y de longitud.

    5.- chop(cadena). Elimina los saltos de lnea y los espaciosfinales de una cadena.

    6.- strpos(cadena1, cadena2). Busca la cadena2 dentro decadena1 indicndonos la posicin en la que se encuentra.

    7.- str_replace(cadena1, cadena2, texto). Reemplaza lacadena1 por la cadena2 en el texto.

    Ejemplo de PHP

  • 8/6/2019 52368430-php

    11/26

    for($i=0;$palabras[$i];$i++)echo $palabras[$i],"
    ";

    $resultado=sprintf("8x5 = %d
    ",8*5);echo $resultado,"
    ";

    echo substr("Devuelve una subcadena de otra",9,3),"

    ";

    if (chop("Cadena \n\n ") == "Cadena")echo "Iguales

    ";

    echo strpos("Busca la palabra dentro de la frase", "palabra"),"

    ";

    echo str_replace("verde","rojo","Un pez de color verde, como verde es la hierba."),"
    ";

    ?>

    Funciones PHP

    Inicio >Funciones en PHP > Funciones PHP

    El uso de funciones nos da la capacidad de agrupar variasinstrucciones bajo un solo nombre y poder llamarlas aestas varias veces desde diferentes sitios, ahorrndonos lanecesidad de escribirlas de nuevo.

    Opcionalmente podemos pasarle parmetros a las funciones que se trataran como variable locales y as mismopodemos devolver un resultado con la instruccin return valor; Esto produce la terminacin de la funcin retornandoun valor.

    Libreras PHP

    Inicio >Funciones en PHP > Libreras PHP

    El uso de libreras es tremendamente til, nos permitenagrupar varias funciones y variables en un mismo fichero,de manera que luego podemos incluir esta librera endistintas pginas y disponer de esas funciones fcilmente.

  • 8/6/2019 52368430-php

    12/26

    ?>

    Esta cabecera estar en todas sus pginas.

    Este es el pie de pgina.
    Autor: Joaquin Gracia

    Ahora vamos a crear 2 pginas que usan la librera definida anteriormente para conseguir que las dos paginastengan la misma cabecera y pie de pagina.

    Formateo de pgina

    Inicio >Ejemplos prcticos > Formateo de pgina

    En este ejemplo vamos a usar el PHP y la capacidad dedefinir libreras para conseguir que todas nuestras pginastengan el mismo formato de pgina, incluyendo las partes

    comunes en libreras. As mismo modificando la l ibreramodificaramos tambien todas las pginas de una maneramuy rpida.

    libpagina.phtmlEsta cabecera estar en todas sus pginas.


    Este es el pie de pgina.
    Autor: Joaquin Gracia

    Pagina 1
    Pagina 2

  • 8/6/2019 52368430-php

    13/26

    ejem06a.phtml

    Ejemplo de PHP

    Esta es otra pgina

    completamente distinta

    pero comparte el pie y la cabecera con la otra.

    ejem06a2.phtml

    Ejemplo de PHP

    Pgina 1




    Contenido blalbl blalb alb

    ms cosas...

    fin

    Enlace externo

    Inicio >Ejemplos prcticos > Formateo de pgina

    Con este ejemplo damos solucin al problema de losenlaces externos y de forma que la web externa queda enla parte inferior del frame y as no se sale de nuestra web.

    ejem06b.html

    Ejemplo de PHP

  • 8/6/2019 52368430-php

    14/26

    www.tutorialphp.net

    www.terra.es

    ejem06a2.phtml
    Mtodo GET Y POST

  • 8/6/2019 52368430-php

    15/26

    Inicio >Procesado de formularios > Mtodo GET y POST

    En la pgina anterior hemos comentado que los datos deun formulario se enva mediante el mtodo indicado en el

    atributo METHOD de la etiqueta FORM, los dos mtodosposibles son GET y POST.

    La diferencia entre estos dos mtodos radica en la formade enviar los datos a la pgina, mientras que el mtodoGET enva los datos usando la URL, el mtodo POST losenva por la entrada estndar STDIO.

    Ejemplo de PHPEjemplo de procesado de formularios

    Introduzca su nombre:
    Introduzca sus apellidos:

    Ejemplo de PHPEjemplo de procesado de formulariosIntroduzca su nombre:
    Introduzca sus apellidos:

    Ejemplo de PHPEjemplo de procesado de formulariosEl nombre que ha introducido por GET es:
    El nombre que ha introducido por POST es:

    El resultado final es el mismo, solo que con el mtodo GET podemos ver los parmetros pasados ya que estncodificados en la URL.Envo de Email

    Inicio >Procesado de formularios > Envo de Email

    PHP nos ofrece la posibilidad de enviar emails de unamanera sencilla y fcil, para ello el lenguaje nosproporciona la instruccinmail( )

  • 8/6/2019 52368430-php

    16/26

    mail(destinatario, tema, texto del mensaje);?>

    En el parmetro destinatario pondremos la direccin de emaila donde se enviar el mensaje, en el parmetro tema el temao subject del mensaje y el parmetro texto del mensaje elcuerpo del mensaje en formato texto plano.

    Existe una sintaxis extendida de la instruccin mail( ) quenos permite aadir informacin adicional a la cabecera del mensaje.

    En la informacin de cabecera podremos incluir parmetros adicionales al mensaje como Reply-To:, From:, Content-type:... que nos permiten tener un mayor control sobre el mensaje.

    Ejemplo de PHPEjemplo de envio de emailIntroduzca su direccion de email:



    Formato:
    Texto plano
    HTML

    email.phtml

    Ejemplo de PHP

    Ejemplo de envio de email

    Crear la base de datos MySQL

  • 8/6/2019 52368430-php

    17/26

    Inicio >Bases de Datos MySQL > Crear la base de datos MySQL

    Para la realizacin de este curso sobre PHP con acceso abase de datos hemos elegido la base de datos MySQL porser gratuita y por ser tambin la mas empleada enentornos UNIX, para lo cual el servidor donde tenemosalojadas las pginas nos tiene que proporcionar

    herramientas para crearla o acceso al Telnet para que lacreemos por nosotros mismos.

    El comando para crear una base de datos MySQL es elsiguiente: mysqladmin -u root create base_datos

    Con este comando conseguimos crear la una base de datosen el servidor de bases de datos de nuestro servidor.

    Una vez conseguido esto debemos crear las tablas en labase de datos, la descripcin de las tablas contienen laestructura de la informacin que almacenaremos en ellas.Para lo cual usaremos en lenguaje de consultas SQL comnpara todas las bases de datos relacionales.

    En este ejemplo creamos una tabla llamada prueba con 3campos: un campo identificador, que nos servir paraidentificar unvocamente una fila con el valor de dichocampo, otro campo con el nombre de una persona y porltimo un campo con el apellido de la persona.

    Para crear la tabla puede usar la herramienta de administracin de MySQL de su servidor web o puede escribir unfichero de texto con el contenido de la sentencia SQL equivalente y luego decirle al motor de base de datos que laejecute con la siguiente instruccin: mysql -u root base_datos Bases de Datos MySQL > Conexin a la base de datos MySQL

    Una vez que tenemos creada la base de datos en nuestroservidor, el siguiente paso es conectarnos a la misma desdeuna pgina PHP. Para ello PHP nos proporciona una serie deinstrucciones para acceder a bases de datos MySQL.

    Ejemplo de PHP

  • 8/6/2019 52368430-php

    18/26

    if (!mysql_select_db("base_datos",$link)){

    echo "Error seleccionando la base de datos.";exit();

    }return $link;

    }

    $link=Conectarse();echo "Conexin con la base de datos conseguida.
    ";

    mysql_close($link); //cierra la conexion?>Al ejecutar la instruccin mysql_connect creamos un vnculo entre la base de datos y la pagina PHP, este vnculoser usado posteriormente en las consultas que hagamos a la base de datos.

    Finalmente, una vez que hemos terminado de usar el vnculo con la base de datos, lo liberaremos con la instruccinmysql_close para que la conexin no quede ocupada.

    Consultas a la Base de Datos MySQL

    Inicio >Bases de Datos MySQL > Consultas a la Base de Datos MySQL

    Una vez que nos hemos conectado con el servidor de basesde datos, ya podemos realizar consultas a las tablas de labase de datos.

    Para facilitar la programacin hemos separado la funcinde conexin en una librera a parte, de tal manera que laincluiremos en todas las pginas que accedan a la base dedatos.

    conex.phtml

    Ejemplo de PHPEjemplo de uso de bases de datos con PHP y MySQL

  • 8/6/2019 52368430-php

    19/26

    NombreApellidos

    En este ejemplo hemos utilizado 3 instrucciones nuevas: mysql_query, mysql_fetch_array y mysql_free_result. Conla instruccin mysql_query hemos hecho una consulta a la base de datos en el lenguaje de consultas SQL, con lainstruccin mysql_fetch_array extraemos los datos de la consulta a un array y con mysql_free_result liberamos lamemoria usada en la consulta.Insertar registros a MySQL

    Inicio >Bases de Datos MySQL > Insertar registros a MySQL

    Una vez que nos hemos conectado con el servidor de bases de datos, ya podemos realizar consultasa las tablas de la base de datos.

    Para ello usaremos un formulario y en el ACTION del FORM indicaremos que debe ser procesado una pagina PHP, esta pgina lo que har ser introducir losdatos del formulario en la base de datos.

    ejem07d.phtml

    Ejemplo de PHPEjemplo de uso de bases de datos con PHP y MySQL

    Nombre:

    Apellidos:

    NombreApellidos

  • 8/6/2019 52368430-php

    20/26

  • 8/6/2019 52368430-php

    21/26

    header("Location: ejem07e.phtml");?>

    La pgina borra.phtml se conecta a la base de datos y borra el registro indicado en la variable $id que ha sidopasado desde la pgina ejem07e.phtml. Una vez el registro se ha borrado se vuelve a cargar la pginaejem07e.phtmlRestringir acceso PHP

    Inicio >Seguridad > Restringir acceso PHP

    En esta seccin vamos a explicar cmo podemos restringirel acceso a segn qu pginas, para que solo las personasautorizadas puedan acceder a ciertas partes del nuestrositio web.

    Atencin: El acceso restringido a pginas usando lasvariables globales $PHP_AUTH_USER, $PHP_AUTH_PW y$PHP_AUTH_TYPE solo funciona si PHP ha sido instaladocomo un mdulo de Apache, si ha sido instalado como unCGI los ejemplos de sta seccin no funcionarn.

    Para conseguir la autentificacin en las pginas usaremosel sistema de autentificacin del protocolo HTTP, estesistema se basa en las variables globales$PHP_AUTH_USER y $PHP_AUTH_PW.

    1.- $PHP_AUTH_USER. Nombre de usuario introducido.2.- $PHP_AUTH_PW. Contrasea introducida.

    Para que el navegador nos muestre la ventana de peticinde nombre de usuario y contrasea basta con enviar lasiguiente cabecera:

  • 8/6/2019 52368430-php

    22/26

    Distincin de usuarios PHP

    Inicio >Seguridad > Distincin de usuarios PHP

    En la anterior pgina todo el mundo que tena acceso a la

    parte restringida entraba con el mismo nombre de usuarioy contrasea, esto evidentemente no es una buenasolucin, es mejor que cada persona tenga un nombre deusuario y contrasea, ya que de esta forma podemosinhabilitar a un usuario sin ver comprometida la seguridadde nuestro sitio.

    En esta pgina veremos la forma de realizar esto, teniendoun fichero separado con los nombres de usuario y lascontraseas vlidas. Dicho fichero podra tener el siguienteformato: nombre_de_usuario|contrasea. Por ejemplo:

    passwords.txtJoe|1235Pedro|qwerNoe|Gty45ekermit|rwe4v

    En este ejemplo se pide la autorizacin al comienzo de lapgina si no se ha establecido con anterioridad y secomprueba con el fichero de contraseas que hemosllamado passwords.txt, si el nombre de usuario ycontrasea coincide con alguna entrada del fichero se nospermite ver el resto de la pgina.

  • 8/6/2019 52368430-php

    23/26

    Si existe una consulta repetida en las listas de PHP, es larelativa al uso de las sesiones. El uso de sesiones es unmtodo ampliamente extendido en cualquier aplicacin decierta entidad. Bsicamente una sesin es la secuencia depginas que un usuario visita en un sitio web. Desde queentra en nuestro sitio, hasta que lo abandona.

    El trmino sesin en PHP, session en ingls, se aplica aesta secuencia de navegacin, para ello crearemos unidentificador nico que asignamos a cada una de estassesiones de navegacin. A este identificador de sesin se ledenomina, comnmente, como la sesin.

    El proceso en cualquier lenguaje de programacin podraser algo as:Existe una sesin?Si existe la retomamosSi no existe creamos una nuevaGenerar un identificador nico

    Y para que no perdamos el hilo de la navegacin delusuario deberemos asociar esta sesin a todas las URLs yacciones de formulario. Podemos tambin crear un cookieque incluya el identificador de sesin, pero es convenienterecordar que la disponibilidad o no de las cookies depende

    del usuario, y no es conveniente fiarse de lo que unusuario pueda o no tener habilitado.

    Lo contado hasta ahora es teora pura y es aplicable a cualquier lenguaje de programacin C, Perl, etc. Los queprogramamos en PHP4 tenemos la suerte de que toda la gestin de sesiones la hace el mismo PHP.

    Por lo tanto lo comentado a partir de aqu es solo aplicable a PHP4. Si an desarrollas PHP3, tendrs que crear tuspropias libreras de gestin de sesiones o recurrir a alguna de las existentes, como la de PHPLIB

    Sesiones PHP, Inicializacin

    Inicio >Sesiones > Sesiones PHP, Inicializacin

    Para utilizar sesiones en PHP lo primero es inicializarlas.Podemos hacerlo explcitamente, mediante la funcinsession_start(), o al registrar una variable en una sesin

    mediante session_register('miVariable'). En ambos casosse crea una nueva sesin, si no existe, o se retoma lasesin actual. Veamos un sencillo ejemplo:

    Esta es la forma ms bsica, si el usuario tiene los cookiesactivados, PHP habr insertado de forma automtica lasesin y sta ser pasada de una pgina a otra sin hacernada ms. Desde un punto de vista prctico la sesin esoperativa, pero no vemos nada. Podemos obtener la sesinen cualquier momento mediante la funcin session_id().Inserta en las sucesivas pginas la siguiente lnea para versi la sesin est disponible:

    En este caso session_start() comprueba en los cookies que existe una sesin y continua conella, session_id() devuelve el identificador actual.Sesiones PHP, Un ejemplo

  • 8/6/2019 52368430-php

    24/26

    Inicio >Sesiones > Sesiones PHP, Un ejemplo

    Veamos otro ejemplo que, tal vez, te lo aclare un pocoms:

    Como dije anteriormente la sesin se crea o recogemediante session_start(), o tambin cuando se registrauna variable de sesin mediante session_register().

    Si no has utilizado nunca las sesiones, el concepto devariable de sesin, puede resultar un poco abstracto.Bsicamente es una variable, como cualquiera de las quegestiona PHP4, pero que reside en un espacio especfico enel servidor, junto con el identificador de sesin, y quepertenece nicamente a un usuario.

    En nuestro ejemplo anterior, registramos la variable$contador en la primera lnea del script. En la segundalnea, entre otras cosas, cada vez que recarguemos lapgina o hagamos click sobre el enlace, el valor de$contador se incrementar en 1.

    En esta lnea hacemos uso de la variable reservada$PHP_SELF, que hace referencia al propio script enejecucin y una constante propia de PHP4, $SID, quecontiene el nombre de la sesin y el identificador de lamisma.

    Podemos averiguar tambin el nombre de la sesin, omodificarlo, mediante la funcin session_name(). Veamosuna prueba prctica:

    La asignacin del nombre de sesin debe realizarse antes que ninguna otra funcin con sesiones, antesque session_start() osession_register().Sesiones PHP, Error comn

    Inicio >Sesiones > Sesiones PHP, Error comn

    Uno de los errores ms comunes cuando se utilizansesiones es dejar lneas en blanco antes de la inicializacinde PHP o enviar alguna salida a la pantalla. Para probarlocrea una lnea en blanco o con cualquier cosa antesde

  • 8/6/2019 52368430-php

    25/26

    ahorrar muchos disgustos.

    Si despus de todo lo comentado an no entiendes para que sirven las sesiones, veamos un ejemplo prctico.Imagina que quisieras crear un sistema de cesta de la compra...

    Sesiones PHP, Carrito compra

    Inicio >Sesiones > Sesiones PHP, Carrito compra

    Si despus de todo lo comentado an no entiendes paraque sirven las sesiones, veamos un ejemplo prctico.Imagina que quisieras crear un sistema de cesta de lacompra, en su forma bsica podra ser algo as:

    Una breve explicacin. En la l nea 4 comprobamos si el usuario ha pasado algn artculo, desde el formulario. En la5 si el arrayitemsEnCesta no existe, lo creamos con el nuevo producto y la cantidad indicada. Si el array existerecorremos su contenido, entre las lneas 8 y 13, y si encontramos un artculo igual, aadimos la cantidad en lalnea 10. Si no lo encontramos, es un nuevo artculo, por lo tanto, aadimos el nuevo producto con lacorrespondiente cantidad a itemsEnCesta en la lnea 14.

    Y a continuacin imprimimos el formulario y los resultados, si los hubiera, a partir de la lnea 18, donde empieza elHTML.

  • 8/6/2019 52368430-php

    26/26

    Te imaginas las posibilidades de un sistema de almacenamiento de informacin de estas caractersticas?. Nonecesitas ficheros, ni bases de datos, ni tienes que andar pasando valores de una pgina a otra. PHP va gestionandoestos datos por nosotros, hasta el momento en que decidamos almacenar la informacin donde ms nos interese.