funciones en un portal

33
FUNCIONES EN UN PORTAL CONFIGURACION Y VERSIONES DEL SOFTWARE PHP Versión 5.0.3 Nos creamos una carpeta en el sitio donde queramos instalar los archivos del servidor (PHP, MySQL…), por ejemplo nos creamos una carpeta en la raíz del disco duro y que quede así: C:\ Servidor\ Dentro de esta carpeta nos creamos otra carpeta y la llamamos PHP. Luego extraemos los archivos del ZIP dentro de esa carpeta PHP, tal que los contenidos del ZIP quedarán dentro de la ruta C:\Servidor\PHP\ Y ahora hay que tomar todos los archivos DLL localizados en la carpeta principal C:\Servidor\PHP\ y copiarlos al directorio System (en Windows 9x) o System32 (NT, 2000, XP, 2003) de la carpeta del Windows (los archivos DLL contenidos en la carpeta EXT no hace falta copiarlos). El siguiente paso es configurar el php.ini. Renombramos o copiamos el archivo C:\Servidor\PHP\php.ini-dist y le ponemos php.ini Ahora lo editamos con el mismo block de notas. Si lo necesitáramos (lee antes la explicación), editamos la línea register_globals = Off y la colocamos el valor: register_globals = On ¿Qué hago con Register_Globals? ¿On u Off? Activar esta directiva nos permite asumir que las variables son globales y pueden llegar por cualquier método (POST, GET, COOKIE, SERVER, etc). Así, por ejemplo, si utilizamos una variable global de sesión o cookie se puede suplantar fácilmente mediante una variable por url, con lo cual nuestro script no es seguro. Un buen programador de PHP tendría la directiva en OFF y usaría los arrays globales ($HTTP_X_VARS) o los superglobales $_POST, $_GET, etc., que están disponibles a partir de la versión 4.1.X de PHP. ¿Y por qué? Pues por esos temas de seguridad en los script y porque debemos acostumbrarnos a no manejar variables globales ya que en un futuro el PHP tendrá la opción en OFF por defecto y no podremos cambiarla. Sin embargo, por temas de compatibilidad con script Configuraciones y Versiones del Software 1

Upload: manuel

Post on 13-Dec-2015

220 views

Category:

Documents


0 download

DESCRIPTION

La investigación hace referencia en si a elementos que intervienen en las funciones de un portal, que son diversas y requieren tener conociendo de distintas áreas, para poder saber manejarlas, entenderlas y poderlas echar en practica.En esta investigación se darán a conocer y explicar diversos y posiblemente no todos los puntos que deben interactuar en el funcionamiento de un portal, para que este funcione correctamente y no se tenga problemas en su elaboración y posteriormente si activaciónLa metodología del manejo de información para esta investigación se realizo recolectando información de diferentes páginas de internet como documentos, redacciones, presentaciones, otras investigaciones, blogs de personas dando a conocer sus conocimientos sobre el tema entre otros.

TRANSCRIPT

Page 1: Funciones en Un Portal

FUNCIONES EN UN PORTAL

CONFIGURACION Y VERSIONES DEL SOFTWARE

PHP Versión 5.0.3Nos creamos una carpeta en el sitio donde queramos instalar los archivos del servidor (PHP, MySQL…), por ejemplo nos creamos una carpeta en la raíz del disco duro y que quede así: C:\Servidor\ Dentro de esta carpeta nos creamos otra carpeta y la llamamos PHP. Luego extraemos los archivos del ZIP dentro de esa carpeta PHP, tal que los contenidos del ZIP quedarán dentro de la ruta C:\Servidor\PHP\

Y ahora hay que tomar todos los archivos DLL localizados en la carpeta principal C:\Servidor\PHP\ y copiarlos al directorio System (en Windows 9x) o System32 (NT, 2000, XP, 2003) de la carpeta del Windows (los archivos DLL contenidos en la carpeta EXT no hace falta copiarlos).

El siguiente paso es configurar el php.ini. Renombramos o copiamos el archivo C:\Servidor\PHP\php.ini-dist y le ponemos php.ini Ahora lo editamos con el mismo block de notas. Si lo necesitáramos (lee antes la explicación), editamos la línea register_globals = Off y la colocamos el valor: register_globals = On

¿Qué hago con Register_Globals? ¿On u Off?

Activar esta directiva nos permite asumir que las variables son globales y pueden llegar por cualquier método (POST, GET, COOKIE, SERVER, etc). Así, por ejemplo, si utilizamos una variable global de sesión o cookie se puede suplantar fácilmente mediante una variable por url, con lo cual nuestro script no es seguro. Un buen programador de PHP tendría la directiva en OFF y usaría los arrays globales ($HTTP_X_VARS) o los superglobales $_POST, $_GET, etc., que están disponibles a partir de la versión 4.1.X de PHP. ¿Y por qué? Pues por esos temas de seguridad en los script y porque debemos acostumbrarnos a no manejar variables globales ya que en un futuro el PHP tendrá la opción en OFF por defecto y no podremos cambiarla. Sin embargo, por temas de compatibilidad con script antiguos o que hagan uso de variables globales, podría interesarnos activar esta característica, pero repito que lo deseable sería tenerla en OFF y hacer uso de los arrays globales o superglobales.

