Pasos Básicos PHP

Embed Size (px)

Citation preview

  • 7/26/2019 Pasos Bsicos PHP

    1/29

    Pasos Bsicos PHPPHP es un lenguaje embebido en HTML, es decir,incrustado en cdigo HTML. Todos los fragmentos decdigo PHP deben comenzar con la siguiente cadenade caracteres:

  • 7/26/2019 Pasos Bsicos PHP

    2/29

    Ejemplo de una web con PHP -

    aprenderaprogramar.com

    Los smbolos se dice que son los delimitadores del cdigo PHP.Normalmente, una pgina PHP bsica sera algo as:

    Pgina PHP

    Inicio y Cierre HTML: ,

    Delimitacin de Cabecera: ,

    Titulo de la Pagina: ,

    Cuerpo de la Pagina: ,

    Incrustacin PHP:

    EJERCICIOCrea el siguiente archivo y sbelo mediante ftp al directorio raz de tu sitio web.En el archivo debe existir la estructura de un documento HTML, aparecer en laparte superior de la pgina un ttulo h1, seguido de un ttulo h2 y a continuacinhacer que se muestre insertando php el siguiente texto. . Debajo de este texto debes crear un contenedor div con color de fondoamarillo donde pueda leerse Estees el pie de pgina.

  • 7/26/2019 Pasos Bsicos PHP

    3/29

    Variables en PHP

    Las variables en PHP son representadas con un signo de dlar ($) seguidopor el nombre de la variable. El nombre de la variable es sensible aminsculas y maysculas. Es decir, las siguientes declaraciones de variablesson distintas entre ellas:

    $variable, $Variable, $variAble, $VariAble, etc. representan a distintasvariable.

    Para declarar un nombre de variable vlido, ste tiene que empezar conuna letra (o si no empieza con una letra, tendr que hacerlo con un carcter

    de subrayado), seguido de cualquier nmero de letras, nmeros y caracteresde subrayado, sin espacios. Veamos algunos ejemplos:

    Nombre de la Variable Validez

    $4variable Nombre Invalido

    $_4variable Nombre Valido

    $Variable4 Nombre Valido

    $otra Nombre Valido

    $1_otra Nombre Invalido

    $variable_de_nombre_muy_largo Nombre Valido

    $ABC Nombre Valido

    $ A B C Nombre Invalido

    $A_y_B_x_C Nombre Valido

    Cuando el intrprete PHP detecta un error en la sintaxis al declararuna variable, cuando tratamos de accecer a la pgina php nosaparecer un mensaje de error. Por ejemplo si en un archivo phpincluimos una lnea como $ A B C = 5; donde el nombre de variable esinvlido ya que tiene espacios intermedios, nos aparecer unmensaje de error:

    Parse error: syntax error, unexpected T_STRING, expecting T_VARIABLE or '$' in/home/miraiz/domains/midominio.com/public_html/prueba.php on line 3.

    Este mensaje nos informa de que hay un problema en el archivo php

    y nos indica la lnea donde el intrprete considera que est elproblema. (Puede ser por encima o por debajo de esa lnea).

  • 7/26/2019 Pasos Bsicos PHP

    4/29

    Declaracin de Variables en PHP

    Ejemplo de PHP

    En este ejemplo se definen tres variables, $a, $b y $c y con lainstruccinechose imprime el valor que contenan, insertando un salto de lneaentre ellas.

    Existen 2 tipos de variables, las variables locales que solo pueden ser usadasdentro de funcionesy las variables globales que tienen su mbito de uso fuerade las funciones, podemos acceder a una variable global desde una funcin

    con la instruccinglobal nombre_variable;

    AritmticosLos operadores de PHP son muy parecidos a los de C y JavaScript, si usted

    conoce estos lenguajes le resultaran familiares y fciles de reconocer.Estos son los operadores que se pueden aplicar a las variables y constantes

    numricas.

    Operador Nombre Ejemplo Descripcin

    + Suma 5 + 6 Suma dos nmeros

    - Resta 7 - 9 Resta dos nmeros

    * Multiplicacin 6 * 3 Multiplica dos nmeros

    / Divisin 4 / 8 Divide dos nmeros

    % Mdulo 7 % 2 Devuelve el resto de dividir ambos

    nmeros

    ++ Suma 1 $a++ Suma 1 al contenido de una

    variable

    -- Resta 1 $a-- Resta 1 al contenido de una

    variable

    http://www.webestilo.com/php/php05a.phtmlhttp://www.webestilo.com/php/php05a.phtml
  • 7/26/2019 Pasos Bsicos PHP

    5/29

    Ejemplo de Aritmticos

    Ejemplo de PHP

    ComparacinLos operadores de comparacin son usados para comparar valores

    y as poder tomar decisiones.

    Operador Nombre Ejemplo Descripcin

    == Igual $a == $b $a es igual a $b

    != Distinto $a != $b $a es distinto a $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 a $b

  • 7/26/2019 Pasos Bsicos PHP

    6/29

    Ejemplo de PHP

    Operadores LgicosLos operadores lgicos son usados para evaluar varias comparaciones,

    combinando los posibles valores de estas.

    Ope. Nomb. Ejemplo Descripcin

    && Y (7>2) && (22) and (22) || (22) or (22) Niega el valor de la expresin.

    Ejemplo de PHP

  • 7/26/2019 Pasos Bsicos PHP

    7/29

    Condiciones

    Las sentencias condicionales nos permiten ejecutar o no unas

    ciertas instrucciones dependiendo del resultado de evaluar unacondicin. Las ms frecuentes son la instruccin if y lainstruccinswitch.

    Sentencia if ... else

    La sentencia if ejecuta una serie de instrucciones u otrasdependiendo de la condicin que le pongamos. Probablemente sea la

    instruccin ms importante en cualquier lenguaje de programacin.

    Ejemplo de PHP

  • 7/26/2019 Pasos Bsicos PHP

    8/29

    En este ejemplo la condicin no es verdadera por lo que se ejecuta laparte de cdigo correspondiente alelse.

    Sentenciaswitch ... case

    Ejemplo de PHP

    Con la sentenciaswitchpodemos ejecutar unas u otras instruccionesdependiendo del valor de una variable, en el ejemplo anterior,dependiendo del valor de la variable$posicionse ejecuta el bloque 1cuando el valor es "arriba", el bloque 2 cuando el valor es "abajo" y elbloque 3 si no es ninguno de los valores anteriores.

    BuclesLos bucles nos permiten iterar conjuntos de instrucciones, es decir repetir

    la ejecucin de un conjunto de instrucciones mientras se cumpla unacondicin.

    Sentenciawhile

  • 7/26/2019 Pasos Bsicos PHP

    9/29

    Mientras la condicin sea cierta se reiterar la ejecucin de lasinstrucciones que estn dentro delwhile.

    Ejemplo de PHP

    Inicio

    Final

    En el siguiente ejemplo, el valor de $i al comienzo es 0, durante laejecucin del bucle, se va sumando1al valor de$i de manera quecuando $i vale 10 ya no se cumple la condicin y se termina laejecucin del bucle.

    Sentenciafor

    Ejemplo de PHP

    Inicio

    Final

  • 7/26/2019 Pasos Bsicos PHP

    10/29

    La instruccinfores la instruccin de bucles ms completa. En una solainstruccin nos permite controlar todo el funcionamiento del bucle.

    El primer parmetro del for, es ejecutado la primera vez y sirve parainicializar la variable del bucle, el segundo parmetro indica la condicinque se debe cumplir para que el bucle siga ejecutndose y el tercerparmetro es una instruccin que se ejecuta al final de cada iteracin ysirve para modificar el valor de la variable de iteracin.

    SalidaHasta ahora hemos usado la instruccin echo para realizar salida a

    pantalla, esta instruccin es bastantelimitada ya que no nos permiteformatear la salida. En esta pgina veremos la instruccinprintfque nos damucha ms potencia.

    Sentenciaprintf

    La cadena de formateo indica cmo se han de representar las valoresque posteriormente le indicaremos. La principal ventaja es que adems depoder formatear los valores de salida, nos permite intercalar texto entreellos.

    Ejemplo de PHP

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

    Elemento Tipo de Variable

    %s Cadena de caracteres

    %d Nmeros sin decimales

    %f Nmeros con decimales

    %c Carcter ASCIIAunque existen otros tipos, estos son los ms importantes.

  • 7/26/2019 Pasos Bsicos PHP

    11/29

    Ejemplo de PHP

    Manejo de Cadenas

    Dado el uso del lenguaje PHP el tratamiento de cadenas es muyimportante, existen bastantes funciones para el manejo de cadenas, acontinuacin explicaremos las ms usadas.

    strlen(cadena). Nos devuelve el nmero de carcteres de una cadena.

    split(separador,cadena). Divide una cadena en varias usando un carcterseparador.

    sprintf(cadena de formato, var1, var2...). Formatea una cadena de texto aligual que printf pero el resultado es devuelto como una cadena.

    substr(cadena, inicio, longitud). Devuelve una subcadena de otra,empezando porinicioy de longitudlongitud.

    chop(cadena). Elimina los saltos de lnea y los espacios finales de unacadena.

    strpos(cadena1, cadena2). Busca la cadena2 dentro de cadena1indicndonos la posicin en la que se encuentra.

    str_replace(cadena1, cadena2, texto). Reemplaza lacadena1porlacadena2en el texto.

  • 7/26/2019 Pasos Bsicos PHP

    12/29

    Ejemplo de PHP

    FuncionesEl uso de funciones nos da la capacidad de agrupar varias

    instrucciones bajo un solo nombre y poder llamarlas a estas varias vecesdesde diferentes sitios, ahorrndonos la necesidad de escribirlas de nuevo.

    Opcionalmente podemos pasarle parmetros a las funciones que setrataran como variable locales y as mismo podemos devolver un resultado

    con la instruccinreturn valor;Esto produce la terminacin de la funcinretornando un valor.

  • 7/26/2019 Pasos Bsicos PHP

    13/29

    Ejemplo de PHP

    Librera

    El uso de libreras es tremendamente til, nos permiten agrupar variasfunciones y variables en un mismo fichero, de manera que luego podemosincluir esta librera en distintas pginas y disponer de esas funcionesfcilmente.

    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 definidaanteriormente para conseguir que las dos paginas tengan la misma

    cabecera y pie de pagina.La instruccin para incluir una librera en nuestra pgina

    esinclude("nombre de librera")

  • 7/26/2019 Pasos Bsicos PHP

    14/29

    Ejemplo de PHP

    Pgina 1






    Contenido blalbl blalb alb

    ms cosas...

    fin

    Ejemplo de PHP

    Esta es otra pgina

    completamente distinta

    pero comparte el pie y la cabecera con la otra.

    Envo y Recepcin de Datos

    El lenguaje PHP nos proporciona una manera sencilla de manejarformularios, permitindonos de esta manera procesar la informacin que elusuario ha introducido.

    Al disear un formulario debemos indicar la pgina PHP que procesar elformulario, as como en mtodo por el que se le pasar la informacin a lapgina.

  • 7/26/2019 Pasos Bsicos PHP

    15/29

    Ejemplo de PHP

    Ejemplo de procesado de formularios

    Introduzca su nombre:


    Al pulsar el botn Enviar el contenido de cuadro de texto es enviado a lapgina que indicamos en el atributoACTIONde la etiquetaFORM.

    En versiones anteriores a 4.2.0 PHP creaba una variable por cada elementodelFORM, esta variable creada tena el mismo nombre que el cuadro de textode la pgina anterior y el valor que habamos introducido. Pero por razones deseguridad a partir de entonces para acceder a las variables del formulario hayque usar el array de parmetros$_POST[]o$_GET[]dependiendo del mtodousado para enviar los parmetros.

    En este ejemplo se ha creado una entrada en el array $_GET[] con elndice'nombre'y con el valor que haya introducido el navegante.

    Ejemplo de PHP

    Ejemplo de procesado de formularios

    El nombre que ha introducido es:


    Mtodo GET y POST

    En la pgina anterior hemos comentado que los datos de un formulario seenva mediante el mtodo indicado en el atributo METHOD de la etiquetaFORM, los dos mtodos posibles son GET y POST.

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

  • 7/26/2019 Pasos Bsicos PHP

    16/29

    Ejemplo de PHP

    Ejemplo de procesado de formularios

    Introduzca su nombre:

    Introduzca sus apellidos:

    Ejemplo de PHP

    Ejemplo de procesado de formularios

    Introduzca su nombre:

    Introduzca sus apellidos:

    procesa2.phtml

    Ejemplo de PHP

    Ejemplo 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 verlos parmetros pasados ya que estn codificados en la URL.

  • 7/26/2019 Pasos Bsicos PHP

    17/29

    Envi de emails

    PHP nos ofrece la posibilidad de enviar emails de una manera sencilla yfcil, para ello el lenguaje nos proporciona la instruccinmail( )

    En el parmetrodestinatario pondremos la direccin de email adonde se enviar el mensaje, en el parmetrotemael tema o subject delmensaje y el parmetro texto del mensaje el cuerpo del mensaje en

    formato texto plano.Existe una sintaxis extendida de la instruccinmail( )que nos permite

    aadir informacin adicional a la cabecera del mensaje.

    En la informacin de cabecera podremos incluir parmetrosadicionales al mensaje comoReply-To:, From:, Content-type:... que nospermiten tener un mayor control sobre el mensaje.

    Ejemplo de PHP

    Ejemplo de envio de email

    Introduzca su direccion de email:



    Formato:

    Texto plano

    HTML

  • 7/26/2019 Pasos Bsicos PHP

    18/29

    email.phtml

    Ejemplo de PHP

    Ejemplo de envio de email


    Crear la base de datos

    Para la realizacin de este curso sobre PHP con acceso a base de datoshemos elegido la base de datos MySQL por ser gratuita y por ser tambin lamas empleada en entornos UNIX, para lo cual el servidor donde tenemosalojadas las pginas nos tiene que proporcionar herramientas para crearla oacceso al Telnet para que la creemos por nosotros mismos.

  • 7/26/2019 Pasos Bsicos PHP

    19/29

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

    Con este comando conseguimos crear la una base de datos en el servidor

    de bases de datos de nuestro servidor.Una vez conseguido esto debemos crear las tablas en la base de datos, ladescripcin de las tablas contienen la estructura de la informacin quealmacenaremos en ellas. Para lo cual usaremos en lenguaje de consultas SQLcomn para todas las bases de datos relacionales.

    En este ejemplo creamos una tabla llamada prueba con 3 campos: uncampo identificador, que nos servir para identificar unvocamente una filacon el valor de dicho campo, otro campo con el nombre de una persona ypor ltimo un campo con el apellido de la persona.

    Para crear la tabla puede usar la herramienta de administracin de MySQL desu servidor web o puede escribir un fichero de texto con el contenido de lasentencia SQL equivalente y luego decirle al motor de base de datos que laejecute con la siguiente instruccin:

    mysql -u root base_datos

  • 7/26/2019 Pasos Bsicos PHP

    20/29

    Ejemplo de PHP

    Al ejecutar la instruccinmysql_connect creamos un vnculo entre labase de datos y la pagina PHP, este vnculo ser usado posteriormente en lasconsultas que hagamos a la base de datos.

    Finalmente, una vez que hemos terminado de usar el vnculo con la basede datos, lo liberaremos con la instruccinmysql_closepara que la conexin

    no quede ocupada.

    Consultas a la Base De Datos

    Una Vez Que Nos HEMOS Conectado con el Servidor de Bases de Datos,ya Podemos Realizar un Consultas Las Tablas de la Base de Datos.

    Para facilitar la programacin cundo HEMOS Separado de la FuncinConexin En Una Librera a parte, De Tal Manera Que la incluiremos en TodasLas Pginas Que accedan a la BASE DE DATOS.

    conex.phtml

  • 7/26/2019 Pasos Bsicos PHP

    21/29

    Example de PHP

    Example de la USO de Bases de Datos con PHP y MySQL & nbsp; Nombre & nbsp; Apellidos &

    nbsp;

    En Este example HEMOS utilizado 3 INSTRUCCIONESNuevas: mysql_query ,mysql_fetch_array y mysql_free_result . Con lainstruccinmysql_queryHEMOS Hecho Una consulta a la Base de Datosen el lenguaje de Consultas SQL, con lainstruccinmysql_fetch_array extraemos los Datos de la consulta unconjunto de la ONU y conmysql_free_resultliberamos la Memoria USADAen La Consulta.

    Insertar registros

    Hasta ahora nos hemos conectado a una base de datos y hemoshecho consultas a la misma, ahora presentaremos como introducirnuevo registros en la base de datos.

    Para ello usaremos un formulario y en el ACTIONdelFORM indicaremos que debe ser procesado unapagina PHP, esta pgina lo que har ser introducir los datos del

    formulario en la base de datos.

  • 7/26/2019 Pasos Bsicos PHP

    22/29

    ejem07d.phtml

    Ejemplo de PHP

    Ejemplo de uso de bases de datos con PHP y MySQL

    Nombre:

    Apellidos:

    Nombre

    Apellidos

  • 7/26/2019 Pasos Bsicos PHP

    23/29

    procesar.phtml

  • 7/26/2019 Pasos Bsicos PHP

    24/29

    ejem07e.phtml

    Ejemplo de PHP

    Ejemplo de uso de bases de datos con PHP y MySQL

    Nombre

    Apellidos

    Borrar

    borra.phtml

    La pginaborra.phtmlse conecta a la base de datos y borra elregistro indicado en la variable$idque ha sido pasado desde la

    pginaejem07e.phtml. Una vez el registro se ha borrado se vuelve acargar la pginaejem07e.phtml

  • 7/26/2019 Pasos Bsicos PHP

    25/29

    Restringir el acceso

    En esta seccin vamos a explicar cmo podemos restringir el acceso a

    segn qu pginas, para que solo las personas autorizadas puedan accedera ciertas partes del nuestro sitio web.

    Atencin: El acceso restringido a pginas usando las variablesglobales$PHP_AUTH_USER,$PHP_AUTH_PWy$PHP_AUTH_TYPEsolo funciona siPHP ha sido instalado como un mdulo de Apache, si ha sido instaladocomo un CGI los ejemplos de sta seccin no funcionarn.

    Para conseguir la autentificacin en las pginas usaremos el sistema deautentificacin del protocolo HTTP, este sistema se basa en las variables

    globales$PHP_AUTH_USERy$PHP_AUTH_PW.

    $PHP_AUTH_USER. Nombre de usuario introducido.$PHP_AUTH_PW. Contrasea introducida.

    Para que el navegador nos muestre la ventana de peticin de nombrede usuario y contrasea basta con enviar la siguiente cabecera:

  • 7/26/2019 Pasos Bsicos PHP

    26/29

  • 7/26/2019 Pasos Bsicos PHP

    27/29

  • 7/26/2019 Pasos Bsicos PHP

    28/29

    Esta es la forma ms bsica, si el usuario tiene los cookies activados, PHPhabr insertado de forma automtica la sesin y sta ser pasada de unapgina a otra sin hacer nada ms. Desde un punto de vista prctico lasesin es operativa, pero no vemos nada. Podemos obtener la sesin en

    cualquier momento mediante la funcinsession_id(). Inserta en las sucesivaspginas la siguiente lnea para ver si la sesin est disponible:

    En este casosession_start()comprueba en los cookies que existe unasesin y continua con ella,session_id()devuelve el identificador actual.

    Ejemplo prctico

    Como dije anteriormente la sesin se crea o recogemediantesession_start(), o tambin cuando se registra una variable desesin mediantesession_register().

    Si no has utilizado nunca las sesiones, el concepto de variable de sesin,puede resultar un poco abstracto. Bsicamente es una variable, comocualquiera de las que gestiona PHP4, pero que reside en un espacioespecfico en el servidor, junto con el identificador de sesin, y quepertenece nicamente a un usuario.

    En nuestro ejemplo anterior, registramos la variable$contadoren laprimera lnea del script. En la segunda lnea, entre otras cosas, cada vez querecarguemos la pgina o hagamos click sobre el enlace, el valorde$contadorse incrementar en 1.En esta lnea hacemos uso de la variable reservada$PHP_SELF, que hacereferencia al propio script en ejecucin y una constante propia dePHP4,$SID, que contiene el nombre de la sesin y el identificador de lamisma.

    Podemos averiguar tambin el nombre de la sesin, o modificarlo,mediante la funcinsession_name(). Veamos una prueba prctica:

  • 7/26/2019 Pasos Bsicos PHP

    29/29

    La asignacin del nombre de sesin debe realizarse antes que ningunaotra funcin con sesiones, antes quesession_start()osession_register().