viernes, 21 de noviembre de 2014

Actividad #22

1. Mapa conceptual


2.  Autoevaluación
  •  Conoce los conceptos mencionados en  punto anterior.
    • Sí.
  • Puede describirlos en sus propias palabras usando conceptos técnicos.
    •  Solo algunos.
  • Cuales son los requerimientos de hardware y software para tener un sitio web
    • No muy bien, me he enfocado más en cómo se crean las páginas web.
  • Que diferencia existe entre comercio electrónico y webmarketing
    • Sí, el comercio electrónico se refiere a la compra y venta de productos o servicios, utilizando internet, y el webmarketing se enfoca en las técnicas utilizadas para llevar a cabo el comercio electrónico.
  • Puede  hacer que su sitio web se despliegue correctamente en dispositivos móviles
    • Sí, mi sitio web ya se despliega en dispositivos móviles.
  • Capacidad de Diseñar un sitio web
    • Sí puedo diseñar un sitio web, pero no muy complejo.
  • Orientar a un posible cliente o usuario sobre  como tener su propio sitio web
    • Sí, lo aprendido en el curso me ayudaría a orientarlo.



 3. -Cómo incluir en sus sitios web las redes sociales.

Para integrar Facebook en tu sitio web necesitas:

::. 1. Entrar en Facebook
::. 2. Ir a la parte inferior de la página y dar click en la opción ‘Desarrolladores’
::. 3. Seleccionar la opción ‘Construye para sitios web’
::. 4. Al dar click aquí, se mostrará la página principal de la documentación para desarrolladores disponible en Facebook. Por el momento, el contenido está sólo en inglés.
::. 5. Selecciona la opción ‘Social Plug-ins’
::. 6. Entrarás a la página con los Plug-Ins que Facebook tiene disponibles para páginas web, como el botón ´Me Gusta’, comentarios o visualización en vivo de las novedades en Facebook, entre otros.
::. 7. Al seleccionar uno de ellos, te mostrarán las instrucciones que debes seguir para agregar correctamente el código del Plug-In que deseas en el código de tu página web

Para integrar Twitter en sitio web con  necesitas:

::. 1. Entrar a Twitter
::. 2. Dar click en el enlace ‘Desarrolladores’ que está en la parte inferior de la columna izquierda.
::. 3. Entrarás a la página de Desarrolladores para Twitter. Gran parte del contenido está en inglés.
::. 4. Da click en el botón ‘Add twitter to your website’
::. 5. A continuación, verás la página donde encontrarás qué tipo de botones puedes agregar a tu sitio web o si deseas incluir tweets.
::. 6. Selecciona ‘Create a button for your website’ o ‘Learn how to embed a tweet’ para ir a la página donde se te mostrarán las instrucciones sobre cómo añadir el código necesario a tu sitio para que tenga el elemento que deseas.

Otra opción es crear tu sitio web con plantillas web 2.0 como las de BaseKit, que cuentan con los ‘widgets’ de Facebook y Twitter listos para agregarlos en tu sitio, sin que tengas que meterte en el código para lograrlo.
-Que es una política de privacidad
Es el documento que especifica los procedimientos, reglas, y prácticas de seguridad de datos que realiza una empresa, con las que garantiza el mantenimiento de la integridad, confidencialidad y disponibilidad de la información que recoge de sus clientes y de otros interesados titulares de datos, de conformidad con la legislación vigente, las necesidades de seguridad informática y objetivos de negocio que persiga.

En este espacio se debe ser claro en cuanto al uso que los encargados del sitio le darán a la información que el usuario nos proporcione. Principalmente si hacemos uso de formularios en donde se solicitan datos personales del mismo.
También, está política debe aclarar sobre el uso de sus datos para garantizar que no se le enviará spam ni información no solicitada por el usuario. En cuanto a la publicidad se le debe aclarar al usuario sobre la misma, de qué forma se utiliza y cuando la encontrará en el sitio.

Un aviso de privacidad es también una promesa, no es suficiente con simplemente poner tal aviso. Para promover de manera eficaz la seguridad y la confianza en usted y en su sitio web, las disposiciones de un aviso de privacidad también debe ser aplicado plenamente en el marco de un concepto más amplio de política de privacidad.


¿Qué se debe hacer con los datos personales recabados en una base de datos?
Es responsabilidad del Responsable del Fichero implantar medidas que garanticen la seguridad de los datos, resguardando:
• La confidencialidad: evitar accesos no autorizados,
• La disponibilidad: evitar su pérdida,
• La integridad: evitar su alteración no deseada.

El titular de las bases de datos debe contar con las medidas de seguridad necesarias contra el uso indebido o ilícito de los datos, contra el acceso no autorizado, la pérdida, alteración, robo o modificación de la información personal que trata de clientes, usuarios y empleados.

Las principales obligaciones a cargo del Responsable son:
• Cumplir el deber de informar.
• Recabar el consentimiento.
• Inscribir y Declarar los ficheros en el Registro de la DNPD.
• Disponer de un Documento de Seguridad con las políticas, procedimientos y modo de implementación de las medidas de seguridad apropiadas, conforme a la calidad de los datos que trata.
• Implementar medidas de seguridad que resguarden la confidencialidad, disponibilidad e integridad de la información personal.
• Capacitar a su personal. Formar y concienciar en materia de seguridad de la información a todo el personal que gestione datos personales.
• Definir un procedimiento para la tutela de derechos ARCO.
• Regularizar movimientos y accesos de datos de terceros.
• Regularizar movimiento y tratamiento de datos dentro de la entidad.

Las medidas a adoptar dependerán tanto de la naturaleza de los datos almacenados, de los riesgos a los que están expuestos y al estado de la tecnología; viendo a la seguridad no es un estado sino un proceso dinámico, el que debe ser sometido periódicamente a análisis para detectar nuevos riesgos a enfrentar y nuevas medidas a implementar para reducirlos. 

viernes, 14 de noviembre de 2014

Examen

1.Publique el enlace de su formulario en el blog antes del termino de la clase del viernes 14 de Nov 2014.

http://luisrene.96.lt/pw/examen2/lr.html

2. evidencias captura de la pantalla de  formulario


3. código del formulario

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>
Plantilla Business to Business
</title>
  <title>Examen</title>
  <link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
  <h2>