A continuación vamos a indicar a PHP dónde se guardan las extensiones. Dentro del php.ini buscamos extension_dir y le ponemos la carpeta que contiene los archivos php_xxx.dll, que por defecto es la carpeta ext dentro de PHP. Importante: durante toda la configuración de directorios, debes utilizar esta barra "/" y no esta "\", además de ponerlo entre comillas. O sea, que debe quedar así:

; Directory in which the loadable extensions (modules) reside.extension_dir = "C:/Servidor/PHP/ext/"

Además podemos activar las extensiones que queramos o necesitemos, para lo cual buscamos Windows Extensions y para cargar las extensiones les quitamos el; de

Configuraciones y Versiones del Software 1

Page 2: Funciones en Un Portal

FUNCIONES EN UN PORTAL

delante. Por ejemplo, si quisiéramos cargar la extensión gd2.dll (para manejar las funciones PHP relativas a imágenes) deberíamos cambiar; extension=php_gd2.dll por extension=php_gd2.dll

Puedes ver para qué sirve cada extensión en el Manual oficial de PHP. Como nota adicional, resaltar que hay algunas extensiones que requieren de librerías extra que no vienen en el paquete completo de PHP, y para hacerlas funcionar tendremos que buscar dichas librerías. No actives todas las librerías a diestro y siniestro porque luego saldrán errores de que no se encuentra tal archivo; antes de instalar una librería, comprueba que en la carpeta de PHP tienes los archivos DLL correspondientes.

Importante: la librería php_mysql.dll es la que permite manejar las funciones relacionadas con MySQL, y por defecto en PHP5 viene desactivada, por tanto vamos a activarla de la forma que indicamos antes: buscamos ;extension=php_mysql.dll y le quitamos el ; de delante.

Ahora, si vamos a hacer pruebas con upload de archivos vía HTTP, debemos indicar el directorio donde los archivos se almacenarán temporalmente. Para ello buscamos upload_tmp_dir y le damos el valor de una carpeta que exista. Por ejemplo, en nuestro directorio C:\Servidor\PHP\ creamos una carpeta uploads, por lo que quedará algo así:

; Temporary directory for HTTP uploaded files (will use system default if not; specified).upload_tmp_dir = "C:/Servidor/PHP/uploads/"

Si queremos cambiar el tamaño máximo de los archivos que pueden subirse vía HTTP, buscamos upload_max_filesize y cambiamos el valor por defecto que trae, 2M (2 MB), por el que queramos. No se recomienda poner un valor alto.

; Maximum allowed size for uploaded files.upload_max_filesize = 2M

Para trabajar con sesiones, debemos especificar un directorio donde se guarden los archivos temporales. Al igual que 2 pasos antes, buscamos session.save_path y le damos el valor de un directorio que exista (o lo creamos):

session.save_path = "C:/Servidor/PHP/sessions/"

A continuación copiamos el php.ini a la carpeta C:\Windows\ o C:\WinNT\ según nuestra versión de Windows, y listo.

Apache

Organización Del Sitio Web.La organización que realizaremos de nuestro servidor Apache, será la clásica en los sistemas Unix: la página web de la intranet se almacenará en la carpeta raíz del servidor

Apache 2

Page 3: Funciones en Un Portal

FUNCIONES EN UN PORTAL

web, las páginas de los usuarios se almacenarán en la carpeta home de cada usuario y para albergar las páginas web de los distintos departamentos, lo más práctico es crear nuevos usuarios con el nombre del departamento.

Instalación de Apache2.Disponer de un servidor web nos permitirá alojar nuestras propias páginas y aplicaciones web de forma que den servicio tanto desde dentro de la intranet como desde Internet. Serán la base que facilitará el acceso a la información.

"apt-get install apache2"

Con lo cual se instalarán los archivos necesarios para que funcione nuestro servidor web. Se instalará apache v2.

Configuración De Apache.Los archivos de configuración de apache2 se encuentran en la carpeta /etc/apache2. El archivo principal de configuración es /etc/apache2/apache2.conf. Antes de realizar cualquier cambio en este archivo, es conveniente realizar una copia de seguridad del mismo ya que si apache encuentra algún error en el archivo de configuración, no arrancará. Se pueden configurar infinidad de parámetros. Aquí, para poner en marcha el servidor, editaremos el archivo apache2.conf y añadiremos únicamente el siguiente parámetro:

ServerName www.ieslapaloma.com

Para que los PCs de la red local sepan que www.ieslapaloma.com es nuestro servidor web, debemos crear una entrada 'www' hacia su dirección IP en el servidor DNS. Si no, no quedará más remedio que acceder utilizando la dirección IP del servidor.

Arranque Y Parada Del Servidor Web Apache.El servidor web apache2, al igual que todos los servicios en Debían, dispone de un script de arranque y parada en la carpeta /etc/init.d. // Arrancar o reiniciar el servidor apache2 /etc/init.d/apache2 restart

