Php Mysql Nivel 1

PHP MySQL Nivel 1 Material elaborado por CENEAC Producciones, C.A. Prohibida su reproducción total o parcial, por medio

Views 123 Downloads 2 File size 2MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

PHP MySQL Nivel 1

Material elaborado por CENEAC Producciones, C.A. Prohibida su reproducción total o parcial, por medios impresos o digitales, sin autorización del Autor.

CENEAC Producciones, C.A. Universidad Central de Venezuela, Facultad de Ciencias, Edif. III, Av. Los Ilustres, Los Chaguaramos, Caracas, Venezuela Tlf. (58 212) 605-13-14 693-47-38 (telfax) correo [email protected] www.ceneac.com.ve

CENEAC - PHP MySQL Nivel 1

ÍNDICE 1. INTRODUCCIÓN … 1 1.1 ¿Qué es PHP? … 1 1.2. Breve historia de PHP … 1 1.3. Requisitos para ejecutar aplicaciones PHP … 2 1.4. ¿Qué se puede hacer con PHP? … 2 1.5. Instalación de PHP … 2  Instalación del servidor Apache sobre Windows … 3  Instalación del PHP … 8  Instalación del MySQL … 12 2. PROGRAMACIÓN EN PHP … 14 2.1. Tipos de Datos … 15  Booleanos o Lógicos … 16  Enteros … 16  Números en Punto flotante … 16  Cadenas … 16 2.2 Variables … 17 2.3. Constantes … 17 2.4. Operadores … 18  Aritméticos … 18  De Cadenas … 19  De Comparación … 19  Lógicos … 19  De Asignación … 19 2.5. Estructuras de control … 21  If…else … 21  If….elseif…else … 21  Switch….case….default … 22  While … 23  Do while … 23  For … 24 2.6. Arreglos y matrices … 25 2.7. Funciones … 27  Instrucción Return … 28  Funciones con parámetros … 29 2.8. Como ahorrar líneas de código … 30 2.9. Funciones para la manipulación de cadenas … 32 2.10. Funciones para la manipulación de fecha y hora … 36

Material elaborado por CENEAC Producciones, C.A. Prohibida su reproducción total o parcial sin autorización del Autor.

CENEAC - PHP MySQL Nivel 1 3. FORMULARIOS … 40 3.1. Etiqueta Formulario ( form) … 40 3.2. Cuadro de texto ( input text ) … 41 3.3. Cuadro de texto con desplazamiento ( textarea ) … 42 3.4. Casilla de verificación ( checkbox ) … 43 3.5. Botón de opción ( radio button) … 44 3.6. Menú desplegable ( select ) … 45 3.7. Campo oculto ( input hidden ) … 47 3.8. Campo archivo ( file ) … 47 3.9. Ejemplos de formularios… 47 4. MANEJO DE ARCHIVOS … 56 4.1. Envío de archivos a través de un formulario … 56 4.2. Funciones para el manejo de archivos … 58 5. MySQL, MANEJO DE BASES DE DATOS … 60 5.1. Introducción a MySQL y principales características … 60 5.2. Instalación de MySQL … 60 5.3. Conexión con MySQL … 61 5.4. Uso de la aplicación PhpMyAdmin … 61  Instalación y configuración del PhpMyAdmin… 61  Creación de la Base de Datos … 63  Creación de las Tablas … 63  Configuración de los Campos de la tabla … 64  Agregar Datos a la tabla … 65  Examinar los datos almacenados en la tabla … 65 5.5. Como usar la base de Datos desde PHP … 65 6. TALLERES DE EJERCICIOS … 74

Material elaborado por CENEAC Producciones, C.A. Prohibida su reproducción total o parcial sin autorización del Autor.

CENEAC - PHP MySQL Nivel 1

TEMA 1. INTRODUCCIÓN A PHP Desde hace algunos años, ha surgido un conjunto de tecnologías para el desarrollo de aplicaciones para el Web, entre ellas ASP, JSP y PHP. Esta última está tomando mucha fuerza en este campo, por sus prestaciones, entre otras: es totalmente gratuito, puede ejecutarse tanto en servidor web Apache de Linux, como en Internet Information Server de Microsoft en sus distintas versiones para Windows 98, Me, 2000, XP y Vista. La sintaxis de sus instrucciones es muy parecida a la programación en C, siendo bastante simple la creación de aplicaciones en PHP, así como también el desarrollo por parte del programador de objetos específicos; otra de sus características es su natural integración con el manejador de Bases de Datos MySql (el cual es gratuito), la cual permite ejecutar procesos de automatización de datos eficientemente en tiempo, al no necesitar de controladores adicionales ODBC para la conexión con la base de datos del proyecto Web.

1.1 ¿Qué es PHP? Es un lenguaje interpretado de alto nivel, cuyo código es embebido o integrado a las páginas HTML. Es un lenguaje de programación con variables, sentencias condicionales, ciclos (bucles), funciones y con la capacidad de poder realizar la programación orientada a objetos. No es un lenguaje de marcado como podría ser HTML, XML o WML. Está más cercano a lenguajes de programación como JavaScript o C. Pero a diferencia del lenguaje JavaScript que se ejecuta en el navegador, PHP se ejecuta en el servidor, por eso permite acceder a los recursos que tenga el servidor, por ejemplo a bases de datos. El programa PHP es ejecutado en el servidor y el resultado enviado al navegador, el resultado es normalmente una página HTML. Al ser PHP un lenguaje que se ejecuta en el servidor no es necesario que su navegador lo soporte, es independiente del browser, pero sin embargo para que las páginas PHP funcionen, el servidor donde están alojadas debe soportarlo.