Plantilla Business to Business</h2>

  <form method="post" action="php.php">

    <label for="p1">1. ¿Su proyecto con nuestra compañía se encuentra activo actualmente o se ha completado?</label><br>
    <input name="p1" type="radio" value="Actualmente activo" />Actualmente activo<br>
    <input name="p1" type="radio" value="Completo" />Completo<br><br>

    <label for="p2">2. En su opinión, ¿cómo manejó el proyecto del administrador de la cuenta?</label><br />
    <input name="p2" type="radio" value="Extremadamente bien" />Extremadamente <br>
    <input name="p2" type="radio" value="Muy bien" />Muy bien<br>
    <input name="p2" type="radio" value="Bastante bien" />Bastante bien<br>
    <input name="p2" type="radio" value="Bien" />Bien<br>
    <input name="p2" type="radio" value="Nada bien" />Nada bien<br><br>


    <label for="p3">3. ¿Cuán de cerca siguió nuestra compañía el programa de su proyecto?</label><br>
    <input name="p3" type="radio" value="Extremadamente cerca" />Extremadamente cerca<br>
    <input name="p3" type="radio" value="Muy de cerca" />Muy bien<br>
    <input name="p3" type="radio" value="Moderadamente de cerca" />Moderadamente de cerca<br>
    <input name="p3" type="radio" value="Algo de cerca" />Algo de cerca<br>
    <input name="p3" type="radio" value="Nada de cerca" />Nada de cerca<br /><br>


    <label for="p4">4. ¿Cuán probable es que vuelva a contratar a nuestra compañía?</label><br>
    <input name="p4" type="radio" value="Extremadamente probable" />Extremadamente probable<br>
    <input name="p4" type="radio" value="Bastante probable" />Bastante probable<br>
    <input name="p4" type="radio" value="Moderadamente probable" />Moderadamente probable<br>
    <input name="p4" type="radio" value="Algo probable" />Algo probable<br>
    <input name="p4" type="radio" value="Nada probable" />Nada probable<br><br>

    <label for="p5">5. ¿Cuán probable es que recomiende nuestra compañía a otras personas?</label><br>
    <input name="p5" type="radio" value="Extremadamente probable" />Extremadamente probable<br>
    <input name="p5" type="radio" value="Bastante probable" />Bastante probable<br>
    <input name="p5" type="radio" value="Moderadamente probable" />Moderadamente probable<br>
    <input name="p5" type="radio" value="Algo probable" />Algo probable<br>
    <input name="p5" type="radio" value="Nada probable" />Nada probable<br><br>

    <label for="p6">6. ¿Su proyecto con nuestra compañía se encuentra activo actualmente o se ha completado?</label><br>
    <input name="p6" type="radio" value="Actualmente activo" />Actualmente activo<br>
    <input name="p6" type="radio" value="Completo" />Completo<br><br>

    <label for="p7">7. En su opinión, ¿cómo manejó el proyecto del administrador de la cuenta?</label><br>
    <input name="p7" type="radio" value="Extremadamente bien" />Extremadamente <br>
    <input name="p7" type="radio" value="Muy bien" />Muy bien<br>
    <input name="p7" type="radio" value="Bastante bien" />Bastante bien<br>
    <input name="p7" type="radio" value="Bien" />Bien<br>
    <input name="p7" type="radio" value="Nada bien" />Nada bien<br /><br>


    <label for="p8">8. ¿Cuán de cerca siguió nuestra compañía el programa de su proyecto?</label><br>
    <input name="p8" type="radio" value="Extremadamente cerca" />Extremadamente cerca<br>
    <input name="p8" type="radio" value="Muy de cerca" />Muy bien<br>
    <input name="p8" type="radio" value="Moderadamente de cerca" />Moderadamente de cerca<br>
    <input name="p8" type="radio" value="Algo de cerca" />Algo de cerca<br>
    <input name="p8" type="radio" value="Nada de cerca" />Nada de cerca<br><br>


    <label for="p9">9. ¿Cuán probable es que vuelva a contratar a nuestra compañía?</label><br>
    <input name="p9" type="radio" value="Extremadamente probable" />Extremadamente probable<br>
    <input name="p9" type="radio" value="Bastante probable" />Bastante probable<br>
    <input name="p9" type="radio" value="Moderadamente probable" />Moderadamente probable<br>
    <input name="p4" type="radio" value="Algo probable" />Algo probable<br>
    <input name="p4" type="radio" value="Nada probable" />Nada probable<br><br>

    <label for="p10">10. ¿Cuán probable es que recomiende nuestra compañía a otras personas?</label><br>
    <input name="p10" type="radio" value="Extremadamente probable" />Extremadamente probable<br>
    <input name="p10" type="radio" value="Bastante probable" />Bastante probable<br>
    <input name="p10" type="radio" value="Moderadamente probable" />Moderadamente probable<br>
    <input name="p10" type="radio" value="Algo probable" />Algo probable<br>
    <input name="p10" type="radio" value="Nada probable" />Nada probable<br><br>

<label>Escriba su e-mail:
<input name="email" type="text" value="e-mail">
</label>

<input type="submit" value="ENVIAR" name="submit" />
 
 
  </form>
</body>
</html>


4. captura de la pantalla capturando datos



5. captura de la base de datos con  los datos del formulario insertados



viernes, 7 de noviembre de 2014

Actividad #21

Origen de PHP

PHP es un lenguaje creado por una gran comunidad de personas. El sistema fue desarrollado originalmente en el año 1994 por Rasmus Lerdorf como un CGI escrito en C que permitía la interpretación de un número limitado de comandos. El sistema fue denominado Personal Home Page Tools y adquirió relativo éxito gracias a que otras personas pidieron a Rasmus que les permitiese utilizar sus programas en sus propias páginas. Dada la aceptación del primer PHP y de manera adicional, su creador diseñó un sistema para procesar formularios al que le atribuyó el nombre de FI (Form Interpreter) y el conjunto de estas dos herramientas, sería la primera versión compacta del lenguaje: PHP/FI.


Por qué es mejor que otras alternativas



Las cuatro grandes características: Velocidad, estabilidad, seguridad y simplicidad.
  • Velocidad: No solo la velocidad de ejecución, la cual es importante, sino además no crear demoras en la máquina. Por esta razón no debe requerir demasiados recursos de sistema. PHP se integra muy bien junto a otro software, especialmente bajo ambientes Unix, cuando se configura como módulo de Apache, esta listo para ser utilizado.
  • Estabilidad: La velocidad no sirve de mucho si el sistema se cae cada cierta cantidad de ejecuciones. Ninguna aplicación es 100% libre de bugs, pero teniendo de respaldo una increíble comunidad de programadores y usuarios es mucho mas difícil para lo bugs sobrevivir. PHP utiliza su propio sistema de administración de recursos y dispone de un sofisticado método de manejo de variables, conformando un sistema robusto y estable.
  • Seguridad: El sistema debe poseer protecciones contra ataques. PHP provee diferentes niveles de seguridad, estos pueden ser configurados desde el archivo .ini
  • Simplicidad: Se les debe permitir a los programadores generar código productivamente en el menor tiempo posible. Usuarios con experiencia en C y C++ podrán utilizar PHP rápidamente.