// Parar el servidor apache /etc/init.d/apache2 stop

Espacio Web Para La Intranet.Por defecto, la carpeta raíz del servidor web es la carpeta /var/www. Todos los documentos que se encuentren dentro de la carpeta raíz del servidor web, serán accesibles vía web. Dentro del raíz de documentos crearemos la página web de nuestra intranet.

Instalación de Apache2 3

Page 4: Funciones en Un Portal

FUNCIONES EN UN PORTAL

Carpeta Principal Del Servidor Web (DocumentRoot).- Carpeta raíz del servidor web: /var/www - Acceso a la web principal: http://ip-del-servidor ó http://nombre-del-servidor.

Para acceder vía web a la página almacenada en la carpeta raíz del servidor, desde un navegador debemos acceder directamente con la dirección IP a: http://ip-del-servidor o bien utilizando el nombre del mismo si tenemos el DNS funcionando: http://nombre-del-servidor. Solamente si no tenemos el DNS funcionando, podemos añadir el nombre y la IP en /etc/hosts para resolver localmente.

Desde el navegador debe aparecer un mensaje como el siguiente: It works!

Lo que siempre funcionará es ir con la dirección IP. Ejemplo, si la dirección IP de nuestro servidor fuera 192.168.1.239, podemos ir con el navegador a la dirección http://192.168.1.239 y obtendremos el mismo resultado. Podemos personalizar nuestra página modificando el archivo index.html que hay dentro de la carpeta: /var/www.

Archivos Y Directorios De Configuración.Los archivos de configuración más utilizados son: /etc/apache2/apache2.conf /etc/apache2/ports.conf

La carpeta que contiene todas la webs disponibles esta en: /etc/apache2/sites-available

Los enlaces simbólicos que habilitan las páginas web están en el directorio: /etc/apache2/sites-enabled

Configuración De Los VirtualHost.Toda la configuración de carpetas, nombres y puertos que puede el servidor mostrar se establece en el directorio /etc/apache2/sites-available/

En el directorio /etc/apache2/sites-enabled deberán estar los enlaces simbólicos a los sitos web que están habilitados, o sea los enlaces simbólicos a la carpeta /etc/apache2/sites-available/

Por defecto el fichero de configuración es /etc/apache2/sites-available/default y su contenido debe ser algo parecido a : <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/ <Directory /> Options FollowSymLinks AllowOverride None </Directory>

Instalación de Apache2 3

Page 5: Funciones en Un Portal

FUNCIONES EN UN PORTAL

<Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> </VirtualHost>

En la carpeta /etc/apache2/sites-enabled creamos el enlace: ln -s /etc/apache2/sites-available/default /etc/apache2/sites-enabled/default

Para que el apache2 cargue esta configuración se debe indicar el el fichero de configuración /etc/apache2/apache2.conf. Se debe añadir/descomentar al final del fichero apache2.conf la línia:

Include /etc/apache2/sites-enabled/

Opcionalmente podemos copiar la carpeta /var/www/apache-default a la carpeta /var/www/

MY SQL

Instalación De MySQL.Para la instalación del servidor y el cliente de mysql, debemos instalar los paquetes mysql-server, mysql-common y mysql-client mediante apt-get.

Instalación de Apache2 3

Page 6: Funciones en Un Portal

FUNCIONES EN UN PORTAL

Se instalará la versión 5 de mysql:// Instalación de mysqlsudo apt-get install mysql-server mysql-common mysql-client

Arranque Y Parada Del SGBD MySQL.El servidor de datos mysql, al igual que todos los servicios en Debían, dispone de un script de arranque y parada en la carpeta /etc/init.d.// Iniciar o reiniciar el servidor mysqlsudo /etc/init.d/mysql restart

// Parar el servidor mysqlsudo /etc/init.d/mysql stop

Arranque Automático Del Servidor MySQL Al Iniciar El Sistema.Para un arranque automático del servicio al iniciar el servidor, debemos crear los enlaces simbólicos correspondientes tal y como se indica en el apartado Trucos > Arranque automático de servicios al iniciar el sistema.

Configuración del SGBD MySQL.El archivo de configuración de mysql es el archivo:// Archivo de configuración de mysql/etc/mysql/my.cnf

En dicho archivo se configuran aspectos generales como la ruta donde se almacenarán los archivos de la base de datos, el puerto a utilizar y algún otro aspecto pero para hacer un uso normal de mysql, no es necesario realizar ninguna modificación del archivo original.

Administración del SGBD MySQL.MySQL es un SGBD completo que permite crear usuarios y establecer permisos sobre bases de datos, tablas y campos deseados a dichos usuarios. Los permisos pueden ser de consulta, inserción, modificación y borrado de datos, creación, modificación y eliminación de tablas y bases de datos y de administración de usuarios y permisos, lo que hace a mysql ser un SGBD muy flexible y muy completo.Quizás la primera acción que se debería hacer nada más arrancar el SGBD mysql sería poner una contraseña al usuario root ya que inicialmente no tiene contraseña. Para ello debemos iniciar mysql con el comando:// Iniciar el servidor de bases de datos mysqlsudo /etc/init.d/mysql start