1.2. Breve historia de PHP PHP es un lenguaje creado por una gran comunidad de programadores. 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 su programa 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. La siguiente gran contribución al lenguaje se realizó a mediados del 97 cuando se volvió a programar el analizador sintáctico, se incluyeron nuevas funcionalidades como el soporte a nuevos protocolos de Internet y el soporte a la gran mayoría de las bases de datos comerciales. Todas estas mejoras sentaron las bases de PHP versión 3. Actualmente PHP se encuentra en su versión 5.2.9, que utiliza el motor Zend, desarrollado para cubrir las necesidades actuales y solucionar algunos inconvenientes de la versión anterior. Algunas mejoras de esta nueva versión son su rapidez, gracias a que primero se compila y luego se ejecuta, mientras que antes se ejecutaba mientras se interpretaba el código, su mayor independencia del servidor Web creando versiones de PHP nativas para más plataformas y un API más elaborado y con más funciones. En el último año, el número de servidores que utilizan PHP se ha disparado, logrando situarse cerca de los 5 millones de sitios y 800.000 direcciones IP, lo que lo ha convertido a PHP en una tecnología popular.

Material elaborado por CENEAC Producciones, C.A. Prohibida su reproducción total o parcial sin autorización del Autor. 1

CENEAC - PHP MySQL Nivel 1

1.3. Requisitos para ejecutar aplicaciones PHP 

Versión compilada de PHP, la cual se puede obtener desde el sitio oficial de PHP: http://www.php.net



Un servidor Web, entre otros, Apache, Personal Web Server -PWS, Internet Information Server-IIS.



Si se desea manejar base de datos se recomienda MySql Server, del cual se puede obtener una versión gratuita en el sitio oficial: http://www.mysql.com. También se dispone de controladores ODBC que permiten combinar PHP con los principales manejadores de bases. Una de las características más fuertes es el amplio soporte para una gran cantidad de base de datos como:  Adabas D  dBase  DB++  Ingres  InterBase  FrontBase  IMB DB2  Informix  mSQL  MySQL  ODBC  Oracle  PostgreSQL  Sybase  SQL Server  SQLite  Max DB  Firebird/InterBase

1.4. ¿Qué se puede hacer con PHP? Se puede realizar cualquier programa que tradicionalmente se haya podido desarrollar con un script CGI, como procesar la información de formularios, generar páginas con contenido dinámico, enviar o recibir cookies, manejar distintos protocolos, subir archivos al servidor, interactuar con distintos manejadores de bases de datos, creación de aplicaciones para el envío y recepción de correos electrónicos, entre otros.

1.5. Instalación de PHP Para realizar la instalación, primero debe descargarse el software completo desde la página oficial de PHP, el cual se puede encontrar en el siguiente enlace: http://www.php.net/downloads.php PHP como todo lenguaje de lado servidor requiere de la instalación de un servidor en nuestro computador para poder trabajar localmente. Este modo de trabajo es más práctico que enviar los archivos por FTP (File Transfer Protocol) al servidor y ejecutarlos desde Internet. Antes de comenzar a crear nuestros programas en PHP, es necesario:  Convertir nuestro computador en un servidor. Esto se hace instalando uno de los varios servidores disponibles para el sistema operativo que tengamos instalado.  Instalar en nuestro servidor los archivos que le permitirán la comprensión del PHP. Estos archivos pueden ser descargados, en su versión más actual, de la página oficial de PHP ( http://www.php.net)  Instalar una aplicación para creación y administración de bases de datos, por ejemplo MySQL. Para conocer cómo se instala PHP en los distrintos servidores disponibles según el sistema operativo se puede consultar el apartado de documentación en la página oficial. La elección del programa servidor tendrá mucho que ver con el sistema operativo que este corriendo en el computador. Estas serían algunas posibilidades de sistemas operativos y servidores disponibles:

Material elaborado por CENEAC Producciones, C.A. Prohibida su reproducción total o parcial sin autorización del Autor. 2

CENEAC - PHP MySQL Nivel 1 Servidores Web sobre UNIX Apache thttpd fhttpd Zeus Roxen Pi3Web

Servidores Web sobre Windows Apache Microsoft IIS AOLServer WebSphere Netscape web server iPlanet

Usualmente se recomienda el uso del servidor Apache, ya que corre sobre ambos tipos de sistemas operativos, es gratuito y cuenta con un gran número de documentación y soporte en la red. Una vez seleccionado e instalado el servidor, se debe instalar el PHP. Bajo Windows, se puede instalar rápidamente a través de un Wizard o programa instalador. Para instalaciones bajo UNIX, se necesita la compilación del código fuente.

I. Instalación del servidor Apache sobre Windows 1. Para la instalación del Apache, se debe descargar el instalador del servidor HTTP Apache, en el url http://httpd.apache.org/download.cgi

A continuación, se ejecuta el instalador, y se verá una pantalla como la siguiente, se hace clic en el botón “Next” (Siguiente):

2. Se aceptan los términos y condiciones de la licencia y se hace clic en el botón “Next” (Siguiente):

Material elaborado por CENEAC Producciones, C.A. Prohibida su reproducción total o parcial sin autorización del Autor. 3

CENEAC - PHP MySQL Nivel 1

3. Se presentará una ventana con información acerca del Apache, volviendo a hacer clic en el botón “Next” (Siguiente):

4. Se suministra la información para el servidor al instalador de Apache. Como sólo se desea ejecutar Apache en el computador de manera local (Apache también se puede hacer accesible desde Internet), se coloca localhost en Network Domain y en Server Name. Luego se introduce nuestra dirección de email, se selecciona for All Users… y se hace clic en el botón “Next” (Siguiente):

Material elaborado por CENEAC Producciones, C.A. Prohibida su reproducción total o parcial sin autorización del Autor. 4

CENEAC - PHP MySQL Nivel 1 5. En la ventana de consulta tipo de instalación a usar, se selecciona Typical (Típica) y se hace clic en el botón “Next” (Siguiente):

6. Se pregunta por la carpeta de destino, se sugiere dejar el directorio sugerido y a continuación, se hace clic en el botón “Next” (Siguiente):

7. Se hace clic en el botón “Install” (Instalar) en la siguiente pantalla para empezar a instalar Apache:

Material elaborado por CENEAC Producciones, C.A. Prohibida su reproducción total o parcial sin autorización del Autor. 5