Bueno otra característica a tener en cuenta seria la conectividad. PHP dispone de una amplia gama de librerías, y agregarle extensiones es muy fácil. Esto le permite al PHP ser utilizado en muchas áreas diferentes, tales como encriptado, gráficos, XML y otras.

Ventajas adicionales de PHP
  • PHP corre en (casi) cualquier plataforma utilizando el mismo código fuente, pudiendo ser compilado y ejecutado en algo así como 25 plataformas, incluyendo diferentes versiones de Unix, Windows (95,98,NT,ME,2000,XP,bla,bla,bla) y Macs. Como en todos los sistemas se utiliza el mismo código base, los scripts pueden ser ejecutados de manera independiente al OS.
  • La sintaxis de PHP es similar a la del C, por esto cualquiera con experiencia en lenguajes del estilo C podrá entender rápidamente PHP. Entre los lenguajes del tipo C incluimos al Java y Javascript, de hecho mucha de la funcionalidad del PHP se la debe al C en funciones como fread() o srtlen(), así que muchos programadores se sentirán como en casa.
  • PHP es completamente expandible. Está compuesto de un sistema principal (escrito por Zend), un conjunto de módulos y una variedad de extensiones de código.
  • Muchas interfaces distintas para cada tipo de servidor. PHP actualmente se puede ejecutar bajo Apache, IIS, AOLServer, Roxen yTHTTPD. Otra alternativa es configurarlo como modulo CGI.
  • Puede interactuar con muchos motores de bases de datos tales como MySQL, MS SQL, Oracle, Informix, PostgreSQL, y otros muchos. Siempre podrás disponer de ODBC para situaciones que lo requieran.
  • Una gran variedad de módulos cuando un programador PHP necesite una interfase para una librería en particular, fácilmente podrá crear una API para esta. Algunas de las que ya vienen implementadas permiten manejo de gráficos, archivos PDF, Flash, Cybercash, calendarios, XML, IMAP, POP, etc.
  • Rapidez. PHP generalmente es utilizado como modulo de Apache, lo que lo hace extremadamente veloz. Esta completamente escrito en C, así que se ejecuta rápidamente utilizando poca memoria.
  • PHP es Open Source, lo cual significa que el usuario no depende de una compañía específica para arreglar cosas que no funcionan, además no estás forzado a pagar actualizaciones anuales para tener una versión que funcione. Muchos de nosotros que hemos esperado que Allaire arregle algo apreciamos esto.


Cómo trabaja php con el servidor web

Se debe contar con un servidor que tenga soporte activado para PHP. En la mayoría de servidores, .php es es la extensión predeterminada para los ficheros de PHP, aunque puede preguntar al administrador de su servidor para estar seguro. Si el servidor tiene soporte para PHP, entonces no es necesario hacer nada. Simplemente tiene que crear sus ficheros.php, guardarlos en su directorio web y el servidor los analizará. No hay necesidad de compilar nada o instalar otras herramientas. Se puede pensar en estos ficheros habilitados para PHP como simples ficheros HTML con el añadido de una nueva familia de etiquetas que permiten todo tipo de cosas.

Desde PHP 5.4.0, la CLI SAPI provee un servidor web embebido. Las aplicaciones PHP se detendran si la solicitud está bloqueada. Las peticiones de URI se sirven desde el actual directorio de trabajo donde PHP se inició, a menos que la opción -t sea utilizada para especificar una raíz de documentos explícita. Si una petición de URI no especifica un fichero, entonces el index.php o index.html que estén en el directorio dado serán devueltos. Si ninguno de los ficheros existen en el directorio, entonces será devuelto una respuesta de código 404. Si un fichero PHP es proporcionado en la línea de comandos cuando se inicia el servidor web éste es tratado como un script "enrutador". El script es ejecutado al inicio de cada petición HTTP. Si este script devuelve FALSE, entonces el recurso solicitado se devuelve tal cual está. De otra forma la salida del script se devuelve en el navegador. Los tipos MIME estándar son devueltos para ficheros con extensiones: .3gp, .apk, .avi, .bmp, .css, .csv, .doc, .docx, .flac, .gif, .gz, .gzip, .htm, .html, .ics, .jpe, .jpeg, .jpg, .js, .kml, .kmz, .m4a, .mov, .mp3, .mp4, .mpeg, .mpg, .odp, .ods, .odt, .oga, .ogg, .ogv, .pdf, .pdf, .png, .pps, .pptx, .qt, .svg, .swf, .tar, .text, .tif, .txt, .wav, .webm, .wmv, .xls, .xlsx, .xml, .xsl, .xsd, y .zip.


Variables, operadores y expresiones e identificadores de PHP

Variables

Las variables en PHP son representadas con un signo de dólar ($) seguido por el nombre de la variable. El nombre de la variable es sensible a minúsculas y mayúsculas. Es decir, las siguientes declaraciones de variables son distintas entre ellas:

$variable, $Variable, $variAble, $VariAble, etc. representan a distintas variables.
Recordar que una variable es un espacio de la memoria del ordenador (en este caso del servidor) a la que asignamos un contenido que a grandes rasgos puede ser un valor numérico (sólo números, con su valor de cálculo) o alfanumérico (sólo texto o texto con números, sin valor de cálculo).
Para declarar un nombre de variable válido, éste tiene que empezar con una letra (o si no empieza con una letra, tendrá que hacerlo con un carácter de subrayado), seguido de cualquier número de letras, números y caracteres de subrayado, sin espacios. Veamos algunos ejemplos:
Posible nombre de variable
Validez
$4variable
Nombre de variable inválido.
$_4variable
Nombre de variable válido.
$variable4
Nombre de variable válido.
$otra
Nombre de variable válido.
$1_otra
Nombre de variable inválido.
$variable_de_nombre_muy_largo
Nombre de variable válido.
$ABC
Nombre de variable válido.
$ A B C
Nombre de variable inválido.
$A_y_B_x_C
Nombre de variable válido.


Cuando el intérprete PHP detecta un error en la sintaxis al declarar una variable, cuando tratamos de accecer a la página php nos aparecerá un mensaje de error. Por ejemplo si en un archivo php incluimos una línea como $ A B C = 5; donde el nombre de variable es inválido ya que tiene espacios intermedios, nos aparecerá un mensaje 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 línea donde el intérprete considera que está el problema.