Posteriormente iniciamos el cliente de mysql como root y cuando aparezca el prompt de mysql (mysql>) ejecutamos una orden grant para establecer la contraseña de root: // Ejecutar cliente de mysql y cambiar contraseña de root mysql u root // Accedemos sin contraseña Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 5 to server version: 4.0.20log

Arranque Y Parada Del SGBD MySQL 6

Page 7: Funciones en Un Portal

FUNCIONES EN UN PORTAL

Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> grant all privileges on *.* to root@localhost identified by 'secreta' with grant option; Query OK, 0 rows affected (0.00 sec) mysql> quitBye

De esta manera habremos puesto como contraseña de root la palabra 'secreta'. La próxima vez que entremos, debemos añadir la opción p para que nos pida la contraseña ya que de lo contrario no nos dejará entrar: // Entrando como root con contraseña mysql u root p

Ahora debemos introducir la contraseña para acceder y tener acceso global al SGBD MySQL.

PHP MyAdmin

Configuración De PHPMyAdmin.El archivo de configuración de PHPMyAdmin es el archivo:// Archivo de configuración de PHPMyAdmin/etc/phpmyadmin/config.inc.php

En dicho archivo de configuración hay que establecer los parámetros que permitirán a PHPMyAdmin conectar con mysql, que son:host

En este parámetro habrá que indicar la IP del servidor mysql. Si el servidor web y el servidor mysql son la misma máquina, se deberá poner 'localhost' ó 127.0.0.1. En el caso de que sean máquinas diferentes, se deberá poner la IP del servidor mysql.port

Aquí se especifica el puerto de conexión al servidor mysql. El puerto por defecto por el que sirve datos el servidor mysql es el 3306. Si en la configuración de mysql (archivo /etc/mysql/my.cnf) no se ha cambiado, no es necesario especificarlo ya que se usará el puerto 3306 por defecto.auth_type

Para que PHPMyAdmin pueda acceder a mysql, es necesario autentificarse. Se admiten tres formas de autentificación:

Config: permite que el nombre de usuario y la contraseña se especifiquen en el archivo config.inc.php.

Http: el usuario deberá introducir nombre y contraseña para acceder a la ruta web. Cookie: el usuario deberá introducir nombre y contraseña para acceder a la aplicación.

PHP MyAdmin 7

Page 8: Funciones en Un Portal

FUNCIONES EN UN PORTAL

User y password: en el caso de que hayamos elegido tipo de autentificación 'config', será necesario proporcionar el nombre de usuario y la contraseña con el que PHPMyAdmin accederá a mysql. En tal caso, la línea del password puede quedar comentada.

// Configuración por defecto en config.inc.phpCorresponden a las siguentes líneas en el archivo config.inc.php:$cfg['Servers'][$i]['host'] = 'localhost'; // MySQL hostname or IP $cfg['Servers'][$i]['port'] = ''; // MySQL port-blank default port$cfg['Servers'][$i]['auth_type'] = 'cookie'; // Authentication method $cfg['Servers'][$i]['user'] = 'root'; // MySQL user$cfg['Servers'][$i]['password'] = 'secreta'; // MySQL pass (only 'config')

APLICACION PHP

Variables y Constantes

Variables PHP.Los lenguajes de programación permiten la declaración de variables. Una variable no es más que una palabra clave escrita con un formato impuesto por el lenguaje, que nos permite almacenar información para su utilización, modificación e interacción entre el resto de elementos de nuestra aplicación.En PHP una variable se define de la siguiente manera:

1. $nombre_variable = 'valor';

Es obligatorio que el nombre de una variable se inicie con el caracter $, siendo éste el que le indica a PHP que estamos creando una variable. Tras el $, es obligatorio el uso de una letra o del símbolo _ (subrayado o guión bajo), los siguientes pueden ser letras, guiones bajos (_) o números. Es importante tener en cuenta que el nombre de las variables es “case sensitive” o lo que es lo mismo, sensible a mayúsculas, por lo que las siguientes dos variables son diferentes:

1. $nombre_variable = 'valor'; 2. $Nombre_variable = 'otro valor';

Cuando se declara una variable, se le da un valor inicial. Éste valor inicial está englobado en uno de los posibles tipos que PHP contempla.

Las Variables Y Los Tipos.En PHP existen 8 tipos, en la documentación oficial se explican al detalle, por lo que aquí sólo se resumirán:

PHP MyAdmin 7

Page 9: Funciones en Un Portal

FUNCIONES EN UN PORTAL

boolean: Este tipo tiene dos posibles valores: true (verdad) o false (falso). integer: Este tipo engloba los números enteros. float: Números con coma flotante… vamos los decimales de toda la vida. string: Cadenas de texto. array: Una matriz de datos. object: objectos. Es el resultado de instanciar una clase, algo que se verá cuando