CENEAC - PHP MySQL Nivel 1 8. Se observará una ventana que muestra el progreso de la instalación de Apache:

9. Por último, cuando la instalación ha terminado se hace clic en el botón “Finish” (Finalizar).

Para poner a funcionar el servidor se debe ir al escritorio de Windows, y luego buscar la ubicación del menú de inicio Inicio >> Todos los Programas >> Apache HTTP Server 2.2 >> Control Apache Server >> Start,

o por el contrario en la ubicación que se haya indicado durante la instalación. Al ejecutarlo quedará abierta una ventana MS-DOS en la cual estará corriendo el servidor. Con el servidor en funcionamiento, se comprueba si funciona correctamente, para ello se abre un explorador como puede ser Mozilla Firefox o Internet Explorer y en la barra de direcciones se teclea algunas de las siguientes opciones: http://127.0.0.1 http://localhost http://"nombre de nuestra PC”

Si el Apache está instalado correctamente, se debería ver la página que aparece en la siguiente imagen. Esta es la página de chequeo que por defecto incluye Apache. En caso de no verla es que no se ha realizado Material elaborado por CENEAC Producciones, C.A. Prohibida su reproducción total o parcial sin autorización del Autor. 6

CENEAC - PHP MySQL Nivel 1 correctamente algún paso anterior. Por defecto las páginas web estarán alojadas en el siguiente directorio: C:\Archivos de programa\Apache Software Foundation\Apache2.2\htdocs

También por defecto el Apache está configurado para que abra el archivo index.html que se encuentre en el directorio que se indicó. Por lo tanto cuando en el navegador se coloque la dirección http://127.0.0.1 el explorador cargará la página index.html del directorio C:\Archivos de programa\Apache Software Foundation\Apache2.2\htdocs.

Material elaborado por CENEAC Producciones, C.A. Prohibida su reproducción total o parcial sin autorización del Autor. 7

CENEAC - PHP MySQL Nivel 1

2. Instalación del PHP Como próximo paso se instalará el PHP, para esto se debe descargar el instalador de la última versión del lenguaje, en el URL http://www.php.net/downloads.php 1. Al ejecutar el instalador, se verá una pantalla como la siguiente, se hace clic en el botón “Next” (Siguiente):

2. Se aceptan los términos y condiciones de la licencia y se hace clic en el botón “Next” (Siguiente):

Material elaborado por CENEAC Producciones, C.A. Prohibida su reproducción total o parcial sin autorización del Autor. 8

CENEAC - PHP MySQL Nivel 1 3. Se selecciona el directorio donde se instalará el PHP, por defecto se toma el directorio “C:\Archivos de Programa\PHP”, en caso de querer cambiarlo, se hace clic en el botón de “Browse” (Examinar) y luego se selecciona el directorio deseado. Por último se hace clic en el botón “Next” (Siguiente):

4. Se selecciona el servidor que se va a utilizar, en este caso, se selecciona el servidor “Apache 2.2.x Module”. Luego, se hace clic en el botón “Next” (Siguiente):

5. Se selecciona el directorio donde se encuentran los archivos de configuración de apache: C:\Archivos de programa\Apache Software Foundation\Apache2.2\conf, luego se hace clic en el

botón “Next” (Siguiente):

Material elaborado por CENEAC Producciones, C.A. Prohibida su reproducción total o parcial sin autorización del Autor. 9

CENEAC - PHP MySQL Nivel 1 6. Se indican las opciones a instalar. Por defecto no se encuentra seleccionado que se instalen las extensiones tales como mysql.dll, mysqli.dll entre otras. Por esta razón debemos seleccionar para instalar todas las extensiones disponibles. Posteriormente, se hace clic en el botón “Next” (Siguiente):

7. Se confirma las opciones seleccionadas en los pasos previos , haciendo clic en el botón “Install” (Instalar):

8. Se observará una ventana que muestra con el progreso de la instalación de PHP:

Material elaborado por CENEAC Producciones, C.A. Prohibida su reproducción total o parcial sin autorización del Autor. 10

CENEAC - PHP MySQL Nivel 1 9. Finalmente se confirma la instalación del PHP haciendo clic en el botón “Finish” (Finalizar):

Para terminar la configuración de php sobre el servidor web apache, se debe editar el archivo “httpd.conf” que se encuentra en el directorio C:\Archivos de programa\Apache Software Foundation\Apache2.2\conf\ de la siguiente manera: Se debe buscar la línea: DirectoryIndex index.html Y la cambiamos por: DirectoryIndex index.html index.php Se reinicia el servidor Apache para que reconozca el soporte a PHP. Para probar que se ha instalado PHP correctamente se crea un script o archivo con el nombre “ prueba.php” y siempre se deben almacenar en el directorio “C:\Archivos de programa\Apache Software Foundation\Apache2.2\htdocs\”, a menos que se cambien los parámetros de configuración. El archivo “prueba.php” tendrá el siguiente contenido:

Luego se debe abrir el navegador y colocar como URL: http://localhost/prueba.php. Entonces se debe ver en pantalla el mensaje “El PHP está funcionando correctamente!”. En caso contrario, hubo un error u omisión de alguno de los pasos de la instalación. Si se desea visualizar los mensajes de error al momento de ejecutar el script php, se debe editar el archivo “php.ini”, el cual se encuentra bajo Windows en el directorio “C:\Archivos de programa\PHP”. Se debe ubicar la línea: display_errors = Off

Y cambiarla por: display_errors = On

Por último, se debe reiniciar el servidor Apache para que acepte los cambios.

Material elaborado por CENEAC Producciones, C.A. Prohibida su reproducción total o parcial sin autorización del Autor. 11

CENEAC - PHP MySQL Nivel 1

3. Instalación del MySQL El MySql es un manejador de Bases de Datos muy utilizado junto a PHP ya que también pertenece a la categoría de Software Libre. Para instalarlo se debe descargar el archivo instalador de la última versión para Windows, de la dirección http://dev.mysql.com/downloads/