Operadores de Comparación
Los operadores de comparación se utlilizan, como su nombre lo indica, para hacer comparaciones entre valores (la gran mayoría de las ocasiones guardados en variables) que necesitan desempeñar un papel en nuestro código. En PHP dichos operadores son:
Operador
Nombre
Ejemplo
Resultado
= =
Igualdad
$a = = $b
Cierto si $a es igual a $b
= = =
Identidad
$a= = =$b
Cierto si $a es igual a $b y si además son del mismo tipo (sólo PHP4 o mayor)
!=
Desigualdad
$a != $b
Cierto si $a no es igual a $b
<
Menor que
$a < $b
Cierto si $a es estrictamente menor que el de $b
>
Mayor que
$a > $b
Cierto si $a es estrictamente mayor que $b
<=
Menor o igual que
$a <= $b
Cierto si $a es menor o igual que $b
>=
Mayor o igual que
$a >= $b
Cierto si $a mayor o igual que $b
Operadores de Incremento y Decremento
Los operadores de decremento o incremento son de gran utilidad en la programación, sobre todo porque ahorran tiempo, esfuerzo y código. Dichos operadores incrementan o decrementan en uno el valor de la variable a la que se le está aplicando dicho decremento o incremento. Claro está, la utilidad la veremos con un poco más de obviedad a la hora de ver los bucles, en los que de hecho, los operadores de incremento o decremento, hacen su debut triunfal y decididamente impresionante.
En PHP, los operadores de Incremento y Decremento son los siguientes:
OPERADOR
NOMBRE
EFECTO
$a++
Postincremento
Devuelve el valor de $a y luego lo incrementa en uno
++$a
Preincremento
Incrementa en uno $a y luego devuelve el valor de $a ya incrementado
$b--
Postdecremento
Devuelve el valor de $b y luego lo decrementa en uno
--$b
Predecremento
Decrementa en uno $b y luego devuelve el valor de $b ya decrementado
Operadores Lógicos
Los operadores lógicos son de extrema utilidad a la hora de decidir si un valor y otro o un valor u otro, cumplen con ciertas condiciones. De nuevo, la utilidad de estos operadores los veremos cuando veamos las estructuras de control. En PHP, los operadores lógicos son los siguientes:
Ejemplo
Nombre
Resultado
$a and $b
Y
Cierto sólo si $a y $b son ciertos
$a or $b
O
Cierto si $a ó $b ó ambos son ciertos
$a xor $b
O exclusiva
Cierto si $a ó $b son ciertos, pero no si ambos son ciertos a la vez
!$a
Negación
Cierto si $a no es cierto
$a&&$b
Y
Cierto sólo si $a y $b son ciertos
$a||$b
O
Cierto si $a ó $b ó ambos son ciertos
Siendo que lo más seguro es que se estén preguntando cuál es la diferencia entre and y && o entre or y ||. La respuesta es sencilla, los símbolos && y || son abreviaciones o, más aún, son herencia del lenguaje del cual deriva PHP, es decir C/C++. Dado lo anterior, para todos aquellos que ya tengan experiencia en la programación con C/C++, esta notación les resultará muy familiar.