lleguemos a la programación orientada a objetos en PHP. resource: Hace referencia a un recurso externo. Los usamos mucho sin saberlo:

cuando nos conectamos a una base de datos, cuando abrimos un fichero… NULL: Representa el vacío.

Las Constantes en PHP.

Una constante es, como su propio indica, una expresión cuyo valor no puede ser modificado. Si en nuestra aplicación tenemos una información que se mantiene invariable utilizaremos las constantes en lugar de las variables.Las constantes son muy utilizadas para definir rutas internas, datos de conexión a la base de datos, etc. Declararemos una constante de la siguiente manera:

1. define ('_CONSTANTE', 'valor');

El nombre de la constante, al igual que el de las variables, permite letras, números y guiones bajos. Es case sensitive y el primer carácter debe ser una letra o un guión bajo. En el caso de las constantes no utilizamos $, en su lugar se utilizó la función define que proporciona PHP. Está bastante extendido declarar las constantes con un _ delante, aunque no es obligatorio.

Operadores.

Las Constantes en PHP 9

Page 10: Funciones en Un Portal

FUNCIONES EN UN PORTAL

Operadores para strings.Existen dos operadores para datos tipo string. El primero es el operador de concatenación ('.'), el cual retorna el resultado de concatenar sus argumentos derecho e izquierdo. El segundo es el operador de asignación sobre concatenación ('.='), el cual añade el argumento del lado derecho al argumento en el lado izquierdo. Por favor consulte Operadores de asignación para más información.

Operadores de ejecución.PHP soporta un operador de ejecución: las comillas invertidas (``). ¡Note que estas no son las comillas sencillas! PHP intentará ejecutar el contenido entre las comillas invertidas como si se tratara de un comando del shell; la salida será retornada (es decir, no será simplemente volcada como salida; puede ser asignada a una variable). El uso del operador de comillas invertidas es idéntico al de shell_exec().

Las Constantes en PHP 9

Page 11: Funciones en Un Portal

FUNCIONES EN UN PORTAL

Operadores de control de errores.PHP soporta un operador de control de errores: el signo de arroba (@). Cuando se antepone a una expresión en PHP, cualquier mensaje de error que pueden ser generado por esa expresión será ignorado.Si se ha establecido una función controladora de errores personalizada con set_error_handler() entonces todavía será llamada, pero este controlador de errores personalizado puede (y debe) llamar a error_reporting() el cual devolverá 0 cuando la llamada que provocó el error fue precedida por el signo @.Si la propiedad track_errors está activada, cualquier mensaje de error generado por la expresión será guardada en la variable $php_errormsg Esta variable se sobrescribe en cada error, así que se debe comprobar antes si se desea utilizar.

Las Constantes en PHP 9

Page 12: Funciones en Un Portal

FUNCIONES EN UN PORTAL

Operadores de asignación.El operador básico de asignación es "=". Se podría inclinar a pensar primero que es como un "igual a". No lo es. Realmente significa que el operando de la izquierda se establece con el valor de la expresión de la derecha (es decir, "se define como").El valor de una expresión de asignación es el valor asignado. Es decir, el valor de "$a = 3" es de 3. Esto permite hacer algunas cosas intrincadas:

Estructuras De Control

If.El constructor if es una de las características más importantes de muchos lenguajes, incluido PHP. Permite la ejecución condicional de fragmentos de código. PHP dispone de una estructura if que es similar a la de C:if (expr) sentencia

Como se describe en la sección sobre expresiones , la expresión es evaluada a su valor booleano. Si la expresión se evalúa como TRUE, PHP ejecutará la sentencia y si se evalúa como FALSE la ignorará.

goto.El operador goto puede ser usado para saltar a otra sección en el programa. El punto de destino es especificado mediante una etiqueta seguida de dos puntos y la instrucción es dada como goto seguida de la etiqueta del destino deseado. Este goto no es completamente sin restricciones. La etiqueta de destino debe estar dentro del mismo fichero y contexto, lo que significa que no se puede saltar fuera de una función o método, ni se puede saltar dentro de uno. Tampoco se puede saltar dentro de cualquier clase de estructura de bucle o switch. Se puede saltar fuera de estos y un uso común es utilizar un goto en lugar de un break multi-nivel.

include_once.La sentencia include_once incluye y evalúa el fichero especificado durante la ejecución del script. Es un comportamiento similar al de la sentencia include, siendo la única diferencia que si el código del fichero ya ha sido incluido, no se volverá a incluir. Como su nombre lo indica, será incluido sólo una vez.include_once puede ser usado en casos donde el mismo fichero podría ser incluido y evaluado más de una vez durante una ejecución particular de un script, así que en este caso, puede ayudar a evitar problemas como la redefinición de funciones, reasignación de valores de variables, etc.

require_once.La sentencia require_once es idéntica a require excepto que PHP verificará si el archivo ya ha sido incluido y si es así, no se incluye (require) de nuevo.includeLa sentencia include incluye y evalúa el archivo especificado.

Estructuras De Control 12

Page 13: Funciones en Un Portal