1. Una vez descargado el archivo, se ejecuta. Aparecerá entonces una pantalla de presentación de la instalación, se debe hacer clic en el botón “Next”:

2. Se selecciona la opción “Typical” como tipo de instalación, y se hace clic en el botón “Next” (Siguiente):

Material elaborado por CENEAC Producciones, C.A. Prohibida su reproducción total o parcial sin autorización del Autor. 12

CENEAC - PHP MySQL Nivel 1 3. Se observará una ventana con un resumen de las opciones de configuración que se llevarán acabo. Por último se hace clic en el botón “Install” (Instalar):

4. Se observará una ventana con el progreso de la instalación de MySQL:

5. Se confirma la instalación del MySQL haciendo clic en el botón “Finish” (Finalizar):

Más adelante se explicará como se crea y utiliza una base de datos MySQL.

Material elaborado por CENEAC Producciones, C.A. Prohibida su reproducción total o parcial sin autorización del Autor. 13

CENEAC - PHP MySQL Nivel 1

TEMA 2. PROGRAMACIÓN EN PHP Una vez instalado PHP, y configurado el servidor, podemos comenzar a escribir nuestro primer script en PHP. Para crear páginas PHP es suficiente con un editor de texto, como el Block de notas, no obstante se puede utilizar un editor de código HTML como EditPlus o HomeSite, los cuales permiten escribir código PHP de manera más fácil ya que identifican los bloque de código que son distinguidos con los delimitadores, una de las ventajas de estos editores es que funcionan muy bien en equipos de bajo rendimiento. Si requerimos un editor de páginas tipo WYSWYG (What you see, What you get), se pueden utilizar herramientas como Adobe Dreamweaver o Microsoft Frontpage. El mecanismo de solicitud y entrega de una página php al navegador web es la siguiente: el navegador solicita al servidor cierta página con extensión .php, luego el PHP en el servidor interpreta el contenido del archivo, dejando el código HTML intacto y ejecutando el código en lenguaje PHP, el cual da como resultado código HTML. Por lo tanto, el código PHP se encuentra embebido en el código HTML. El código resultante en HTML es enviado de vuelta al navegador. Es por esto que el PHP es independiente del navegador que se esté utilizando, siempre se va a poder ver el resultado, ya que el mismo está constituido sólo por código HTML, el cual el navegador puede interpretar sin problemas.

Ahora, hagamos nuestro primer script en PHP. Ejemplo 1: script en PHP Nombre del archivo: Prueba.php



Material elaborado por CENEAC Producciones, C.A. Prohibida su reproducción total o parcial sin autorización del Autor. 14

CENEAC - PHP MySQL Nivel 1 Una vez escrito se almacena en un archivo con la extensión php, y lo colocamos en el directorio creado para la ejecución de las páginas PHP. Para ejecutar el script, cargamos el URL http://localhost/directorio/prueba.php en el navegador y veremos el texto siguiente en el cuerpo de la página: Hola. Este es mi primer script en PHP Lo primero que apreciamos en el script son sus delimitadores. En la primera línea del script se observa para indicar el final. Hay que destacar que todas las líneas que se encuentre entre estos delimitadores terminan en punto y coma, excepto las sentencias de control (if, switch, while, for, entre otras). Como en toda programación, es importante poner comentarios. Para indicar como comentario una sola línea se debe colocar al principio de la línea //, si lo que se quiere es comentar varias utilizaremos los delimitadores /* y */ al principio y al final. La instrucción echo, permite enviar texto al navegador que solicitó la página, aunque también podemos utilizar printf de uso similar al del C o Perl. Finalmente, se observa en el script que la palabra myvar comienza con el signo dólar ($) este símbolo le indica a PHP que es una variable. Nosotros le hemos asignado un texto a esta variable, pero también pueden contener números o arreglos. Es importante destacar que todas las variables comienzan con el signo dólar.

2.1. Tipos de datos PHP soporta ocho tipos primitivos.  Cuatro tipos escalares: boolean, integer, float (número de punto flotante, también conocido como “double”), string.  Dos tipos compuestos: array, object.  Dos tipos especiales: resource, NULL. Es importante destacar que usualmente las variables no se inicializan con un tipo de datos. Esto se determina en tiempo de compilación dependiendo del contexto en el que se utilizada la variable. Si se quiere determinar el tipo de datos para una variable, se puede utilizar la función settype() sobre ella. Ejemplo 2: Ejemplo de settype() Nombre del archivo: settype.php

Veamos entonces los cuatro tipos escalares:

Material elaborado por CENEAC Producciones, C.A. Prohibida su reproducción total o parcial sin autorización del Autor. 15

CENEAC - PHP MySQL Nivel 1

2.1.1. Booleanos o Lógicos (boolean) Para definir una variable booleana, se debe colocar alguna de las palabras claves (constantes en PHP) TRUE o FALSE, dependiendo del caso. Se pueden escribir tanto en mayúsculas como en minúsculas, como se vio en el Ejemplo 2.

2.1.2. Enteros (integer) Los enteros se pueden especificar usando una de las siguientes sintaxis: Descripción Número decimal Un número negativo Número octal (equivalente al 83 decimal) Número hexadecimal (equivalente al 18 decimal)

Instrucción $a = 1234 $a = -123 $a = 0123 $a =0x12

2.1.3. Números en punto flotante (float) Los números en punto flotante ("double" ó también conocidos como números reales) se pueden especificar utilizando cualquiera de las siguientes sintaxis: $a = 1.234; $a = 1.2e3;

2.1.4. Cadenas (string) Una cadena o valor string está conformado por una serie de caracteres. El único operador de cadenas que existe, es el de concatenación, que representa con el carácter punto. Los datos del tipo cadena disponen de toda una gama de funciones para la manipulación de este tipo de objeto. Ejemplos de cadenas $a = "Hola";

Descripción Asigna la cadena “Hola” a la variable $a

$b = $a . " Mundo"; echo = 'Hola $a';