Identificadores (Tokens)
T_AND_EQUAL&=operadores de asignación
T_ARRAYarray()array()sintaxis de array
T_ARRAY_CAST(array)conversión de tipos
T_ASasforeach
T_BAD_CHARACTERtodo lo que haya por debajo de ASCII 32 excepto \t (0x09), \n (0x0a) y \r (0x0d)
T_BOOLEAN_AND&&operadores lógios
T_BOOLEAN_OR||operadores lógicos
T_BOOL_CAST(bool) o (boolean)conversión de tipos
T_BREAKbreakbreak
T_CALLABLEcallablecallable
T_CASEcaseswitch
T_CATCHcatchExcepciones (disponible desde PHP 5.0.0)
T_CHARACTERya no se utiliza
T_CLASSclassclases y objetos
T_CLASS_C__CLASS__constantes mágicas
T_CLONEcloneclases y objetos
T_CLOSE_TAG?> o %>salir de HTML
T_COMMENT// o #, y /* */comentarios
T_CONCAT_EQUAL.=operadores de asignación
T_CONSTconstconstantes
T_CONSTANT_ENCAPSED_STRING"foo" o 'bar'sintaxis de string
T_CONTINUEcontinuecontinue
T_CURLY_OPEN{$sintaxis compleja
T_DEC--operadores de incremento/decremento
T_DECLAREdeclaredeclare
T_DEFAULTdefaultswitch
T_DIR__DIR__constantes mágicas (disponible desde PHP 5.3.0)
T_DIV_EQUAL/=operadores de asignación
T_DNUMBER0.12, etc.números de punto flotante
T_DOC_COMMENT/** */comentarios tipo PHPDoc
T_DOdodo..while
T_DOLLAR_OPEN_CURLY_BRACES${sintaxis compleja
T_DOUBLE_ARROW=>sintaxis de array
T_DOUBLE_CAST(real), (double) o (float)conversión de tipos
T_DOUBLE_COLON::véase T_PAAMAYIM_NEKUDOTAYIM más abajo
T_ECHOechoecho
T_ELSEelseelse
T_ELSEIFelseifelseif
T_EMPTYemptyempty()
T_ENCAPSED_AND_WHITESPACE" $a"parte constante de un string con variables
T_ENDDECLAREenddeclaredeclaresintaxis alternativa
T_ENDFORendforforsintaxis alternativa
T_ENDFOREACHendforeachforeachsintaxis alternativa
T_ENDIFendififsintaxis alternativa
T_ENDSWITCHendswitchswitchsintaxis alternativa
T_ENDWHILEendwhilewhilesintaxis alternativa
T_END_HEREDOCsintaxis de heredoc
T_EVALeval()eval()
T_EXITexit o dieexit()die()
T_EXTENDSextendsextendsclases y objetos
T_FILE__FILE__constantes mágicas
T_FINALfinalPalabra clave Final
T_FINALLYfinallyExcepciones (disponible desde PHP 5.5.0)
T_FORforfor
T_FOREACHforeachforeach
T_FUNCTIONfunction o cfunctionfunciones
T_FUNC_C__FUNCTION__constantes mágicas
T_GLOBALglobalámbito de las variables
T_GOTOgoto(disponible desde PHP 5.3.0)
T_HALT_COMPILER__halt_compiler()__halt_compiler (disponible desde PHP 5.1.0)
T_IFifif
T_IMPLEMENTSimplementsInterfaces de objetos
T_INC++operadores de incremento/decremento
T_INCLUDEinclude()include
T_INCLUDE_ONCEinclude_once()include_once
T_INLINE_HTMLtexto fuera de PHP
T_INSTANCEOFinstanceofoperadores de tipo
T_INSTEADOFinsteadofTraits (disponible desde PHP 5.4.0)
T_INT_CAST(int) o (integer)conversión de tipos
T_INTERFACEinterfaceInterfaces de objetos
T_ISSETisset()isset()
T_IS_EQUAL==operadores de comparación
T_IS_GREATER_OR_EQUAL>=operadores de comparación
T_IS_IDENTICAL===operadores de comparación
T_IS_NOT_EQUAL!= o <>operadores de comparación
T_IS_NOT_IDENTICAL!==operadores de comparación
T_IS_SMALLER_OR_EQUAL<=operadores de comparación
T_LINE__LINE__constantes mágicas
T_LISTlist()list()
T_LNUMBER123, 012, 0x1ac, etc.números enteros
T_LOGICAL_ANDandoperadores lógicos
T_LOGICAL_ORoroperadores lógicos
T_LOGICAL_XORxoroperadores lógicos
T_METHOD_C__METHOD__constantes mágicas
T_MINUS_EQUAL-=operadores de asignación
T_MOD_EQUAL%=operadores de asignación
T_MUL_EQUAL*=operadores de asignación
T_NAMESPACEnamespaceespacios de nombres (disponible desde PHP 5.3.0)
T_NS_C__NAMESPACE__espacios de nombres (disponible desde PHP 5.3.0)
T_NS_SEPARATOR\espacios de nombres (disponible desde PHP 5.3.0)
T_NEWnewclases y objectos
T_NUM_STRING"$a[0]"array de índice numérico dentro de un string
T_OBJECT_CAST(object)conversión de tipos
T_OBJECT_OPERATOR->clases y objetos
T_OPEN_TAG<?php, <? o <%salir de HTML
T_OPEN_TAG_WITH_ECHO<?= o <%=salir de HTML
T_OR_EQUAL|=operadores de asignación
T_PAAMAYIM_NEKUDOTAYIM::::. También se define como T_DOUBLE_COLON.
T_PLUS_EQUAL+=operadores de asignación
T_PRINTprint()print
T_PRIVATEprivateclases y objetos
T_PUBLICpublicclases y objetos
T_PROTECTEDprotectedclases y objetos
T_REQUIRErequire()require
T_REQUIRE_ONCErequire_once()require_once
T_RETURNreturnvalores de retorno
T_SL<<operadores a nivel de bits
T_SL_EQUAL<<=operadores de asignación
T_SR>>operadores a nivel de bits
T_SR_EQUAL>>=operadores de asignación
T_START_HEREDOC<<<sintaxis de heredoc
T_STATICstaticámbito de las variables
T_STRINGparent, self, etc.se comparan identificadores, p.ej. palabras clave comoparent y self, nombres de funciones, nombres de clases y más. Véase también T_CONSTANT_ENCAPSED_STRING.
T_STRING_CAST(string)conversión de tipos
T_STRING_VARNAME"${asintaxis compleja
T_SWITCHswitchswitch
T_THROWthrowExcepciones
T_TRAITtraitTraits (disponible desde PHP 5.4.0)
T_TRAIT_C__TRAIT____TRAIT__ (disponible desde PHP 5.4.0)
T_TRYtryExcepciones
T_UNSETunset()unset()
T_UNSET_CAST(unset)conversión de tipos
T_USEuseespacios de nombres (disponible desde PHP 5.3.0; reservada desde PHP 4.0.0)
T_VARvarclases y objetos
T_VARIABLE$foovariables
T_WHILEwhilewhiledo..while
T_WHITESPACE\t \r\n
T_XOR_EQUAL^=operadores de asignación
T_YIELDyieldgeneradores (disponible desde PHP 5.5.0)


Expresiones

Las expresiones regulares en PHP son una potente herramienta de programación que muchas veces se deja de lado ya que se cree que es muy compleja (aunque sí lo puede ser). En este post explicamos de manera sencilla cómo utilizar las expresiones regulares en PHP y brindamos soluciones a ejercicios cotidianos de programación utilizando expresiones regulares. También puede servir como un pequeño recordatorio.
La única salvedad que debemos hacer es que se debe considerar muy bien cuando usar una expresión regular, y no usarlas en exceso. Esto ya que el procesamiento de una expresión regular es considerablemente más costoso que una simple búsqueda de strings (utilizando strstr por ejemplo).
La idea, entonces, de una expresion regular es crear un string especial para hacer una búsqueda en otro string. Si nuestra expresión regular encaja (hace “match”) en el string, la operación es exitosa. Exsite algunos caracteres que tienen un significado especial en una expresión regular:
Metacaracteres
.Match con cualquier caracter
^Match al principio del string
$Match al final del string
\sMatch con cualquier espacio en blanco
\dMatch con cualquier dígito
\DMatch con cualquier caracter que no sea un dígito
\wMatch con cualquier caracter que pueda ser parte de una palabra (letra, número, guión bajo)
\WMatch con cualquier caracter que NO pueda ser parte de una palabra (letra, número, guión bajo)
\AInicio de un string.
\zFinal de un string.
Cuantificadores
*el caracter puede aparecer cero o mas veces.
+el caracter puede aparecer una o mas veces.
?el caracter puede aparecer cero o una vez.
{n}el caracter aparece exactamente n veces.
{n,}el caracter aparece n o más veces.
{n,m}el caracter puede aparecer entre n y m veces.
Como parte de la notacion, siempre encerramos las expresiones regulares entre /, llaves ({}) o #. Por ejemplo, la expresion /ab?c/ hace match con ac y abc. La expresión regular /ab{1,3}c/ hace match con abcabbcabbbc.
Agrupadores
[]permiten agrupar creando rangos, por ejemplo /ab[0-5]+c/ hará match con cualquier string que contenga ab, una o más veces un número entre 0 y 5, y finalmente una c. Por ejemplo: ab12c.
()Nos permiten crear sub-expresiones, expresiones regulares contenidas dentro de otras: /a(bc.)+e/. Tiene un uso especial en formas como (…), que permite capturar todo lo que encierren los paréntesis, y (a|b) que hace match con a o b
Modificadores
Permiten cambiar el modo en que se ejecute la expresión regular. Se agregan después del delimitador de cierre.
iCoincidir indistintamente entre mayúsculas y minúsculas.
mMatch multilínea.
sEl metacaracter . hará match también con el caracter de cambio de línea.
uHacer los matches en modo UTF8
xIgnorar espacios.
Otros modificadoresX,e,A,D,S,U,J


Tipos de datos en PHP
En PHP no es obligatorio indicar el tipo de datos al que pertenece una variable como en otros lenguajes, sino que los tipos de datos son establecidos directamente por el intérprete PHP, que es el encargado de interpretar el código.
Ahora veremos en una tabla los distintos tipos de datos que se pueden usar en PHP.

TIPO DE DATO
DEFINICIÓN
integer
Los integers, o enteros, pueden tener distintos valores numéricos enteros que se expresan con diferentes notaciones.
$variable = 18; // Número entero positivo
$variable = -18; // Número entero negativo
$variable = 0x12; // Notación hexadecimal, en principio no la utilizaremos
float o double
Este tipo de datos son los números de punto flotante a los que normalmente llamamos “números decimales”, por ejemplo, 9.876. Ambos tienen mucha precisión, pero double es el más preciso (con más decimales). La sintaxis para utilizarlos es bastante simple:
$variable = 9.876;
string
El tipo de datos string, también conocido como cadena de caracteres, se expresa con la siguiente sintaxis:
$variable = "Yo soy una cadena";
boolean
Se trata de un tipo lógico. Sus posibles valores son true (verdadero) o false (falso).
$variable = true;
$variable = false;


Sentencias de control en PHP
Las estructuras de control nos permiten controlar el flujo del programa: tomar decisiones, realizar acciones repetitivas etc, dependiendo de unas condiciones que nosotros mismos establezcamos. Así podemos hacer un script que nos salude cada día de la semana de una manera diferente. O por ejemplo hacer un script que nos pida la contraseña una y otra vez hasta que suministremos la opción correcta.
1.- La toma de decisiones if-else:
Quizá la estructura de control más básica y la más utilizada sea if-else:
if (condicion) {
// instrucciones que hay que ejecutar si la condición es verdadera
} else {
// Instrucciones que hay que ejecutar si la condición es falsa
}
En castellano sería algo así:
Si (Tal cosa es cierta) {
//  Haz esto
} En caso contrario {
// Haz esto otro
}

Veamos un ejemplo real: En un formulario preguntaremos al usuario como se llama, pasaremos las variables a la página “saludos.php” . En saludos.phpmostraremos un saludo diferente en función de si el usuario soy yo o es cualquier otro
Formulario
<html>
<head>
<title> Ejemplo básico de If </title>
</head>
<body>

<form action="saludos.php" method="get">

¿Quién eres?<br />
<input type="text" name="nombre" />

<input type="submit" name="reset" value=" Enviar " />
</form>
</body>
</html>
saludos.php
<html>
<head>
<title> Ejemplo básico de If </title>
</head>
<body>
<h1> Página de bienvenida</h1>
<?php // Empieza el código php
if ($nombre=="Coder") {  // Si el nombre es Coder
echo(" Hombre $nombre! Ya estás cotilleando por aquí otra vez!"); // saludo especial
}else {
echo("Hola, $nombre, gracias por visitarnos"); // saludo para los demás
}
?>
</body>
</html>

La cláusula else (la parte del if-else que indica lo que hay que hacer si la condición es falsa) es opcional. No es necesario ponerla. Por ejemplo puedo querer un script que sólo me salude a mi. En este caso, cambiaría saludos.php de la siguiente manera:

<html>
<head>
<title> Ejemplo básico de If </title>
</head>
<body>
<h1> Página de bienvenida</h1>
<?php // empieza el código php
if ($nombre=="Coder") { // Si el nombre es Coder
echo(" Hombre $nombre! Ya estás cotilleando por aquí otra vez!"); // Saludo para Coder
}
?>
</body>
</html>
NOTA: Cuidado con el operador ==, es importante recordar que hay que utilizar un doble signo igual. Si utilizas sólo “=”, estarás utilizando el operador de asignación, es decir estableciendo que $nombre es igual a Coder con lo que la condición siempre sería cierta Smile
Las condiciones pueden complicarse mucho más, supongamos que queremos dejarte pasar sólo sí además de llamarte Coder, te sabes la contraseña, que en nuestro caso es “foros”:
Formulario:
<html>
<head>
<title> Ejemplo básico de If </title>
</head>
<body>

<form action="saludos.php" method="get">

¿Quién eres?<br />
<input type="text" name="nombre" /><br />
¿Y tu Contraseña?<br />
<input type="text" name="pass" />

<input type="submit" name="reset" value=" Enviar " />
</form>
</body>
</html>
saludos.php
<html>
<head>
<title> Ejemplo básico de If </title>
</head>
<body>
<h1> Página de bienvenida</h1>
<?php // Empieza el código php
if ($nombre=="Coder" and $pass =="foros") {
// Si el nombre es Coder y la contraseña foros
echo(" Hombre $nombre! Ya estás cotilleando por aquí otra vez!"); // saludo especial
}else {
echo("ahhhhhhhhhhh como no te sabes el nombre y la contraseña, no puedes pasar"); // saludo para los demás
}
?>
</body>
</html>
Además tenemos la instrucción elseif, que como su nombre indica, es una combinación de if y else. Añade una nueva condición en el caso de que la primera fuera falsa y sólo ejecuta las instrucciones si esta nueva condición es verdadera. Es decir,
Veamos un ejemplo:
if ($a > $b) {
// Ejecuta esto si a es Mayor que b
echo("a es mayor que  b");

} elseif ($a == $b) {
// si a no es mayor que be, comprueba si a es igual a b
echo("a es igual que  b");
} else {
// si no se cumplen las anteriores condiciones ejecuta ésta
echo ("a es menor  que b");
}
2- Bucles: While
If else nos permitía decidir si queríamos ejecutar o no una instrucción en función de una condición, los bucles nos permiten utilizar una condición para determinar cuantas veces queremos ejecutar una instrucción.:
While (condicion) {

// Instrucciones a ejecutar una y otra
//vez mientras la condición sea cierta
}
El funcionamiento es muy parecido al del if-else, la diferencia estriba en que si la condición es cierta y se ejecuta la orden, la condición vuelve a comprobarse una y otra vez mientras siga siendo cierta. En cambio en el cambio del if-else sólo se comprueba la condición una vez, si es cierta se ejecuta la instrucción y se sigue con el programa.
Veamos un ejemplo:
$cantidad = 1;
while ($cantidad < 10) {
echo ("$cantidad ");
$cantidad++;
}
Esto traducido a castellano sería:
$cantidad = 1; $cantidad es igual a uno
while ($cantidad < 10) Mientras el valor de la variable $cantidad sea menor que 10
echo (“$cantidad “); Escribe el valor de cantidad
$cantidad++ (suma 1 al valor que tenga $cantidad, también podríamos haber escrito $cantidad = $cantidad +1)
Veamos como funciona el script paso a paso,
$Cantidad es igual a 1
1 es menor que 10
Escribo 1 en pantalla
$cantidad = 2 (1+1)
2 es menor que 10
Escribo 2 en pantalla
$cantidad = 3 (2+1)…
Si ejecutamos este script, en pantalla veríamos 1 2 3 4 5 6 7 8 9
3- Bucles: do While
Los bucles do while, son muy parecidos a los bucles while, sólo que comprobamos si la condición es cierta al final del bucle en lugar de al principio. Así nuestras instrucciones se ejecutan siempre al menos una vez, lo que no ocurre en las condiciones while si la condición es falsa.
$cantidad = 1;
do {
echo ($cantidad);
} while ($cantidad<1);
Traducido sería
$cantidad = 1
do ( // ejecuta
echo ($cantidad); escribe el valor de cantidad
while ($cantidad<1); mientras cantidad sea mayor que 1 -> la condición es falsa luego el programa sale del bucle, pero ha escrito una vez el valor de $cantidad. El resultado en pantalla sería 1
4- Bucles: for
Los bucles for funcionan exactamente igual que en C . Con una sola instrucción controlamos todo el bucle, así que para los vaguetes está muy bien.
for (valor inicial; condicion; ejecutar en cada blucle) {

// Instrucciones a ejecutar mientras la condición sea cierta
}
Ejemplo
for ($cantidad = 1; $cantidad <10; $i++) {
echo("$cantidad");
}
Traducido es igual a:
Cantidad es igual a 1, mientras cantidad sea menor que 10 escribe cantidad en pantalla y después súmale 1 al valor de cantidad. Es decir, es exactamente el mismo ejemplo que vimos en el bucle while pero de otra manera.
4- Swich/case
Nos permite ejecutar un bloque de código u otro dependiendo del valor de una variable. Veamos un ejemplo.
Primero para asignar un valor a la variable, vamos a hacernos un formulario:
<html>
<head>
<title> Ejemplo de switch </title>
</head>
<body>

<form action="switch.php" method="get">

¿Quién eres?<br />

<input type="radio" name="quien" value="cgus" /> cgus<br />
<input type="radio" name="quien" value="xela" /> xela<br />
<input type="radio" name="quien" value="adanedhel" /> adanedhel<br />
<input type="radio" name="quien" value="jorgito" /> jorgito<br />
<input type="submit" name="reset" value=" Enviar " />
</form>
</body>
</html>
Switch.php
<html>
<head>
<title>Ejemplo de Swich</title>
</head>

<?php

switch($quien) {
case "cgus": // Primera posibilidad

echo (" $quien es todo un leader ");
break;
case "adanedhel": // segunda posibilidad
echo ("$quien es un elfo");
break;
case "xela": // tercera posibilidad
echo ("$quien es normal");
break;
default: // Posiblidad si no es ninguna de las anteriores
echo ("$quien es un desconocido");
}
?>
</body>
</html>

Declaración de funciones en PHP
Una de las herramientas más importantes en cualquier lenguaje de programación son las funciones. Una función es un conjunto de instrucciones que a lo largo del programa van a ser ejecutadas multitud de veces. Es por ello, que este conjunto de instrucciones se agrupan en una función. Las funciones pueden ser llamadas y ejecutadas desde cualquier punto del programa.

Además, una función puede recibir parámetros externos de los cuales dependa el resultado de dicha función. Es decir, según el parámetro o parámetros con los que se invoque a la función, ésta devolverá un resultado u otro.
Las funciones deben estar definidas antes de realizar la llamada a la función (como es lógico).

Sintaxis general para declarar una función en PHP
function nombre (parámetro1, parámetro2, …, parámetroN) {
                               instrucción1
                               instrucción2
                               .
                               .
                               .
                                instrucciónN
                }


Para llamar (hacer que se ejecute) la función usaremos esta sintaxis: nombre(par1, par2, par3, …, parN); donde par1, par2, par3, …, parN son los parámetros (información) que le pasamos a la función. Una función puede necesitar de ningún, uno o varios parámetros para ejecutarse.

Arreglos

 Se define a un arreglo como un grupo de elementos relacionados entre sí por medio de índices. Los arreglos pueden ser de una o más dimensiones, los de una dimensión, son llamados comúnmente "vectores".
A diferencia con el lenguaje C, en PHP, un vector puede tener elementos de distintos tipos.
Para hacer referencia a un elemento del vector, se utiliza un índice, que indica la dirección en donde se encuentra un determinado valor. El índice en un arreglo comienza siempre por cero. (Mas adelante se verá que el índice de un vector, no necesariamente debe ser un número entero, sino que también puede ser un texto).
Ejemplo Práctico 1:
                        Almacenar los nombres de los días de la semana en un vector y luego imprimirlos uno debajo de otro.
<Html>
<Title> Ejmeplo 1  </Title>
<Body>
<?PHP
  // Inicializacion del Vector
  $dia[0] = "Domingo";
  $dia[1] = "Lunes";
  $dia[2] = "Martes";
  $dia[3] = "Miércoles";
  $dia[4] = "Jueves";
  $dia[5] = "Viernes";
  $dia[6] = "Sábado";
  // Impresion del vector
  for($i=0; $i<7; $i++)
   {
    echo ($dia[$i] . "<Br>") ;
   }
 ?>
</Body>
</Html>
Comentario:
                        Se inicializa el vector indicando el número que le corresponde a cada posición entre corchetes [ ] y asignando el valor que se desea almacenar en dicha posición.
Un vector, en PHP, puede contener elementos de distintos tipos de datos, es decir, un elemento puede ser un número entero, otro una cadena, otro un número con decimales, etc.
Un modelo de este caso se puede observar en el siguiente ejemplo.
 Ejemplo Práctico 2:
                        Almacenar en un vector los datos personales de un empleado y luego mostrarlos en pantalla.
<Html>
<Title>  Ejemplo 2  </Title>
<Body>
<?PHP
  // Inicializacion del Vector
  $Empleado[0] = 4371;
  $Empleado[1] = "Martinez Leandro";
  $Empleado[2] = "27.643.742";
  $Empleado[3] = 1429.54;
  $Empleado[4] = "Arquitecto";
  // Impresion del vector
  echo ("Legajo: " . $Empleado[0] . "<Br>");
  echo ("Nombre: " . $Empleado[1] . "<Br>");
  echo ("DNI : " . $Empleado[2] . "<Br>");
  echo ("Sueldo: " . $Empleado[3] . "<Br>");
  echo ("Profesion: " . $Empleado[4] . "<Br>");
 ?>
</Body>
</Html>
Existen varias maneras de inicializar vectores en PHP. A continuación se describen algunos ejemplos.
    Pais[] = "Argentina";
    Pais[] = "Uruguay";
    Pais[] = "Brasil";
    Pais[] = "Chile";
En este caso se observa que no es necesario colocar el número de índice, ya que PHP lo asigna automáticamente para cada valor, comenzando siempre desde cero.
Otra forma de inicializar un vector, es a través del constructor array, como se muestra en el siguiente ejemplo:
Pais =array("Argentina","Uruguay","Brasil","Chile");
También  se puede definir un arreglo asociando explícitamente el índice a un valor, como se indica a continuación:
    $Frutas = array(0 => "Manzana",
                              1 => "Naranja",
                              2 => "Pera",
                              3 => "Ananá");
Además, los índices, pueden no ser obligatoriamente consecutivos, ni tampoco comenzar de cero, ni tampoco ser un número. (Ver ejemplos mas adelante).
Se puede conocer la cantidad de elementos que tiene un vector, para ello se utiliza la función count(vector). Esta función acepta como parámetro el nombre del vector y devuelve la cantidad de elementos del mismo.


Conectividad  a bases de datos usando PHP

Acceso a bases de datos MySQL desde PHP

El sistema de acceso y manipulación de bases de datos desde PHP es similar al de otros lenguajes de script: establece la conexión con la base de datos, ejecuta las sentencias de consulta o modificación y finalmente cierra la conexión.
PHP soporta compatibilidad con accesos a múltiples sistemas de bases de datos, sin embargo, el modo de programación sobre cada tipo de base de datos, no presenta, como en otros casos, la misma nomenclatura. PHP utiliza funciones de nombre genérico, pero precedidas normalmente por el nombre del sistema de base de datos, de modo que las funciones que ofrece el lenguaje para el acceso a cada tipo de base de datos son diferentes.

Establecimiento de conexión con bases de datos MySQL

Para establecer la conexión con una base de datos MySQL desde PHP, se utiliza la función:
mysql_connect("NombreHost","Usuario","Contraseña")
cuyos parámetros son opcionales, e indican el nombre del servidor -o IP del mismo- (‘NombreHost’) donde se encuentra la base de datos, el ‘Usuario’ de acceso a la base de datos, y la ‘Contraseña’ de acceso. En caso de éxito la función devuelve un identificador del enlace con el sistema de bases de datos.
Una vez establecida la conexión, hay que indicar al sistema, la base de datos con la que se desea trabajar, usando la función:
mysql_select_db("NombreBaseDatos")
Y finalmente, para cerrar la conexión utilizamos:
mysql_close($conexion)
donde debemos pasarle como parámetro el enlace con la conexión inicialmente establecida.

Ejemplo:

<?php

#Conectamos con MySQL
$conexion = mysql_connect("NombreHost","Usuario","Contraseña")
or die ("Fallo en el establecimiento de la conexión");

#Seleccionamos la base de datos a utilizar
mysql_select_db("NombreBaseDatos")
or die("Error en la selección de la base de datos");

# ################################### #
# Aquí insertaríamos las consultas sobre la base de datos #
# ################################### #

#Cerramos la conexión con la base de datos
mysql_close($conexion);

?>

Consultas sobre bases de datos MySQL

Para efectuar consultas sobre una base de datos MySQL, se utiliza en PHP la función:
mysql_query($sql, $conexion)
que toma como parámetros, una cadena con la consulta SQL a ejecutar (SELECT, INSERT, DELETE, etc.), y el enlace con la base de datos (opcional). Devuelve un identificador del resultado en caso de éxito o FALSE en caso de error en la consulta.
Solo con la ejecución de la consulta sobre la base de datos, no podemos presentar el resultado de la misma. Para poder mostrar información resultante de una consulta deberemos hacer uso de funciones complementarias. Una de las posibles es:
mysql_fetch_array($id_resultado)
que devuelve un array con el resultado de la sentencia extraída identificada por el parámetro facilitado.

Ejemplo:

<?php

#Conectamos con MySQL
$conexion = mysql_connect("NombreHost","Usuario","Contraseña")
or die ("Fallo en el establecimiento de la conexión");

#Seleccionamos la base de datos a utilizar
mysql_select_db("NombreBaseDatos")
or die("Error en la selección de la base de datos");

#Efectuamos la consulta SQL
$result = mysql_query ("select * from personal" )
or die("Error en la consulta SQL");

#Mostramos los resultados obtenidos
while( $row = mysql_fetch_array ( $result )) {
   echo $row [ "id" ];
   echo $row [ "nombre" ];
}

?>
Dispone de completa información y ejemplos de las funciones PHP asociadas a MySQL en la web de PHP.net.

Acceso a bases de datos PostgreSQL desde PHP

El sistema de acceso a bases de datos PostgreSQL desde PHP es similar al usado para el acceso a bases de datos MySQL. Solo cambian los nombres de las funciones utilizadas, pero siguen la misma estructura. En los siguientes apartados vemos con más detalle las sentencias a utilizar.

Conexión con bases de datos PostgreSQL

Para establecer la conexión con una base de datos PostgreSQL desde PHP, se utiliza la función:
pg_connect("host=NombreHost dbname=BaseDatos user=Usuario
password=Contraseña")
cuyos parámetros, pasados como una cadena única, indican el nombre del servidor -o IP del mismo- ‘NombreHost’ donde se encuentra la base de datos, el nombre de la base de datos ‘BaseDatos’, el ‘Usuario’ de acceso a la base de datos, y la ‘Contraseña’ de acceso. En caso de éxito la función devuelve un identificador del enlace con el sistema de bases de datos.
A diferencia de MySQL, no es preciso indicar con otra función la base de datos a la que se desea acceder, ya que se ha facilitado como parámetro a la función de conexión.
Finalmente, para cerrar la conexión utilizamos:
pg_close($conexion)
donde debemos pasarle como parámetro el enlace con la conexión inicialmente establecida.

Ejemplo:

<?php

#Conectamos con PostgreSQL
$conexion = pg_connect("host=192.168.0.3 dbname=BaseDatos user=Usuario
password=Contraseña") or
die ("Fallo en el establecimiento de la conexión");

# ################################### #
# Aquí insertaríamos las consultas sobre la base de datos #
# ################################### #

#Cerramos la conexión con la base de datos
pg_close($conexion);

?>

Consultas sobre bases de datos PostgreSQL

Para efectuar consultas sobre una base de datos PostgreSQL, se utiliza en PHP la función:
pg_query($conexion, $sql)
que toma como parámetros, el enlace con la base de datos y una cadena con la consulta SQL a ejecutar (SELECT, INSERT, DELETE, etc.). Devuelve un identificador del resultado en caso de éxito o FALSE en caso de error en la consulta.
Solo con la ejecución de la consulta sobre la base de datos, no podemos presentar el resultado de la misma. Para poder mostrar información resultante de una consulta deberemos hacer uso de funciones complementarias. Una de las posibles es:
pg_fetch_array($id_resultado, $fila)
que devuelve la fila ‘$fila’ en forma de array con el resultado de la sentencia extraída identificada por el parámetro ‘$id_resultado’.

Ejemplo:

<?php

#Conectamos con PostgreSQL
$conexion = pg_connect("host=192.168.0.3 dbname=BaseDatos user=Usuario
password=Contraseña") or
die ("Fallo en el establecimiento de la conexión");

#Efectuamos la consulta SQL
$result = pg_query ($conexion, "select * from personal" )
or die("Error en la consulta SQL");

#Mostramos los resultados obtenidos
$i=0;
while( $row = mysql_fetch_array ( $result,$i )) {
   echo $row [ "id" ];
   echo $row [ "nombre" ];
   $i++;
}

?>