FUNCIONES EN UN PORTAL

Require.require es idéntico a include excepto que en caso de fallo producirá un error fatal de nivel E_COMPILE_ERROR. En otras palabras, éste detiene el script mientras que include sólo emitirá una advertencia (E_WARNING) lo cual permite continuar el script.

Return.return devuelve el control del programa a el modulo que lo invoca. La ejecución vuelve a la siguiente declaración después del modulo que lo invoca.Si se llama desde una función, la sentencia return inmediatamente termina la ejecución de la función actual, y devuelve su argumento como el valor de la llamada a la función. return también termina la ejecución de una sentencia eval() o un archivo de script.

declare.El constructor declare es usado para fijar directivas de ejecución para un bloque de código. La sintaxis de declarees similar a la sintaxis de otros constructores de control de flujo:declare (directive) statement

switch.La sentencia switch es similar a una serie de sentencias IF en la misma expresión. En muchas ocasiones, es posible que se quiera comparar la misma variable (o expresión) con muchos valores diferentes, y ejecutar una parte de código distinta dependiendo de a que valor es igual. Para esto es exactamente la expresión switch.

continue.continue se utiliza dentro de las estructuras iterativas para saltar el resto de la iteración actual del bucle y continuar la ejecución en la evaluación de la condición, para luego comenzar la siguiente iteración.

break.break termina la ejecución de la estructura actual for, foreach, while, do-while o switch.break acepta un argumento numérico opcional el cual indica de cuantas estructuras anidadas encerradas se debe salir.

Foreach.El constructor foreach proporciona un modo sencillo de iterar sobre arrays. foreach funciona sólo sobre arrays y objetos, y emitirá un error al intentar usarlo con una variable de un tipo diferente de datos o una variable no inicializada. Existen dos sintaxis:foreach (expresión_array as $valor) sentenciasforeach (expresión_array as $clave => $valor) sentencias

Estructuras De Control 12

Page 14: Funciones en Un Portal

FUNCIONES EN UN PORTAL

La primera forma recorre el array dado por expresión_array. En cada iteración, el valor del elemento actual se asigna a $valor y el puntero interno del array avanza una posición (así en la próxima iteración se estará observando el siguiente elemento).La segunda forma además asigna la clave del elemento actual a la variable $clave en cada iteración.

for.Los bucles for son los más complejos en PHP. Se comportan como sus homólogos en C. La sintaxis de un buclefor es:for (expr1; expr2; expr3) sentencia

La primera expresión (expr1) es evaluada (ejecutada) una vez incondicionalmente al comienzo del bucle.En el comienzo de cada iteración, se evalúa expr2. Si se evalúa como TRUE, el bucle continúa y se ejecutan la/sy sentencia/s anidada/s. Si se evalúa como FALSE, finaliza la ejecución del bucle.Al final de cada iteración, se evalúa (ejecuta) expr3.Cada una de las expresiones puede estar vacía o contener múltiples expresiones separadas por comas. Enexpr2, todas las expresiones separadas por una coma son evaluadas, pero el resultado se toma de la última parte. Que expr2 esté vacía significa que el bucle debería ser corrido indefinidamente (PHP implícitamente lo considera como TRUE, como en C). Esto puede no ser tan inútil como se pudiera pensar, ya que muchas veces se debe terminar el bucle usando una sentencia condicional break en lugar de utilizar la expresión verdadera delfor.

do-while.Los bucles do-while son muy similares a los bucles while, excepto que la expresión verdadera es verificada al final de cada iteración en lugar que al principio. La diferencia principal con los bucles while es que está garantizado que corra la primera iteración de un bucle do-while (la expresión verdadera sólo es verificada al final de la iteración), mientras que no necesariamente va a correr con un bucle while regular (la expresión verdadera es verificada al principio de cada iteración, si se evalúa como FALSE justo desde el comienzo, la ejecución del bucle terminaría inmediatamente).

while.Los bucles while son el tipo más sencillo de bucle en PHP. Se comportan igual que su contrapartida en C. La forma básica de una sentencia while es:while (expr) sentencia

El significado de una sentencia while es simple. Le dice a PHP que ejecute las sentencias anidadas, tanto como la expresión while se evalúe como TRUE. El valor de la expresión es verificado cada vez al inicio del bucle, por lo que incluso si este valor cambia durante la ejecución de las sentencias anidadas, la ejecución no se detendrá hasta el final de la iteración (cada vez que PHP ejecuta las sentencias contenidas en el bucle es una

Estructuras De Control 12

Page 15: Funciones en Un Portal

FUNCIONES EN UN PORTAL

interacción). A veces, si la expresión while se evalúa como FALSE desde el principio, las sentencias anidadas no se ejecutarán ni siquiera una vez.

elseif/else if.elseif, como su nombre lo sugiere, es una combinación de if y else. Del mismo modo que else, extiende una sentencia if para ejecutar una sentencia diferente en caso que la expresión if original se evalúe como FALSE. Sin embargo, a diferencia de else, esa expresión alternativa sólo se ejecutará si la expresión condicional del elseif se evalúa como TRUE.