Concatena el contenido de la variable $a con la cadena “ Mundo” y el resultado se lo asigna a la variable $b Escribe en el cuerpo de la página el texto: Hola $a

echo = "$a \n Mundo";

Escribe en el cuerpo de la página el texto: Hola Mundo

Si la cadena está encerrada entre dobles comillas ( " ), las variables que estén dentro de la cadena serán expandidas (sujetas a ciertas limitaciones de interpretación). Como en C y en Perl, el carácter de barra invertida ( " \ " ) se puede usar para especificar caracteres especiales.

Carácter \n \r \t

Caracteres protegidos Descripción Carácter \\ Nueva línea \$ Retorno de carro \” Tabulación horizontal

Descripción Barra invertida Símbolo Dólar Comillas dobles

Material elaborado por CENEAC Producciones, C.A. Prohibida su reproducción total o parcial sin autorización del Autor. 16

CENEAC - PHP MySQL Nivel 1

2.2. Variables Como se ha observado anteriormente todas la variables deben ser precedidas por el signo dólar ($), y le asignamos el contenido con el signo igual (=). PHP es un lenguaje “Case Sensitive”, distingue entre mayúsculas y minúsculas, por lo que no es lo mismo $myvar que $Myvar, éstas son dos variables totalmente distintas. Se debe comenzar el nombre de la variable con una letra o una raya (underscore), y luego puede ser seguido de cualquier cantidad de números, letras y rayas. Ejemplo 3: Nombre del archivo: varia.php



// imprime SEVILLA // esto es un error, POR QUE?

2.3. Constantes Las constantes son similares a las variables, con la salvedad, de que no llevan el signo dólar delante, y sólo la podemos asignar una vez. Para definir una constantes usaremos la función define como se muestra en el siguiente ejemplo: Ejemplo 4: Nombre del archivo: const.php



PHP define varias constantes y proporciona un mecanismo para definir aun más en tiempo de ejecución. Las constantes son como las variables, salvo por las dos circunstancias de que las constantes deben ser definidas usando la función define(), y que no pueden ser redefinidas más tarde con otro valor. La siguiente tabla describe algunas de las constantes predefinidas en PHP Constantes predefinidas (siempre disponibles) Constante

Descripción

__FILE__

El nombre del archivo de comandos que está siendo interpretado actualmente. Si se usa dentro de un archivo que ha sido incluido o requerido, entonces se da el nombre del archivo incluido, y no el del archivo padre.

__LINE__

El número de línea dentro del archivo que está siendo interpretado en la actualidad. Si se usa dentro de un archivo incluido o requerido, entonces se da la posición dentro del archivo incluido.

Material elaborado por CENEAC Producciones, C.A. Prohibida su reproducción total o parcial sin autorización del Autor. 17

CENEAC - PHP MySQL Nivel 1 PHP_VERSION

La cadena que representa la versión del analizador de PHP en uso en la actualidad.

PHP_OS

El nombre del sistema operativo en el cuál se ejecuta el analizador PHP.

TRUE

Valor verdadero.

FALSE

Valor falso.

E_ERROR

Denota un error distinto de un error de interpretación del cual no es posible recuperarse.

E_WARNING

Denota una condición donde PHP reconoce que hay algo erróneo, pero continuará de todas formas; pueden ser capturados por el propio archivo de comandos.

E_PARSE

El intérprete encontró sintaxis inválida en el archivo de comandos. La recuperación no es posible.

E_NOTICE

Ocurrió algo que pudo ser o no un error. La ejecución continúa. Los ejemplos incluyen usar una cadena sin comillas como un índice "hash", o acceder a una variable que no ha sido inicializada.

E_*

Constantes se usan típicamente con la función error_reporting() para configurar el nivel de informes de error.

Ejemplo 5: Uso de constantes. Nombre del archivo: const2.php

2.4. Operadores 2.4.1. Operadores Aritméticos Operador

Descripción

Operador

Descripción

$a + $b

Suma

$a / $b

División

$a - $b

Resta

$a++

Suma 1 a $a

$a * $b

Multiplicación

$a--

Resta 1 a $a

2.4.2. Operadores de Cadenas Operador $a = 'Hola'; $b = "Mundo"; $c = $a . $b;

Descripción La variable $c contiene la concatenación del contenido de la variable $a con el de $b

Material elaborado por CENEAC Producciones, C.A. Prohibida su reproducción total o parcial sin autorización del Autor. 18

CENEAC - PHP MySQL Nivel 1

2.4.3. Operadores de Comparación Operador $a < $b $a > $b $a = $b $a == $b $a != $b $a === $b

Descripción $a menor que $b $a mayor que $b $a menor o igual que $b $a mayor o igual que $b $a igual que $b $a distinto que $b $a es idéntico a $b (coinciden en contenido y tipo de datos)

2.4.4. Operadores Lógicos Operador $a AND $b $a && $b $a OR $b $a || $b $a XOR $b !$a

Descripción Verdadero si ambos son verdadero Verdadero si ambos son verdadero Verdadero si alguno de los dos es verdadero Verdadero si alguno de los dos es verdadero Verdadero si sólo uno de los dos es verdadero Verdadero si $a es falso, y recíprocamente

2.4.5. Operadores de Asignación Operador Descripción $a = $b Asigna a $a el contenido de $b $a += $b Le suma a $b a $a $a -= $b Le resta a $b a $a $a = (condición) ? "verdadero" : "falso";

Operador Descripción $a *= $b Multiplica $a por $b y lo asigna a $a $a /= $b Divide $a por $b y lo asigna a $a $a .= $b Añade la cadena $b a la cadena $a Asignación condicional

Para demostrar el uso de algunos operadores, se mostrarán a continuación algunos ejemplos en PHP: Ejemplo 6: El siguiente programa calcula el salario de un trabajador con un impuesto. Nombre del archivo: salario.php



Ejemplo 7: Programa en PHP que calcula el área de un triangulo cuya formula es a = ( b*h ) / 2 Nombre del archivo: area.php



Ejemplo 8: Programa que dados 2 números calcula la suma, resta, multiplicación, división y módulo. Nombre del archivo: operacionesbasicas.php



ltrim

string ltrim ( string cad)

");

Esta función elimina el espacio en blanco del principio de una cadena y devuelve la cadena resultante.

rtrim

string rtrim (string cad)

Devuelve la cadena cad sin los espacios en blanco que estén ubicados a la derecha.

substr_rep lace

string substr_replace ( string cadena, string sustituto, int comienzo [, int largo])

Sustituye la parte de cadena delimitada por los parámetros comienzo y (opcionalmente) largo por la cadena dada en sustituto. Se devuelve el resultado. Si comienzo es positivo, la sustitución comenzará en dicha posición dentro de la cadena. Si comienzo es negativo, la sustitución comenzará en dicha posición pero contando desde el final de cadena.

ucfirst

string ucfirst ( string cad)

Convierte en mayúsculas el primer carácter de cad si es alfabético. Nótese que 'alfabético' está determinado por la localidad actual

ucwords

string ucwords ( string cad)

Pasa a mayúsculas la primera letra de cada palabra en cad si dicho carácter es alfabético.

Material elaborado por CENEAC Producciones, C.A. Prohibida su reproducción total o parcial sin autorización del Autor. 33

CENEAC - PHP MySQL Nivel 1 Función

Sintaxis

wordwrap

string wordwrap ( string cad [, int ancho [, string ruptura]])

Descripción Corta la cadena cad en la columna especificada por el parámetro (opcional) ancho. La línea se rompe utilizando el parámetro (opcional) ruptura. Automáticamente cortará en la columna 75 y usará '\n' (nueva línea) si no se especifican el ancho o la ruptura.

nl2br

string nl2br ( string cadena)

Devuelve la cadena con '
' insertados antes de cada nueva línea.

ord

int ord ( string cadena)

Devuelve el valor ASCII del primer carácter de cadena. Esta función complementa a chr().

chop

string chop ( string cad)

Devuelve la cadena argumento sin los espacios sobrantes, incluyendo los saltos de línea.

strip_tags

string strip_tags ( string cad [, string etiq_permitidas])

Esta función intenta eliminar todas las etiquetas HTML y PHP de la cadena dada. Causa error por precaución en caso de etiquetas incompletas o falsas.

Material elaborado por CENEAC Producciones, C.A. Prohibida su reproducción total o parcial sin autorización del Autor. 34

CENEAC - PHP MySQL Nivel 1 Función

Sintaxis

strpos

int strpos ( string cadena, string texto [, int desplazamiento])

Descripción Devuelve la posición numérica que ocupa la primera aparición del segundo parámetro (texto) en la cadena original (cadena). Si el texto no es hallado, devuelve FALSE.

strrchr

string strrchr ( string cadena, string texto)

Esta función devuelve una subcadena del primer parametro “cadena” que comienza en la última aparición del segundo parámetro “texto” en la cadena y continúa hasta el final de la misma. Devuelve FALSE si el “texto” no es encontrado. Si el “texto” contiene más de un carácter, sólo se usará el primero. Si el “texto” no es una cadena, se convierte a entero y se usa como código de un carácter ASCII.

substr_count

int substr_count ( string cadena, string texto)

Devuelve el número de veces que la subcadena “texto” se encuentra en la cadena “cadena”.

split

array split ( string patrón, string cadena [, int limite] )

Devuelve un arreglo de cadenas, cada una de las cuales es una subcadena formada al dividir esta en los límites formados por la expresión regular patrón. Si ocurre un error, devuelve un valor falso.

Material elaborado por CENEAC Producciones, C.A. Prohibida su reproducción total o parcial sin autorización del Autor. 35

CENEAC - PHP MySQL Nivel 1

2.10. Funciones para manipulación de fecha y hora A continuación veremos las principales funciones relacionadas con la hora y la fecha.

2.10.1 time Devuelve el número de segundos transcurridos desde el 1 de Enero de 1970. A esta forma de expresar fecha y hora se le denomina timestamp.

2.10.2. mktime (hora, min, seg, mes, día, año) La función mktime devuelve el valor timestamp a partir de los parámetros dados. Ejemplo 23: como obtener el tiempo (expresado en horas, minutos y segundos) de diferencia entre dos horas dadas. Nombre del archivo: restar_horas.php

2.10.3 date (formato, timestamp) La función date devuelve una cadena en formato de fecha, de acuerdo a un formato establecido y a un valor timestamp, con respecto a la zona horaria establecida en el servidor. El primer parámetro representa el formato (ver cuadro abajo) y el segundo parámetro representa el valor en segundos a formatear. Si no le pasamos la variable timestamp nos devuelve la cadena formateada para la fecha y la hora actual. Los principales códigos de formato para la función date son: Código a A d D F h H i L

Descripción Código am o pm j AM o PM t Día del mes con ceros m Abreviatura del día de la semana (inglés) M Nombre del mes (inglés) s Hora en formato 1-12 y Hora en formato 0-23 Y Minutos z Indica si el año es bisiesto. Devuelve 1 si l es bisiesto, 0 en caso contrario. (L minúscula)

Descripción Día del mes sin ceros (1-31) Número de días en el mes dado. Número de mes (1-12) Abreviatura del mes (inglés) Segundos con ceros iniciales Año con 2 dígitos Año con 4 dígitos Día del año (1-365) Día de la semana (Sunday a Saturday)

Para consultar los demás códigos, se sugiere visitar el siguiente URL: Material elaborado por CENEAC Producciones, C.A. Prohibida su reproducción total o parcial sin autorización del Autor. 36

CENEAC - PHP MySQL Nivel 1 http://ve2.php.net/manual/es/function.date.php

Para ver algunos ejemplos supongamos que hoy es 31 de marzo de 2009 y que son las 14 horas 30 minutos y 22 segundos:  date("d-m-Y") -> 31-03-2009  date("H:i:s") -> 14:30:22  date("Y")

-> 2009

 date("YmdHis") -> 20090331143022  date("d/m/Y h:i a") -> 31/03/2009 2:30 pm

2.10.4. date_default_timezone_set (zona_horaria) Para establecer la zona horaria a utilizar para todas las funciones de fecha y hora se utiliza la función date_default_timezone_set(), la cual recibe como parámetro un string que representa la zona horaria a utilizar: America/Buenos_Aires

America/Chicago

Asia/Tel_Aviv

America/Jamaica

America/Los_Angeles

Australia/Sydney

America/Mazatlan

America/Caracas

Europe/Amsterdam

America/La_Paz

America/Mexico_City

Europe/Zurich

America/Puerto_Rico

Asia/Dubai

Europe/Rome

America/Santo_Domingo

Asia/Qatar

Pacific/Galapagos

America/Sao_Paulo

Asia/Seoul

Japan

Puede consultar las zonas horarias disponibles en este enlace: http://ve2.php.net/manual/es/timezones.php

También puede establecer la zona horaria a través del archivo de configuración de php (php.ini) mediante la siguiente directiva: date.timezone

2.10.5. srftime (formato, timestamp) La función strftime devuelve una cadena en formato de fecha, de acuerdo a un formato establecido y a un valor timestamp en el idioma establecido en la localidad actual, definida a través de la función setLocale() Los principales códigos de formato para esta función son: Código %a %A %b Código %B

Descripción Nombre abreviado del día de la semana de acuerdo a la localidad actual Nombre completo del día de la semana de acuerdo a la localidad actual Nombre abreviado del mes de acuerdo a la localidad actual Descripción Nombre completo del mes de acuerdo a la localidad actual

Material elaborado por CENEAC Producciones, C.A. Prohibida su reproducción total o parcial sin autorización del Autor. 37

CENEAC - PHP MySQL Nivel 1 %d %m %y %Y %I %M %S

Día del mes como un número decimal (rango 01 a 31) Mes como un número decimal (rango 01 a 12) Año como un número decimal sin la centuria (rango 00 a 99) Año como un número decimal incluyendo la centuria Hora como número decimal usando un reloj de 12 horas (rango 01 a 12) Minuto como un número decimal Segundo como un número decimal

Para definir la localidad actual veamos el uso de la función setLocale().

2.10.6. setLocale (categoria, localización) La categoría es una constante que especifica cuales serán las funciones afectadas por el ajuste de localización:  LC_ALL para todas las funciones  LC_COLLATE para la comparación de cadenas.  LC_CTYPE para la conversión y clasificación de caracteres, como por ejemplo strtoupper()

 LC_MONETARY para localeconv(): http://ve2.php.net/manual/es/function.localeconv.php  LC_NUMERIC para el separador decimal (vea también localeconv())

 LC_TIME para el formateo de fecha y hora con strftime() La localización corresponde a una cadena que especifica el idioma: Localizacion esp eng ita fra

Descripción Español Ingles Italiano Frances

Puede consultar más sobre esta función en el siguiente enlace: http://ve2.php.net/manual/es/function.strftime.php

Ejemplo 24: Uso de la función setLocale() y strftime(). Nombre del archivo: formatear_fecha.php

Material elaborado por CENEAC Producciones, C.A. Prohibida su reproducción total o parcial sin autorización del Autor. 38

CENEAC - PHP MySQL Nivel 1

2.10.7. checkdate (mes, día, año) La función checkdate comprueba si una fecha es válida, si es así devuelve TRUE y si no lo es FALSE. Una fecha se considera válida si el año está entre 1900 y 32767, el mes entre 1 y 12, y el día es menor o igual que número de días total del mes en cuestión. Ejemplo 25: Uso de la función checkdate(). Nombre del archivo: validar_fecha.php

Para el ejemplo anterior nos daría que la fecha es incorrecta, febrero nunca tiene un día 31. Ejercicios: Desarrolle las siguientes páginas Web. 1. Dada una dirección de correo electrónico (de la forma [email protected]) almacenada en una variable, verifique si dicha dirección es sintácticamente correcta, cumpliendo los siguientes requerimientos: a. Debe poseer el carácter ‘ @ ‘ b. El login debe tener entre 3 y 6 caracteres. c. El dominio debe tener entre 1 y 10 caracteres. d. Debe poseer el carácter ‘ . ‘ e. Luego del punto solo debe aparecer la cadena “com”. 2. Dada una fecha almacenada en un objeto tipo fecha, indique si corresponde con un año bisiesto o no. 3. Indique cuantos días han transcurrido del año actual. 4. Dadas dos fechas almacenadas en dos objetos del tipo fecha, verifique cuantos días de diferencia existe entre una fecha y otra. 5. Adapte el ejercicio anterior para que calcule la cantidad de días transcurrido desde su fecha de nacimiento y la fecha actual.

Material elaborado por CENEAC Producciones, C.A. Prohibida su reproducción total o parcial sin autorización del Autor. 39

CENEAC - PHP MySQL Nivel 1

TEMA 3.

FORMULARIOS Los formularios no forman parte del lenguaje PHP, sino del lenguaje HTML, pero es necesario conocer sus elementos básicos, ya que después que un usuario interactúa con una página Web, el procesamiento de la información colocada en los campos de un formulario será a través de PHP. Es decir, la manera en la que un usuario introduce datos de entrada a la aplicación generalmente es por medio del uso de formularios HTML. Nota: Antes de empezar a conocer la sintáxis del formulario y sus objetos, es necesario recordar que en una página web se debe especificar la codificación de caracteres (charset) que soportará la misma, a fin de que acepte ciertos caracteres como los acentos. En nuestros ejemplos no colocamos la etiqueta que define la codificación y por esta razón en verán algunos simbolos html que sustituyen a los caracteres acentuados para su correcta visualización.

3.1 Etiqueta Formulario (Form) Todo formulario empieza con la etiqueta:



En el parámetro action indicamos a que página o script van a ser enviados los datos recopilados en el formulario para que sean procesados. El parámetro method indica la manera como serán enviados los datos. Puede ser por medio de dos métodos: GET y POST. En el método GET, los datos son enviados al servidor mediante un query string, es decir, son enviados por el URL siguiendo un formato predeterminado, por ejemplo: http://www.dominio.com/index.php?variable1=valor1&variable2=valor2&...&variableN=valorN

Tiene la restricción de solo aceptar un número finito de caracteres en el URL, y su principal uso es el de facilitar la navegación de las páginas en los links. En el método POST, los datos son enviados al servidor en la negociación entre el cliente y el servidor, no en el URL. Esta es la forma más segura de enviar información ya que no se muestran al usuario datos que pueden llegar a ser delicados. Existen ciertas variables predeterminadas de PHP que nos permiten manejar los datos enviados por un formulario. Estas variables son los arreglos $_GET, $_POST y $_REQUEST.  Si en un formulario se usa el método GET, las variables son colocadas en el arreglo $_GET.  Si en un formulario se usa el método POST, las variables son colocadas en el arreglo $_POST.  El arreglo $_REQUEST obtiene las variables pasadas por ambos métodos. Por ejemplo, consideremos el siguiente ejemplo donde recogemos los datos “nombre” y “email” en un formulario y estos son impresos en la siguiente página:

Material elaborado por CENEAC Producciones, C.A. Prohibida su reproducción total o parcial sin autorización del Autor. 40

CENEAC - PHP MySQL Nivel 1 Ejemplo 26: Envio de datos a través de un formulario Nombre del archivo: formulario.html

Nombre: Email:



Nombre del archivo: procesar.php



Se procede de manera equivalente cuando el método utilizado es POST. La etiqueta indica el final del formulario. Todos los campos de entrada deben estar dentro del espacio limitado por las etiquetas y . Los campos de datos que pueden introducirse dentro de un formulario son:

3.2 Cuadro de texto (input text) Este tipo de campo permite introducir texto, solamente en una línea. Sintaxis de la etiqueta:

Atributos de la etiqueta:  type: indica que su tipo es texto  name: nombre que se le da al campo  value: valor por defecto que tendrá el campo  size: tamaño que tendrá el campo  maxlength: cantidad máxima de caracteres que pueden ser ingresados  readonly: atributo de sólo lectura Veamos un ejemplo con PHP:

Material elaborado por CENEAC Producciones, C.A. Prohibida su reproducción total o parcial sin autorización del Autor. 41

CENEAC - PHP MySQL Nivel 1 Ejemplo 27: Uso del campo de texto. Nombre del archivo: equipo.html

Equipo Favorito

Cuál es tu equipo de fúbol favorito?






Nombre del archivo: verequipo.php



Se debe poner atención al parámetro name de un elemento del formulario ya que es el mismo nombre con el que se referenciará la variable en PHP, como se pudo observar en el ejemplo anterior, el elemento se maneja en PHP como $_POST[“equipo”]. De la misma manera se trabaja con todos los elementos de formularios.

3.3 Cuadro de texto con barras de desplazamiento (textarea) Este tipo de campo permite introducir texto pero en varias líneas, a diferencia del cuadro de texto normal que solo permite una línea. Sintaxis de la etiqueta: Es de color rojo

Atributos de la etiqueta:  name: nombre que se le da al campo

Es de color rojo

 value: valor por defecto que tendrá el campo  cols: número de columnas  rows: número de filas

Material elaborado por CENEAC Producciones, C.A. Prohibida su reproducción total o parcial sin autorización del Autor. 42

CENEAC - PHP MySQL Nivel 1 Ejemplo 28: Programa PHP que pide al usuario sus sitios web favoritos y los muestra como salida. Nombre del archivo: sites.html

Sitios Web Favoritos

Indica tus sitios web favoritos:


http:// http:// http://



Nombre del archivo: sites.php

Tus sitios web favoritos son:




3.4 Casilla de verificación (checkbox) Las casillas de verificación permiten al usuario seleccionar de un conjunto una o más opciones. Sintaxis de la etiqueta:

Atributos de la etiqueta:  type: indica que su tipo es checkbox  name: nombre que se le da al campo  value: valor que se envía cuando la opción se encuentra seleccionada  checked: indica que la casilla de verificación aparecerá seleccionada por defecto.

Material elaborado por CENEAC Producciones, C.A. Prohibida su reproducción total o parcial sin autorización del Autor. 43

CENEAC - PHP MySQL Nivel 1 Ejemplo 29: Programa que pregunta lo que haces al levantarte y lo despliega como salida. Nombre del archivo: checkboxes.html

Tareas al levantarse

Qué haces cuando te levantas?



Lavarme la cara

Cepillarme los dientes

Desayunar





Nombre del archivo: checkboxes.php

Tus tareas al levantarte son:




3.5 Botón de opción (radio button) Este tipo de campo permite seleccionar solamente una opción de un conjunto de ellas. Hay que tomar en cuenta que todas las opciones que pertenecen al mismo conjunto deben tener el mismo nombre. Sintaxis de la etiqueta:

Todas las opciones del mismo conjunto deben llamarse de la misma forma Atributos de la etiqueta:  type: indica que su tipo es radio  name: nombre que se le da al campo  value: valor de la opción  checked: si aparece escrito, le indica al botón que la opción ha sido seleccionada Por ejemplo, si se quiere colocar dos botones de opción para representar los valores Masculino y Femenino, las instrucciones serían: Material elaborado por CENEAC Producciones, C.A. Prohibida su reproducción total o parcial sin autorización del Autor. 44

CENEAC - PHP MySQL Nivel 1

Ejemplo 30: Programa que presenta una suma, y se debe elegir la respuesta entre tres opciones posibles y la salida muestra la opción seleccionada e indica si es la correcta. Nombre del archivo: radio.html

Suma

Cuál es el resultado de 2+2?

44
22
4





Nombre del archivo: radio.php