else.Con frecuencia se desea ejecutar una sentencia si una determinada condición se cumple y una sentencia diferente si la condición no se cumple. Esto es para lo que sirve else. El else extiende una sentencia if para ejecutar una sentencia en caso que la expresión en la sentencia if se evalúe como FALSE.

Funciones.

Las Funciones En PHP.

Las funciones o functions, son porciones de código PHP “independientes”. Cuando creamos una aplicación, el código se estructura en función de clases (que veremos más adelante) o funciones.Cuando se programa utilizando funciones se suele hablar de programación procedural, estructurada o spaguetti code. Cuando se programa utilizando clases, se habla de programación orientada a objetos.Programar haciendo uso de funciones es el “old style” y desde las primeras versiones de PHP5, PHP ha dado el salto al desarrollo orientado a objetos, siendo a partir de PHP5.5 cuando ésta adquiere su mayor potencial. Nuestro proyecto será orientado a objetos, pero considero interesante e importante conocer el concepto de las funciones ya que aunque programemos orientado a objetos haremos uso de un sinfín de funciones que el propio lenguaje PHP proporciona.Una función se declara de la siguiente manera:

1. functio miFuncion() 2. // el codigo de la function 3.

Lo interesante del uso de las funciones es reciclar código. En nuestras aplicaciones prácticamente todas se repite y son las funciones (o las clases) las que nos permiten ahorrar muchas líneas de código y realizar cambios masivos editando una sola función.

Estructuras De Control 12

Page 16: Funciones en Un Portal

FUNCIONES EN UN PORTAL

Para hacer uso de una función sólo hay que llamarla:1. function miFuncion() 2. echo 'hola mundo'; 3. 4.5. miFuncion ();

Además, las funciones pueden recibir valores (parámetros) y retornar información. Para pasar los valores, sólo tenemos que declarar la función indicando entre los paréntesis las variables a utilizar separadas por comas. Para retornar información, se utilizará return.

1. function miFuncion($variable1, $variable2) 2. return $variable1 + $variable2; 3. 4.5. $variable1 = 2; 6. $variable2 = 3; 7.8. echo miFuncion($variable1, $variable2);

BASE DE DATOS

PHP MyAdmin

1. Asegúrate de que tienes instalado phpMyAdmin. Esta guía asume que tienes el phpMyAdmin instalado y listo para usar.

Base de Datos 16

Page 17: Funciones en Un Portal

FUNCIONES EN UN PORTAL

2. Ve a la página de inicio de tu phpMyAdmin. Para esta guía necesitas navegar a la página de inicio de phpMyAdmin. Suele encontrarse debajo de estos directorios, dependiendo de la configuración de tu servidor.

http://localhost:8888/phpMyAdmin/

http://localhost/phpmyadmin

http://your-ip-address/phpmyadmin/

3. Inicia sesión en tu página phpMyAdmin. Asegúrate de que has iniciado sesión en phpMyAdmin.

PHP MyAdmin 17

Page 18: Funciones en Un Portal

FUNCIONES EN UN PORTAL

4. Ingresa el nombre de tu base de datos. Escribe el nombre que quieres darle a tu nueva base de datos. En este ejemplo la hemos llamado "mi_nueva_basededatos".

5. Haz clic en "Crear" y listo. Eso es todo.

Conexión A Una Base De Datos.Se pueden establecer las conexiones sobre SSL para encriptar las comunicaciones cliente/servidor y aumentar la seguridad, o también emplear ssh para encriptar la conexión de red entre los clientes y el servidor de bases de datos. Si se utiliza algunas de estas opciones, será difícil para un posible atacante la monitorización del tráfico y la obtención de información de la base de datos.

Tablas.

Una tabla de una base de datos es similar en apariencia a una hoja de cálculo, en cuanto a que los datos se almacenan en filas y columnas. Como consecuencia, normalmente es bastante fácil importar una hoja de cálculo en una tabla de una base de datos. La principal diferencia entre almacenar los datos en una hoja de cálculo y hacerlo en una base de datos es la forma de organizarse los datos.Para lograr la máxima flexibilidad para una base de datos, la información tiene que estar organizada en tablas, para que no haya redundancias. Por ejemplo, si se almacena información sobre empleados, cada empleado se insertará una sola vez en una tabla que se configurará para contener únicamente datos de los empleados. Los datos sobre productos se almacenarán en su propia tabla, y los datos sobre sucursales también tendrán su tabla aparte. Este proceso se conoce como normalización.Cada fila de una tabla se denomina registro. En los registros es donde se almacena cada información individual. Cada registro consta de campos (al menos uno). Los campos

Conexión A Una Base De Datos 18

Page 19: Funciones en Un Portal

FUNCIONES EN UN PORTAL

corresponden a las columnas de la tabla. Por ejemplo, puede trabajar con una tabla denominada "Empleados", en la que cada registro (fila) contiene información sobre un empleado distinto y cada campo (columna) contiene un tipo de información diferente, como el nombre, los apellidos, la dirección, o similares. Los campos se deben configurar con un determinado tipo de datos, ya sea texto, fecha, hora, numérico, o cualquier otro tipo.Otra forma de describir registros y campos es imaginando un catálogo de fichas tradicional de una biblioteca. Cada ficha del armario corresponde a un registro de la base de datos. Cada información contenida en una ficha (autor, título, etc.) corresponde a un campo de la base de datos.

Inserción Consulta Y Actualización De Datos.La capacidad de manejar una relación base o derivada como un solo operando se aplica no sólo a la recuperación de los datos (consultas), si no también a la inserción, actualización.Esto es, el lenguaje de manejo de datos también debe ser de alto nivel (de conjuntos). Algunas bases de datos inicialmente sólo podían modificar las tuplas de la base de datos de una en una (un registro de cada vez).

Operación De Inserción.Comenzaremos explicando cómo insertar registros en la base de datos utilizando el método insert() de la clase SpoonDatabase. Simplemente tenemos que enviarle el nombre de la tabla donde queremos insertar y un array asociativo con los datos a insertar en el registro que se está creando.

//Array con los datos del usuario

$datos_usuario = array("nombre_completo" => "Julio Casacudo", "email" =>

"[email protected]", "password" => "loquesea");

//operación de inserción

$id_usuario = $db->insert('usuario', $datos_usuario);

//muestro el dato que me devuelve insert()

echo "El identificador del usuario insertado es: " . $id_usuario;

Como se ha visto, la inserción consta de dos pasos básicos. Primero la creación del array

con los datos del registro a insertar. Es un array asociativo con todos los valores de todos

los campos que queremos introducir.

Conexión A Una Base De Datos 18

Page 20: Funciones en Un Portal

FUNCIONES EN UN PORTAL

Nota: el campo id_usuario no lo enviamos porque en la tabla se ha puesto como auto

numérico.

Luego hacemos la llamada al método insert(), que recibe los mencionados parámetros y devuelve el identificador del registro insertado.Por último, a modo de confirmación, mostramos con un hecho en la página el identificador del registro que se ha insertado.

Operación De Actualización.La operación de actualización, o update, se realiza de manera bastante similar a la inserción, en el sentido en que también necesitamos un array asociativo con los datos a actualizar en el/los registro/s.

Además, al metodo update() le enviaremos opcionalmente un par de parámetros para

definir la cláusula where, de modo que podamos especificar qué registros deben ser

actualizados. De momento veamos un ejemplo todavía sin cláusula where.

//actualizo registros con update

$datos_prueba = array("campo" => "valor");

$filas_afectadas = $db->update('tabla_prueba', $datos_prueba);

El método update(), como se puede ver en el código anterior, devuelve el número de

registros que han sido actualizados por medio de la consulta.

Conexión A Una Base De Datos 18

Page 21: Funciones en Un Portal

FUNCIONES EN UN PORTAL

CONCLUSIONES.

El lenguaje manejado en esta investigación es bastante técnica y se necesita de conocimientos previos para poder saber que el lo que se esta leyendo y aun mas para poder entenderlo, no hace falta decir que para poder disfrutar lo que se esta leyendo es necesario tener ya conocimientos de programación, informática o redes todas tienen cosas en común y trabajan juntas para lograr grandes cosa; por lo menos lo básico de cada alguno de ellas o mínimo 2, para no perderse entre los diferentes términos que maneja en algunas partes. Si no tienes la menor idea de lo que se esta hablando, para que no te confundas simplemente deberás abrir tu mente, la programación y la informática es lógica pura, los términos que se explican son básicos así es que, si en verdad es de interés propio, la información plasmada será de mucha ayuda.

Conclusiones 21

Page 22: Funciones en Un Portal

FUNCIONES EN UN PORTAL

BIBLIOGRAFIA.

http://php.net/manual/es/ini.core.php

http://www.taringa.net/post/linux/7362686/Configuracion-Apache-2-en-linux.html

http://www.maestrosdelweb.com/phpmysqlap/

http://www.ite.educacion.es/formacion/materiales/85/cd/linux/m5/instalacin_y_configuracin_de_mysql.html

http://www.ite.educacion.es/formacion/materiales/85/cd/linux/m5/instalacin_y_configuracin_de_phpmyadmin.html

https://rolandocaldas.com/php/variables-constantes-y-funciones-en-php

http://php.net/manual/es/language.operators.php

http://php.net/manual/es/language.control-structures.php

http://es.wikihow.com/crear-una-base-de-datos-en-phpMyAdmin

http://php.net/manual/es/security.database.connection.php

https://support.office.com/es-hn/article/Conceptos-b%C3%A1sicos-sobre-bases-de-datos-a849ac16-07c7-4a31-9948-3c8c94a7c204?ui=es-ES&rs=es-HN&ad=HN

http://es.wikipedia.org/wiki/Sistema_de_gesti%C3%B3n_de_bases_de_datos_relacionales

http://www.desarrolloweb.com/articulos/insercion-actualizacion-borrado-spoondatabase.html

Bibliografía 22