Tema 8 PHP: Acceso a Bases de Datos

Save this PDF as:
 WORD  PNG  TXT  JPG

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Tema 8 PHP: Acceso a Bases de Datos"

Transcripción

1 Tema 8 PHP: Acceso a Bases de Datos Una de las razones por las que más se ha popularizado PHP, como ya comentamos en el tema anterior, es su posibilidad de conexión con casi todos los tipos de bases de datos. En este tema vamos a ver algunas nociones de MySQL: instalación y configuración rápida, organización, etc. La razón de ver MySQL es porque se trata de base de datos más usada con PHP, incluso se podría decir que es la base de datos propia de PHP, pues al parecer, PHP Group desarrolla en primera instancia para esta base de datos y después migra el trabajo a las librerías de acceso a otras bases de datos. Otra librería de acceso a bases de datos interesante es la de acceso a través de ODBC que nos abre el camino a la conexión a cualquier otro tipo de base de datos de la que no se tenga acceso nativo en PHP. También puede ser interesante usar el acceso ODBC para las bases de datos de las que se tiene funciones PHP directamente, pues, aunque aparentemente más complejo y aveces más limitado, el acceso ODBC nos garantiza cierta compatibilidad que prácticamente nos independiza del SGDB que se use. Así pues, en este tema vamos a trabajar sobre tres ejemplos de acceso a bases de datos MySQL y dos ejemplos ODBC en el que podremos trabajar tanto con MySQL como con otras bases de datos como MS-Access De vuelta con PHP Vamos en primera instancia a retomar algunos de los ejemplos PHP del tema anterior para ir calentando motores. En concreto, con idea de seguir con los ejemplos auto-ilustrativos del Tema 7, vamos a fusionar el ejemplo generico.php y ejemplos.php de forma que un solo código nos gestione una plantilla genérica y nos permita elegir y ejecutar los ejemplos de este tema, que a semejanza del caso anterior están en el directorio: "C:\Archivos de programa\apache Group\Apache\cgi-bin\tema8" La plantilla.phtml usada ahora se ha adaptado para este tema: Visualiza a la izquierda el código, a la derecha un formulario y encima de la tabla el posible resultado producido al invocar el formulario. La nueva plantilla se llama ahora: "C:\Archivos de programa\apache Group\Apache\htdocs\tema8\index.phtml" La idea es la de adaptar Apache para que también pueda tomar como página por defecto de un sitio Web ese nombre de fichero, cambiando en httpd.conf la siguiente línea: DirectoryIndex index.html por esta otra: DirectoryIndex index.html index.phtml Recuerda arrancar Apache.

2 Listado 8.1. C:\Archivos de programa\apache Group\Apache\htdocs\tema8\index.phtml Plantilla de ejemplos del Tema 8. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <?php include "tema8/ejemplos.php"?> <HTML> <HEAD> <TITLE> <?php titulo()?> </TITLE> </HEAD> <BODY> <CENTER> <H1 style="font-weight:bold; font-size:200%; color:blue"> <?php titulo()?> </H1> <?php resultado()?> <TABLE width="100%" border="1" rules="all"> <TR align="center"> <TD> <B>Código</B><BR> </TD> <TD> <B>Formulario</B><BR> </TD> </TR> <TR valign="top"> <TD> <?php codigo()?> </TD> <TD> <?php formulario()?> </TD> </TR> </TABLE> </CENTER> </BODY> </HTML> El esquema es semejante al usado en el tema 7, pero hay que destacar que la función resultado ha sido sustituida por una formulario y una nueva función resultado debe reflejar en la parte superior el resultado de enviar el formulario. La función formulario invocará a una función del mismo nombre que el ejemplo que se esté visualizando, como antes hacia la función resultado. El código del nuevo ejemplo ejemplos.php queda así: Listado 8.2. C:\Archivos de programa\apache Group\Apache\cgi-bin\tema8\ejemplos.php Programa que permite seleccinar uno de los ejemplos del Tema 8. if (!isset($ejemplo)) $Ejemplo="Ejemplos"; if (!function_exists("titulo")) { function titulo() { global $Ejemplo; print($ejemplo); if (!function_exists("resultado")) { function resultado() { function codigo() { global $Ejemplo; global $Fichero; if { function formulario() { 2

3 global $Ejemplo; $Ejemplo(); else print(" $Ejemplo.php?"); function ejemplos() { global $REQUEST_URI; include("tema8/plantillas/ejemplos.html"); function opciones() { $Directorio=openDir(get_cfg_var("include_path")."/tema8/"); while ($Fichero=readDir($Directorio)) { $Fichero=ucFirst(strToLower($Fichero)); list($ejem,$ext)=explode(".",$fichero); if ($Ejem AND!strCaseCmp($Ext,"php")) print("<option>$ejem</option>\n"); closedir($directorio); A destacar únicamente dos puntos. Lo primero que si la función resultado no existe (porque el ejemplo no hace nada cuando se envía el formulario), para que no se produzca error al invocarla, se crea vacía. Lo segundo, el formulario que debería estar en la función con el mismo nombre que el fichero (ejemplos() en este caso) no esta en este fichero, sino aparte, en un fichero con extensión.html, que aunque no es verdaderamente un fichero HTML, puede ser medianamente interpretado por un navegador o un programa de diseño HTML, de forma que se puede ver y cambiar independientemente del código, es decir se trata de una plantilla. Así pues, la función que muestra el formulario queda reducida a declarar como globales todas las variables que se usen en la plantilla.html e incluirla. Este esquema se repite en todos los ejemplos de este tema. El directorio que contiene las plantillas.html de los formularios es: "C:\Archivos de programa\apache Group\Apache\cgi-bin\tema8\plantillas" Puedes ver el aspecto que tienen estas plantillas cargándolas desde tu disco local directamente (no a través del servidor Apache) con tu navegador. La plantilla que usamos en este invocador de ejemplos es: Listado 8.3. C:\Archivos de Group\Apache\cgi-bin\tema8\plantillas\ejemplos.html Plantilla formulario para seleccionar ejemplos. <FORM action="<?=$request_uri?>" method="post"> <CENTER> <LABEL> <B>Ejemplos:</B><BR> <SELECT name="ejemplo"> <?php opciones()?> </SELECT> </LABEL><BR> <INPUT type="submit" value="mostrar"> </CENTER> </FORM> Ahora puedes ver el resultado, invocar a cualquier ejemplo de este tema se hace con la URL: 3

4 8.2. MySQL Monty Widenius quiso trabajar con APIs a bajo nivel de msql, comprobó que no eran suficientemente rápidas y decidió crear sus propias APIs MySQL. Así nació MySQL, una base de datos SQL (Structured Query Language) muy rapida, multi-hebra, multi-usuario y robusta según sus propios autores. Se trata, además, de un software gratuito licenciado bajo la General Public License de GNU. Instalación El primer paso que debemos dar es descargar la última versión desde Las distribuciones de binarios para Win32 siempre han sido tradicionalmente shareware. En el momento de editar estas páginas, se encuentra disponible una versión gamma totalmente gratuita. El segundo paso es la descompresión del paquete y su instalación, ejecutando programa setup que aparece al descomprimir. La instalación compacta es suficiente para nuestro caso y para la mayoría de usuarios de MySQL que lo ejecuten sobre Win32. Si no le hemos indicado lo contrario el instalador nos habrá creado un directorio C:\mysql, con varios ficheros y subdirectorios. Los importantes son estos tres subdirectorios: C:\mysql\docs Contiene documentación sobre MySQL. Lo más interesante es el manual, accesible en HTML desde el fichero C:\mysql\docs\manual_toc.html. C:\mysql\data Por defecto almacena las bases de datos, en un subdirectorio cada una (con el mismo nombre que la base de datos). La distribución instala por defecto dos, la del sistema del propio servidor que se llama mysql y otra test, pero esta última está vacía. En subdirectorio correspondiente a la base de datos del sistema (mysql) se puede apreciar que MySQL guarda tres ficheros por cada tabla, con el mismo nombre que la tabla pero distintas extensiones: El formato se guarda en los ficheros.frm, los datos en los.myd y la información para gestionar el acceso por indices en los.myi. Las tablas de mysql son 5: user, host, db, tables_priv y columns_priv. C:\mysql\bin Este directorio guarda los ejecutables: Demonios servidores, clientes, gestores y herramientas de test, administración y mantenimiento. Algunos de ellos son sólo para Windows NT o sólo para Windows 9x. El único que de momento nos interesa es winmysqladmin.exe, que lo ejecutaremos para comprobar la instalación y arrancar el servidor: WinMySQLadmin Cuando lo ejecutamos por primera vez nos pregunta por un usuario y clave para establecerlos como defecto. Esto lo hace por que detecta que no existe el fichero de configuración: C:\windows\my.ini En la documentación se explica como incluir distintas opciones en este fichero. Si le damos a cancelar y no introducimos ningún usuario y clave, creará un fichero my.ini con las opciones mínimas. No te tiene que preocupar no proporcionar usuario por defecto, pues la base de datos del sistema (la mysql que hemos visto en el directorio data) viene preparada inicialmente para 4

5 operar con cualquier usuario. Sin embargo el dar a cancelar también implica que no incluya un enlace directo a winmysqladmin.exe en el menú de inicio que producirá el arranque automático de este programa al iniciar una sesión en Windows. Puede ser interesante que copies o muevas ese enlace directo a otro menú, uno propio del MySQL, para poderlo invocar voluntariamente. Después, el programa WinMySQLadmin se quedará residente. Lo puedes apreciar por un semáforo con la luz verde que aparece a la derecha de la barra de tareas. Este semáforo tiene la luz verde cuando el servidor de MySQL se encuentra en marcha y rojo si está parado. El programa WinMySQLadmin no es el servidor, sino un programa que sirve para arrancar, parar y monitorizar al servidor. Éstas son las opciones que aparecen al solicitar el menú contextual sobre icono del semáforo, además de la opción de parar esta propia herramienta, que no implica parar el servidor MySQL. En conclusión, aunque esta herramienta nos permita curiosear el funcionamiento del servidor, principalmente servirá para poder arrancar y parar el servidor MySQL y comprobar mediante la luz del semáforo si está en marcha. Acceso a MySQL Otro programa llamado simplemente mysql (aparece también e el directorio C:\mysql\bin) es el típico interprete SQL de línea de comandos. Invócalo para ver alguna tabla de la base de datos del sistema (la mysql): C:\>C:\mysql\bin\mysql.exe mysql Ahora prueba a listar la tabla de usuarios y permisos: mysql> select * from user; Lo que estas viendo significa algo así como: El usuario root tiene todos los privilegios posibles desde la máquina localhost. Cualquier usuario desde cualquier máquina no tiene ningún privilegio. Cualquier usuario desde localhost tiene todos los privilegios. El usuario root desde cualquier máquina tiene todos los privilegios. Es posible que aparezca otra fila con el usuario y clave que te pidió WinMySQLadmin. Acceso a MySQL mediante PHP Vamos a intentar visualizar la misma tabla de usuarios que hemos visto mediante el interprete SQL, pero a través de nuestro servidor Apache y un programa PHP. Para ello vamos a ver un ejemplo de visor de tablas: un formulario recoge máquina, usuario, base de datos y tabla, y mediante las funciones PHP de acceso a MySQL visualizamos la tabla. La plantilla del formulario será: Listado 8.4. C:\Archivos de Group\Apache\cgi-bin\tema8\plantillas\visor.html Plantilla formulario para el visor. <FORM action="<?=$request_uri?>" method="post"> <INPUT type="hidden" name="ejemplo" value="<?=$ejemplo?>"> <TABLE> <TD><B>Host:</B></TD> <TD><INPUT type="text" name="host" value="localhost"></td> 5

6 <TD><B>Usuario:</B></TD> <TD><INPUT type="text" name="usuario" value="root"></td> <TD><B>Base de datos:</b></td> <TD><INPUT type="text" name="bd"></td> <TD><B>Tabla:</B></TD> <TD><INPUT type="text" name="tabla"></td> <INPUT type="submit" name="visualizar" value="visualizar"> <INPUT type="submit" value="limpiar"></center> </TABLE> </FORM> Lo primero que nuestro programa debe hacer es conectarse a un servidor MySQL en una máquina $Host como el usuario $Usuario, después seleccionar la base de datos $BD, lanzar la pregunta SQL que obtendrá la selección de las filas de la tabla $Tabla y por último interpretar el resultado: Listado 8.5. C:\Archivos de programa\apache Group\Apache\cgi-bin\tema8\visor.php Visor de tablas MySQL. function visualizar($host,$usuario,$bd,$tabla) { if (!mysql_connect($host,$usuario)) print("<p>error al conectar con $Host como $Usuario</P>"); elseif (!mysql_select_db($bd)) print("<p>error al seleccionar la base de datos $BD</P>"); elseif (!$Cursor=mysql_query("SELECT * FROM $Tabla")) print("<p>error al obtener cursor a tabla $Tabla</P>"); else { print("<table border=\"1\" rules=\"all\">\n"); print("<tr>\n"); for ($i=0;$i<mysql_num_fields($cursor);$i++) print("<th>".mysql_field_name($cursor,$i)."</th>\n"); print("</tr>\n"); while ($Fila=mysql_fetch_row($Cursor)) { print("<tr>\n"); foreach ($Fila as $Campo) print("<td>$campo</td>\n"); print("</tr>\n"); print("</table><br>\n"); function resultado() { global $Visualizar,$Host,$Usuario,$BD,$Tabla; if (isset($visualizar)) { print("<p><b>host:</b> $Host "); print("<b>usuario:</b> $Usuario "); print("<b>base de datos:</b> $BD "); print("<b>tabla:</b> $Tabla</P>\n"); visualizar($host,$usuario,$bd,$tabla); function visor() { global $REQUEST_URI,$Ejemplo; include("tema8/plantillas/visor.html"); La función mysql_connect(), de ser satisfactoria, devuelve un enlace a la base de datos. Este enlace debería ser pasado a las funciones mysql_select_db() y mysql_query(), pero ese parámetro es opcional, en caso de no hacerlo, se toma como enlace, la última conexión hecha, que en nuestro caso se trata de la única conexión hecha. La función mysql_query() devuelve un recurso, que puede ser interpretado en este caso como un cursor, del que poder extraer la información requerida en la pregunta. Son varias las 6

7 funciones que pueden extraer información de un recurso devuelto por mysql_query(), y distintas las formas o estrategias para interpretarlo: Mediante la función mysql_fetch_object() se puede obtener un objeto por fila cuyos atributos son los campos de la tabla. Mediante la función mysql_fetch_array() se pude obtener un array por fila cuyas claves sean los campos de la tabla, sus posiciones o ambas cosas. mysql_fecth_row() es un caso particular del anterior, el array siempre esta indexado por posiciones (empezando por la 0). Se puede acceder a cualquier fila y columna de la tabla mediante la función mysql_result(). Además es posible acceder a otra información sobre la respuesta, como el nombre los campos de la tabla o que cantidad de filas o columnas hay. En el ejemplo se usan las funciones myql_num_fields() y mysql_filed_name(). Esto nos permite poder visualizar los nombres de los campos en la cabecera de la tabla incluso cuando la tabla esta vacía: No pruebes solo la tabla user de la base de datos mysql, prueba también con una tabla vacía como tables_priv de la misma base de datos Manejo de bases de datos MySQL desde PHP Para poder ilustrar gran parte de las posibilidades de edición de las funciones PHP de acceso a MySQL, vamos a ver dos ejemplos más. El primero para poder crear una base nueva con la que experimentar (crear tablas, campos, modificarlos, borrar, etc.). El segundo, combinándolo con el manejo de sesiones nos permitirá editar (añadir, modificar y borrar) fila a fila en una base de datos. Gestor de base de datos (manejo de la estructura) En este ejemplo vamos a usar tres formularios distintos, dependiendo del nivel de atomicidad al que llevemos la gestión (base de datos, tabla o campo): Listado 8.6. C:\Archivos de Group\Apache\cgi-bin\tema8\plantillas\gesbd.html Plantilla formulario para el gestor en gestion a bases de datos. <FORM action="<?=$request_uri?>" method="post"> <INPUT type="hidden" name="ejemplo" value="<?=$ejemplo?>"> <INPUT type="hidden" name="gestion" value="<?=$gestion?>"> <TABLE> <TD><B>Host:</B></TD> <TD><INPUT type="text" name="host" value="<?=$host?>"></td> <TD><B>Usuario:</B></TD> <TD><INPUT type="text" name="usuario" value="<?=$usuario?>"></td> <TD><B>Base de datos:</b></td> <TD><INPUT type="text" name="bd"></td> <INPUT type="submit" name="operacion" value="crear"> <INPUT type="submit" name="operacion" value="conectar"> <INPUT type="submit" name="operacion" value="eliminar"></center> </TABLE> </FORM> 7

8 La variable $Gestion informará de que gestión se lleva a cabo (base de datos, tabla o columna), mientras $Operacion indica si se debe crear, eliminar, etc. Listado 8.7. C:\Archivos de Group\Apache\cgi-bin\tema8\plantillas\gestabla.html Plantilla formulario para el gestor en gestion a tablas. <FORM action="<?=$request_uri?>" method="post"> <INPUT type="hidden" name="ejemplo" value="<?=$ejemplo?>"> <INPUT type="hidden" name="gestion" value="<?=$gestion?>"> <INPUT type="hidden" name="host" value="<?=$host?>"> <INPUT type="hidden" name="usuario" value="<?=$usuario?>"> <INPUT type="hidden" name="bd" value="<?=$bd?>"> <TABLE> <TD><B>Tabla:</B></TD> <TD><CENTER><SELECT name="tabla"> <?php tablas($bd)?> </SELECT></CENTER></TD> <INPUT type="submit" name="operacion" value="cambiar"> <INPUT type="submit" name="operacion" value="eliminar"></center> <B>o</B></CENTER> <TD><B>Tabla:</B></TD> <TD><INPUT type="text" name="nueva"></td> <INPUT type="submit" name="operacion" value="crear"></center> </TABLE> </FORM> Las variables del formulario anterior en este se mantienen ocultas. La variable $Nueva llevará el nombre de la tabla si se trata de una operación Crear. Listado 8.8. C:\Archivos de Group\Apache\cgi-bin\tema8\plantillas\gescampo.html Plantilla formulario para el gestor en gestion a campos. <FORM action="<?=$request_uri?>" method="post"> <INPUT type="hidden" name="ejemplo" value="<?=$ejemplo?>"> <INPUT type="hidden" name="gestion" value="<?=$gestion?>"> <INPUT type="hidden" name="host" value="<?=$host?>"> <INPUT type="hidden" name="usuario" value="<?=$usuario?>"> <INPUT type="hidden" name="bd" value="<?=$bd?>"> <INPUT type="hidden" name="tabla" value="<?=$tabla?>"> <TABLE> <TD><B>Campo:</B></TD> <TD><CENTER><SELECT name="campo"> <?php campos($bd,$tabla)?> </SELECT></CENTER></TD> <INPUT type="submit" name="operacion" value="eliminar"></center> <B>o</B></CENTER> <TD><B>Campo:</B></TD> <TD><INPUT type="text" name="nuevo"></td> <TR><TD> <LABEL><INPUT type="radio" name="tipo" value="int" checked>entero</label> <TR><TD> <LABEL><INPUT type="radio" name="tipo" value="varchar">cadena</label> </TD><TD><CENTER> 8

9 <LABEL>Longitud: <INPUT type="text" name="longitud" size="2"></label> </CENTER> <INPUT type="submit" name="operacion" value="añadir"></center> </TABLE> </FORM> A la hora de añadir un campo, las variable $Nuevo y $Tipo aportan el nombre y el tipo respectivamente. Solo se permiten dos tipos de datos (para simplificar), el entero y la cadena. En este segundo tipo otra variable $Longitud aporta el número máximo de caracteres. También por simplificar, no se puede cambiar de tipo un campo, ha de eliminarse y añadirse de nuevo. Listado 8.9. C:\Archivos de programa\apache Group\Apache\cgi-bin\tema8\gestor.php Gestor de bases de datos MySQL. function resultado() { global $Host,$Usuario,$BD,$Tabla,$Campo; global $Gestion,$Operacion; if (isset($gestion)) { // Si se ha solicitado una gestion... if (mysql_connect($host,$usuario)) { // se conecta y gestiona $Gestion=$Gestion($Operacion,$BD,$Tabla,$Campo); if ($Gestion!="gestionBD") { // Se muestran los datos print("<p><b>host:</b> $Host "); print("<b>usuario:</b> $Usuario "); print("<b>base de datos:</b> $BD "); if ($Gestion!="gestionTabla") print("<b>tabla:</b> $Tabla"); print("</p>\n"); else { print("<p>error al conectar con $Host como $Usuario</P>\n"); $Gestion="gestionBD"; else { $Gestion="gestionBD"; $Host="localhost"; $Usuario="root"; function gestionbd($operacion,$bd) { // Para base de datos switch ($Operacion) { case "Crear": // - o se crea: if (!mysql_create_db($bd)) { print("<p>error al crear la base de datos $BD</P>\n"); return("gestionbd"); case "Conectar": // - o entra en la BD if (!mysql_select_db($bd)) { print("<p>error al seleccionar la base de datos $BD</P>\n"); return("gestionbd"); return("gestiontabla"); case "Eliminar": // - o se elimina if (!mysql_drop_db($bd)) print("<p>error al eliminar la base de datos $BD</P>\n"); default: return("gestionbd"); function tablas($bd) { // Lista las tablas de una BD como opciones $Cursor=mysql_list_tables($BD); for ($i=0;$i<mysql_num_rows($cursor);$i++) print("<option>".mysql_tablename($cursor,$i)."</option>\n"); function gestiontabla($operacion,$bd,&$tabla) { // Para tabla global $Nueva; if (!mysql_select_db($bd)) { // Entra en la base de datos print("<p>error al seleccionar la base de datos $BD</P>\n"); 9

10 return("gestionbd"); if ($Operacion=="Eliminar") { // Elimina tabla o... if (!mysql_query("drop TABLE $Tabla")) print("<p>error al eliminar la tabla $Tabla</P>"); return("gestiontabla"); if ($Operacion=="Crear") { //... crea tabla if (!mysql_query("create TABLE $Nueva (id INT)")) { print("<p>error al crear la tabla $Nueva</P>"); return("gestiontabla"); $Tabla=$Nueva; return("gestioncampo"); function campos($bd,$tabla) { // Lista los campos de una tabla $Cursor=mysql_list_fields($BD,$Tabla); for ($i=0;$i<mysql_num_fields($cursor);$i++) print("<option>".mysql_field_name($cursor,$i)."</option>\n"); function gestioncampo($operacion,$bd,$tabla,$campo) { // Para campo global $Nuevo, $Tipo, $Longitud; if (!mysql_select_db($bd)) { // Entra en la base de datos print("<p>error al seleccionar la base de datos $BD</P>\n"); return("gestionbd"); if ($Operacion=="Eliminar") // Elimina campo o... if (!mysql_query("alter TABLE $Tabla DROP COLUMN $Campo")) print("<p>error al eliminar el campo $Campo</P>"); if ($Operacion=="Añadir") { //... añade campo if ($Tipo=="VARCHAR") $Tipo="$Tipo($Longitud)"; if (!mysql_query("alter TABLE $Tabla ADD COLUMN $Nuevo $Tipo")) print("<p>error al añadir el campo $Nuevo tipo $Tipo</P>"); return("gestioncampo"); function gestor() { global $REQUEST_URI,$Ejemplo,$Gestion; global $Host,$Usuario,$BD,$Tabla; if ($Gestion=="gestionCampo") // Seleciona formulario include("tema8/plantillas/gescampo.html"); elseif ($Gestion=="gestionTabla") include("tema8/plantillas/gestabla.html"); else include("tema8/plantillas/gesbd.html"); La variable $Gestion almacena el nombre de la función que debe realizar la gestión: gestionbd(), gestiontabla(), o gestioncampo(). Todas las gestiones son llamadas con el máximo de parámetros, aunque a algunas no les hace falta tantos. La función gestionbd() crea y destruye tablas con las funciones mysql_create_db() y mysql_drop_db() respectivamente. La función gestiontabla() destruye y crea tablas con las instrucciones DROP TABLE y CREATE TABLE de SQL. La función gestioncampo() elimina y añade campos con la instrucción ALTER TABLE de SQL. Las funciones tablas() y campos() listan en los formularios, como opciones, las tablas de una base de datos y los campos de una tabla. Para ello utilizan funciones para extraer información sobre la estructura de la base de datos como mysql_list_tables() y mysql_list_fields(). 10

11 Puedes probarlo creando nuevas bases de datos y/o eliminándolas después. Además puedes verificar los cambios que produces con el interprete de SQL (mysql) o con el visor del ejemplo anterior. Editor de base de datos (manejo de los datos) Vamos a ver otro ejemplo con el que poder rellenar de datos las bases de datos creadas con el anterior. La edición la haremos por fila, pudiendo pasar de una fila a otra para su edición. Esto supone establecer sesiones que nos guarden información sobre que fila de que tabla y base de datos estamos editando. El directorio de datos para las sesiones es, como en otros temas anteriores, el subdiretorio datos: C:\Archivos de programa\apache Group\Apache\cgi-bin\tema8\datos La edición consistirá en modificar o borrar la fila actual o añadir una nueva al final, por esa razón, siempre se dejará editar una fila de más en blanco al final de la tabla. Las plantillas formulario para este ejemplo son dos, una para seleccionar una tabla y otra para editar una fila: Listado C:\Archivos de Group\Apache\cgi-bin\tema8\plantillas\editabla.html Plantilla formulario para el editor en selección de tabla. <FORM action="<?=$request_uri?>" method="post"> <INPUT type="hidden" name="ejemplo" value="<?=$ejemplo?>"> <TABLE> <TD><B>Host:</B></TD> <TD><INPUT type="text" name="host" value="<?=$host?>"></td> <TD><B>Usuario:</B></TD> <TD><INPUT type="text" name="usuario" value="<?=$usuario?>"></td> <TD><B>Base de datos:</b></td> <TD><INPUT type="text" name="bd" value="<?=$bd?>"></td> <TD><B>Tabla:</B></TD> <TD><INPUT type="text" name="tabla" value="<?=$tabla?>"></td> <INPUT type="submit" name="operacion" value="editar"></center> </TABLE> </FORM> Listado C:\Archivos de Group\Apache\cgi-bin\tema8\plantillas\edifila.html Plantilla formulario para el editor en edición de fila. <FORM action="<?=$request_uri?>" method="post"> <INPUT type="hidden" name="ejemplo" value="<?=$ejemplo?>"> <TABLE> <?php campos($cursor,$fila)?> <INPUT type="submit" name="operacion" value="<?=boton('añadir')?>"> <INPUT type="submit" name="operacion" value="<?=boton('modificar')?>"> <INPUT type="submit" name="operacion" value="<?=boton('borrar')?>"> </CENTER> <INPUT type="submit" name="operacion" value="<?=boton('<<')?>"> <INPUT type="submit" name="operacion" value="<?=boton('<')?>"> <INPUT type="submit" name="operacion" value="salir"> 11

12 <INPUT type="submit" name="operacion" value="<?=boton('>')?>"> <INPUT type="submit" name="operacion" value="<?=boton('>>')?>"> </CENTER> </TABLE> </FORM> La función boton() determina si el botón queda habilitado o deshabilitado. Lamentablemente, esta funcionalidad de habilitar o deshabilitar controles no la reflejan correctamente todos los navegadores. El código es el siguiente: Listado C:\Archivos de programa\apache Group\Apache\cgi-bin\tema8\editor.php Editor de bases de datos MySQL. session_save_path("../../cgi-bin/tema8/datos"); // Antes que nada: session_start(); // Inicia o restablece sesion: if (!sizeof($http_session_vars)) { // Si inicia, da valores $Host="localhost"; // iniciales a Host y $Usuario="root"; // Usuario y registra session_register("host","usuario"); // todas las variables a session_register("bd","tabla","fila"); // conservar en sesion else // Si restablece,... foreach ($HTTP_POST_VARS as $Variable => $Valor) if (session_is_registered($variable)) // sobrescribe con los ${$Variable=$Valor; // valores de formulario function resultado() { global $Operacion,$Host,$Usuario; global $BD,$Tabla,$Cursor; if (isset($operacion) AND $Operacion!="Salir") if (!mysql_connect($host,$usuario)) print("<p>error al conectar con $Host como $Usuario</P>\n"); elseif (!mysql_select_db($bd)) print("<p>error al seleccionar la base de datos $BD</P>"); elseif (!$Cursor=mysql_query("SELECT * FROM $Tabla")) print("<p>error al obtener cursor a tabla $Tabla</P>"); else { print("<p><b>host:</b> $Host "); // Informa de conexion, print("<b>usuario:</b> $Usuario "); // base de datos y print("<b>base de datos:</b> $BD "); // tabla con la que print("<b>tabla:</b> $Tabla</P>\n"); // operar return; $Operacion="Salir"; function campos($cursor,$fila) { // Muestra los campos de la fila $Tope=mysql_num_rows($Cursor); // corespondiente en formulario: print("<tr><td colspan=\"2 \"><CENTER>".($Fila+1)); print(" de ".$Tope."</CENTER>\n"); for ($i=0;$i<mysql_num_fields($cursor);$i++) { $Campo=mysql_field_name($Cursor,$i); print("<tr><td><b>$campo: </B></TD><TD><CENTER>"); print("<input type=\"text\" name=\"_${campo_\""); if ($Fila<$Tope) print(" value=\"".mysql_result($cursor,$fila,$i)."\""); print("></td></center>\n"); function boton($tipo) { global $Cursor,$Fila; print("$tipo"); switch ($Tipo) { case "Añadir"; if ($Fila==mysql_num_rows($Cursor)) return; break; case "<": case "<<": if ($Fila>0) return; break; // Determina que botones deben // o no estar deshabilitados. 12

13 case "Modificar": case "Borrar": case ">": case ">>": if ($Fila<mysql_num_rows($Cursor)) return; print("\" disabled \""); function operar($operacion,&$cursor,$tabla,&$fila) { switch ($Operacion) { // Determina, segun la operacion, case "Salir": // incrementar o decrementar la return(false); // fila y hacer la operacion case "<": // corespondiente. if (--$Fila>=0) return(true); case "Editar": case "<<": $Fila=0; return(true); case ">": if (++$Fila<=mysql_num_rows($Cursor)) return(true); case ">>": $Fila=mysql_num_rows($Cursor); return(true); case "Modificar": case "Borrar": if ($Fila==mysql_num_rows($Cursor)) return(true); $Operacion($Cursor,$Tabla,$Fila); if (!$Cursor=mysql_query("SELECT * FROM $Tabla")) print("<p>error al obtener cursor a tabla $Tabla</P>"); return(true); function añadir($cursor,$tabla,$fila) { // Añade una fila global $HTTP_POST_VARS; for ($i=0;$i<mysql_num_fields($cursor);$i++) { if ($i>0) $Valores.=","; $Campo=mysql_field_name($Cursor,$i); $Tipo=mysql_field_type($Cursor,$i); if (strtolower($tipo)=="string") $Valores.="'"; $Valores.=$HTTP_POST_VARS["_${Campo_"]; if (strtolower($tipo)=="string") $Valores.="'"; if (!mysql_query("insert INTO $Tabla VALUES($Valores)")) print("<p>error añadiendo los valores:<br>($valores)</p>"); function modificar($cursor,$tabla,$fila) { // Cambia una fila global $HTTP_POST_VARS; for ($i=0;$i<mysql_num_fields($cursor);$i++) { if ($i>0) { $Nuevos.=","; $Viejos.=" AND "; $Campo=mysql_field_name($Cursor,$i); $Nuevos.="$Campo="; $Viejos.="$Campo="; $Tipo=mysql_field_type($Cursor,$i); if (strtolower($tipo)=="string") { $Nuevos.="'"; $Viejos.="'"; $Nuevos.=$HTTP_POST_VARS["_${Campo_"]; $Viejos.=mysql_result($Cursor,$Fila,$i); if (strtolower($tipo)=="string") { $Nuevos.="'"; $Viejos.="'"; if (!mysql_query("update $Tabla SET $Nuevos WHERE $Viejos")) print("<p>error al sustituir por los valores:<br>$nuevos</p>"); function Borrar($Cursor,$Tabla,$Fila) { for ($i=0;$i<mysql_num_fields($cursor);$i++) { if ($i>0) $Valores.=" AND "; $Campo=mysql_field_name($Cursor,$i); $Valores.="$Campo="; // Elimina una fila 13

14 $Tipo=mysql_field_type($Cursor,$i); if (strtolower($tipo)=="string") $Valores.="'"; $Valores.=mysql_result($Cursor,$Fila,$i); if (strtolower($tipo)=="string") $Valores.="'"; if (!mysql_query("delete FROM $Tabla WHERE $Valores")) print("<p>error al borrar los valores:<br>$valores</p>"); function editor() { global $REQUEST_URI,$Ejemplo; global $Operacion,$Host,$Usuario; global $Cursor,$BD,$Tabla,$Fila; if (operar($operacion,$cursor,$tabla,$fila)) include("tema8/plantillas/edifila.html"); else include("tema8/plantillas/editabla.html"); // Opera y determina a // que formulario volver: Lo primero que hace el código es gestionar la sesión. Esta premura se justifica porque por defecto las sesiones se establecen por medio de cookies que deben ser introducidas como cabeceras de los mensajes de respuesta, así que, como vimos en el tema anterior, la gestión de una sesión debe realizarse antes de que el interprete PHP empiece a enviar el cuerpo del mensaje de respuesta. La función session_start() empieza una sesión si no existía, en caso contrario la reasume. Reasumirla significa restablecer los valores de las variables registradas en anteriores conexiones de esa misma sesión. Así pues, si no existe ninguna variable vinculada a la sesión ($HTTP_SESSION_VARS) significa que es la primera conexión de la sesión y que todavía no se ha registrado ninguna variable. En este caso registraremos todas las variables necesarias previa inicialización de las que nos interesen. Si no se trata de la primera conexión de la sesión, es posible que los valores de las variables registradas en la sesión (valores que tenían en la última conexión) entren en conflicto con los valores enviados por formulario (en nuestro caso por método POST). El problema es que valores asumen las variables globales PHP, el procedente de la sesión (el que perdura de la conexión anterior) o el que proviene del formulario. La directiva de configuración variables_order del fichero php.ini configura en que orden pasan los valores a las variables globales. Los valores de las variables globales predefinidas provienen de cinco posibles fuentes método GET, método POST, cookies, variables de entorno o sesión. En principio podríamos utilizar esta directiva para indicar que, en caso de conflicto, nos interesa más los valores introducidos por formulario (método POST) que los procedentes de la sesión. Esto significaría que PHP debería leer primero las variables registradas en la sesión y después las que vienen en la petición. Pero pensemos como obtiene PHP los valores de las variables de sesión: los obtiene de un fichero asociado al identificador de sesión donde guardó los valores al terminar la última conexión de la sesión. El identificador de sesión es un nombre único para cada sesión que el navegador y PHP se pasan mediante cookies y/o variables ocultas en formularios. Puedes comprobarlo al visualizar el código HTML desde tu navegador y buscando en el formulario de este ejemplo, por defecto la variable se llama PHPSESSID. PHP incluye por defecto esta variable en cualquier formulario que genere durante una sesión como alternativa a que el usuario desactive el sistema de cookies. En resumen, no se puede adelantar la valoración de las variables registradas en una sesión al paso de variables por cookies, método GET o método POST, pues se usa una variable pasada por alguno o algunos de estos tres métodos para identificar a la propia sesión. Así pues nos toca a nosotros mismos reescribir los valores de las variables globales que entren en conflicto por tener valor de procedencia sesión y procedencia formulario a la vez. Esto no es 14

15 complicado, pues tenemos los valores claramente identificados por procedencia en los arrays $HTTP_COOKIE_VARS, $HTTP_POST_VARS, $HTTP_GET_VARS y $HTTP_SESSION_VARS. La función campos() crea entradas del formulario con los campos de la fila en edición, si ésta es la última fila (la fila de más para añadir) las entradas quedan en blanco. Las variables asociadas a las entradas de texto tiene el mismo nombre que el campo de la tabla pero con un carácter _ al principio y al final, por si el nombre del campo coincide con alguna variable ya usada. La función operar() ajusta el nuevo valor para la fila y en los casos de Añadir, Modificar y Borrar, llama a la función del mismo nombre y luego vuelve a pedir el cursor para que refleje los cambios. Las funciones añadir(), modifica() y borrar() hacen uso de las instrucciones SQL INSER INTO, UPDATE y DELETE FROM. Añadir() y modificar() utilizan el array $HTTP_POST_VARS para obtener los valores de los campos enviados por formulario de las variables _campo_ correspondientes ODBC Open Data Base Connection es un estándar que permite tratar de forma genérica las conexiones a bases de datos SQL. Cada fabricante de sistemas de bases de datos debe facilitar el controlador correspondiente para que a través de este se pueda conectar a sus bases de datos. Como cada sistema de base de datos crea, organiza y en general gestiona sus bases de datos de forma propia, ODBC solo proporciona funcionalidades genéricas a la mayoría de los sistemas, dejando fuera muchas operaciones propias para cada base de datos y al revés, pudiendo proporcionar funciones que no tienen efecto en algunos sistemas en concreto. A pesar de ello resulta muy útil e interesante, pues fusiona, por de alguna forma decirlo, todos los tipos de accesos a bases de datos en uno. Para ver todos los controladores instalados que dispones en tu máquina, ves al panel de control y abre el icono ODBC u ODBC de 32 bits, los controladores suelen llevar en su propio nombre una descripción de para qué sistema de base de datos están diseñados. Con ODBC, en vez de conectarse a una base de datos, hay que conectarse a una fuente de datos (Data Source). Estas fuentes de datos no son más que una descripción de cómo conectarse a una verdadera base de datos (con que controlador, a que base de datos, con que usuario, etc.). Estas descripciones aparecen en la misma ventana de los controladores ODBC como DSN (Data Source Name), y las hay de tres tipos, generales a sistema, propias del usuario o descritas en un fichero. Comprueba si ya tiene disponible alguna DSN a la que conectarte mediante ODBC. MySQL a través de ODBC MySQL también tiene sus controladores ODBC, puedes descargarlos de MySQL, en el momento de escribir este tema la última versión para Windows 9x es la El instalador es en realidad un instalador de controladores ODBC genérico que Microsoft proporciona a los fabricantes de sistemas de bases de datos para que distribuyan sus controladores. Al descomprimir e instalar nos aparecerá la ventana de gestión de Data Sources por si queremos añadir una DSN. El instalador ya ha introducido como ejemplo una llamada sample-mysql pero conecta con una base de datos test que posiblemente sigamos teniendo vacía, podemos modificar esta para crear la nuestra. 15

16 En cualquier caso (nueva o modificada), nosotros vamos a obtener una DSN con el nombre Tema8-ODBC-Mysql que conectará con el controlador ODBC de MySQL a una base de datos en localhost llamada Tema8 con el usuario root. Si no tienes una base de datos MySQL que se llame así (Tema8) créala con el ejemplo del gestor y rellénala con algún dato con el ejemplo editor, pues la vamos a usar en el siguiente ejemplo. Para comprobar el controlador ODBC de MySQL está correctamente instalado y que nuestra DSN está bien definida, llama al programa admndemo.exe que te habrá aparecido al descomprimir el instalador del controlador. Lo primero que te pide al arrancar es que le indiques con que DSN conectar. Selecciona nuestra DSN Tema8-ODBC-MySQL. Luego te aparecerá una ventana dividida en dos paneles. En el panel superior puedes escribir cualquier instrucción SQL (un SELECT será lo mas facil). En la barra de menús seleccionamos el menú Command seleccionamos la opción Execute y la instrucción SQL debe ejecutarse sobre nuestra base de datos Tema8. Visor ODBC Vamos a modificar el ejemplo visor para que en vez de conectar directamente con bases de datos MySQL lo haga a través de ODBC. Le llamaremos odbc precisamente. La nueva plantilla de formulario es: Listado C:\Archivos de Group\Apache\cgi-bin\tema8\plantillas\odbc.html Plantila formulario para el visor ODBC. <FORM action="<?=$request_uri?>" method="post"> <INPUT type="hidden" name="ejemplo" value="<?=$ejemplo?>"> <TABLE> <TD><B>DSN ODBC:</B></TD> <TD><INPUT type="text" name="dsn" value="<?=$dsn?>"></td> <TD><B>Usuario:</B></TD> <TD><INPUT type="text" name="usuario" value="<?=$usuario?>"></td> <TD><B>Tabla:</B></TD> <TD><INPUT type="text" name="tabla" value="<?=$tabla?>"></td> <INPUT type="submit" name="visualizar" value="visualizar"> <INPUT type="submit" value="limpiar"></center> </TABLE> </FORM> El código queda más sencillo todavía que el del visor: Listado C:\Archivos de programa\apache Group\Apache\cgi-bin\tema8\odbc.php Visor de tablas a través de ODBC. function titulo() { print("visor ODBC"); function visualizar($dsn,$usuario,$tabla) { print("<p>"); if ($DSN) print("<b>dsn ODBC:</B> $DSN "); if ($Usuario) print("<b>usuario:</b> $Usuario "); 16

17 if ($Tabla) print("<b>tabla:</b> $Tabla"); print("</p>\n"); if (!$Conexion=odbc_connect($DSN,$Usuario,"")) print("<p>error al conectar con $DSN como $Usuario</P>"); elseif (!$Cursor=odbc_exec($Conexion,"SELECT * FROM $Tabla")) print("<p>error al obtener cursor a tabla $Tabla</P>"); else { odbc_result_all($cursor,"border=\"1\" rules=\"all\""); print("<br>\n"); function resultado() { global $Visualizar,$DSN,$Usuario,$Tabla; if (isset($visualizar)) visualizar($dsn,$usuario,$tabla); else $DSN=$Usuario=$Tabla=$Visualizar; function odbc() { global $REQUEST_URI,$Ejemplo,$DSN,$Usuario,$Tabla; include("tema8/plantillas/odbc.html"); La función odbc_connect() conecta con la DSN que se le indique. La función odbc_exec() ejecuta una instrucción SQL. Necesita forzosamente de la conexión devuelta por odbc_connect(). La función odbc_result_all() imprime el resultado de la consulta SQL en formato tabla HTML, la cadena que acompaña al cursor como parámetro proporciona los atributos para la etiqueta TABLE. Visualiza tablas de la base de datos Tema8 a través de la DSN Tema8-ODBC-MySQL mediante este ejemplo. Si dispones de MS-Access, prueba a crear una base de datos, créale una DSN (desde la ventana de controladores de ODBC que obtienes a través del panel de control se pueden añadir DSN nuevas) y visualiza sus tablas con este visor PHP de ODBC. Migración de unos a otros sistemas de bases de datos Como último ejemplo vamos a ver como pasar una tabla (estructura y datos) de una base de datos a otra, con independencia de sus sistemas de bases de datos mediante una DNS de origen y otra de destino. La plantilla a utilizar es: Listado C:\Archivos de Group\Apache\cgi-bin\tema8\plantillas\migrador.html Plantila formulario para el migrador. <FORM action="<?=$request_uri?>" method="post"> <INPUT type="hidden" name="ejemplo" value="<?=$ejemplo?>"> <TABLE> <TR><TD colspan="2"> <CENTER>Migrar de...</center> <TD><B>DSN ODBC:</B></TD> <TD><INPUT type="text" name="de_dsn" value="<?=$de_dsn?>"></td> <TD><B>Usuario:</B></TD> <TD><INPUT type="text" name="de_usuario" value="<?=$de_usuario?>"></td> 17

18 <TR><TD colspan="2"> <CENTER>... a...</center> <TD><B>DSN ODBC:</B></TD> <TD><INPUT type="text" name="a_dsn" value="<?=$a_dsn?>"></td> <TD><B>Usuario:</B></TD> <TD><INPUT type="text" name="a_usuario" value="<?=$a_usuario?>"></td> <TR><TD colspan="2"> <CENTER>... la...</center> <TD><B>Tabla:</B></TD> <TD><INPUT type="text" name="tabla" value="<?=$tabla?>"></td> <INPUT type="submit" name="migrar" value="migrar"> <INPUT type="submit" value="limpiar"></center> </TABLE> </FORM> Lo que el código de este ejemplo hace es: conectar con la DSN origen, obtener el cursor de la tabla origen, conectar con la DSN destino, extraer información de la estructura de la tabla origen y crear una tabla en destino como la origen, y por último copiar los datos obtenidos del cursor de la tabla origen a la tabla destino. Veamos, pues, el código: Listado C:\Archivos de programa\apache Group\Apache\cgi-bin\tema8\migrador.php Migrador de tablas a través de ODBC. function migrar($de_dsn,$de_usuario,$a_dsn,$a_usuario,$tabla) { if (!$Origen=odbc_connect($De_DSN,$De_Usuario,"")) print("<p>error al conectar con $De_DSN como $De_Usuario</P>"); elseif (!$Cursor=odbc_exec($Origen,"SELECT * FROM $Tabla")) print("<p>error al obtener cursor a tabla $Tabla</P>"); elseif (!$Destino=odbc_connect($A_DSN,$A_Usuario,"")) print("<p>error al conectar con $A_DSN como $A_Usuario</P>"); else { extraerdefinicioncampos($cursor,$definicion,$formatos); if (odbc_exec($destino,"create TABLE $Tabla ($Definicion)")) copiafilas($cursor,$formatos,$destino,$tabla); else print("<p>error creando la tabla $Tabla con:<br>($definicion)</p>"); function extraerdefinicioncampos($cursor,&$definicion,&$formatos) { for ($i=1;$i<=odbc_num_fields($cursor);$i++) { if ($i>1) $Definicion.=","; $Definicion.=odbc_field_name($Cursor,$i); $Tipo=odbc_field_type($Cursor,$i); $Definicion.=" ".$Tipo; if (strtolower($tipo)=="varchar") { $Definicion.="(".odbc_field_len($Cursor,$i).")"; $Formatos[]="'%s'"; else $Formatos[]="%d"; function copiafilas($cursor,$formatos,$destino,$tabla) { for ($i=1;$i<=odbc_num_rows($cursor);$i++) { if (odbc_fetch_into($cursor,$i,$fila)) { foreach ($Fila as $j => $Campo) { if ($j==0) $Valores=sprintf($Formatos[$j],$Campo); else $Valores.=",".sprintf($Formatos[$j],$Campo); if (!odbc_exec($destino,"insert INTO $Tabla VALUES($Valores)")) print("<p>error añadiendo los valores:<br>($valores)</p>"); 18

19 else print("<p>error al leer fila $i</p>"); function resultado() { global $Migrar,$De_DSN,$De_Usuario,$A_DSN,$A_Usuario,$Tabla; if (isset($migrar)) migrar($de_dsn,$de_usuario,$a_dsn,$a_usuario,$tabla); else $De_DSN=$De_Usuario=$A_DSN=$A_Usuario=$Tabla=$Migrar; function migrador() { global $REQUEST_URI,$Ejemplo,$Tabla; global $De_DSN,$De_Usuario,$A_DSN,$A_Usuario; include("tema8/plantillas/migrador.html"); La función extraerdefinicioncampos() obtiene información de la estructura de la tabla (nombres y tipos de sus campos) a través de as funciones odbc_num_fields(), odbc_field_name(), odbc_field_type() y odbc_field_len() y la devuelve en la cadena $Definicion (usada para crear la tabla) y en el array $Formatos donde se guarda los formatos %d o %s según sea el campo entero o cadena (No estamos contemplando más tipos de datos en los ejemplos de este tema). La función copiafilas() recorre todas las filas (odbc_num_rows()) mediante la función odbc_fetch_into() que pasa la fila a un array que es compuesto con los formatos correspondientes para enviar en una instrucción SQL INSER INTO. Para probarlo créate una base de datos MS-Access vacía llamada Tema8. Si no dispones de MS-Access, en el directorio datos (donde se guarda la información de las sesiones) tienes una. Crea una DSN con el controlador ODBC de Access llamada Tema8-ODBC-Access para acceder a la base de datos vacía que has creado. Ahora ejecuta el ejemplo y pasa todas tus tablas de la base de datos Tema8 de MySQL a la nueva de Access a través de las DSN Tema8-ODBC-MySQL y Tema8-ODBC-Access. Abre la base de datos en Access y comprueba la migración. Si no dispones de Access usa el visor ODBC del ejemplo anterior Combinando ejemplos. Hemos terminado el tema habiendo creado una serie de herramientas que a través de Web nos van a permitir manipular datos en cualquier sistema de base de datos del que dispongamos su controlador ODBC, apoyándonos si es necesario en tablas que nos creemos o migremos a MySQL de forma temporal. Por ejemplo, si nos creamos la DSN Tema8-ODBC-Texto con el controlador ODBC de texto y vinculándolo a un directorio cualquiera (o creando uno vacío para tal menester), podemos hacar tablas en MySQL, pasarlas a texto a través del nuevo DSN y para consultarlas podemos usar el visor ODBC. 19

GESTOR DE DESCARGAS. Índice de contenido

GESTOR DE DESCARGAS. Índice de contenido GESTOR DE DESCARGAS Índice de contenido 1. Qué es DocumentosOnLine.net?...2 2. Qué es el Gestor de Descargas?...3 3.Instalación / Configuración...5 4.Descarga de Documentos...9 5.Búsqueda / Consulta de

Más detalles

Manual de NetBeans y XAMPP

Manual de NetBeans y XAMPP Three Headed Monkey Manual de NetBeans y XAMPP Versión 1.0 Guillermo Montoro Delgado Raúl Nadal Burgos Juan María Ruiz Tinas Lunes, 22 de marzo de 2010 Contenido NetBeans... 2 Qué es NetBeans?... 2 Instalación

Más detalles

Curso de PHP con MySQL Gratis

Curso de PHP con MySQL Gratis Curso de PHP con MySQL Gratis Introducción Este mini curso o mini tutorial de PHP le ayudará a realizar cualquier sistema para que pueda insertar uno o varios registros a una base de datos con MySQL, este

Más detalles

Cómo instalar fácilmente tu WordPress tras contratar un hosting en Hostalia

Cómo instalar fácilmente tu WordPress tras contratar un hosting en Hostalia Cómo instalar fácilmente tu WordPress tras contratar un hosting en Hostalia Cardenal Gardoki, 1 48008 BILBAO (Vizcaya) Teléfono: 902 012 199 www.hostalia.com La puesta en marcha de WordPress es muy sencilla,

Más detalles

Este tipo de situaciones son solventadas a partir de las variables de sesión.

Este tipo de situaciones son solventadas a partir de las variables de sesión. INDICE 1.- Concepto de Sesión 2.- Variables de Sesión 3.- Iniciando sesiones 4.- Creando variables de sesión 1.- Concepto de Sesión En los programas que hemos visto hasta ahora, hemos utilizado variables

Más detalles

ESCUELA SUPERIOR DE INFORMATICA Prácticas de Estadística UNA SESIÓN EN SPSS

ESCUELA SUPERIOR DE INFORMATICA Prácticas de Estadística UNA SESIÓN EN SPSS UNA SESIÓN EN SPSS INTRODUCCIÓN. SPSS (Statistical Product and Service Solutions) es un paquete estadístico orientado, en principio, al ámbito de aplicación de las Ciencias sociales, es uno de las herramientas

Más detalles

UNIDESYS UNIVERSAL BUSINESS SYSTEMS INSTALACIÓN NUEVO PUESTO DE TRABAJO

UNIDESYS UNIVERSAL BUSINESS SYSTEMS INSTALACIÓN NUEVO PUESTO DE TRABAJO www.ubs-systems.com Teléfono: 91 3681185 UNIDESYS UNIVERSAL BUSINESS SYSTEMS INSTALACIÓN NUEVO PUESTO DE TRABAJO Unidesys Versión 2011 1 CONTENIDO 1 INTRODUCCIÓN 3 2 FUENTES DE DATOS 4 3 INSTALACIÓN DEL

Más detalles

Joomla! La web en entornos educativos

Joomla! La web en entornos educativos Joomla! La web en entornos educativos Módulo : 2012 ACL (I). Usuarios. Estructura predeterminada. 4 Las versiones 2.5 de Joomla! poseen un avanzado ACL (Access Control List), que especifica qué usuarios

Más detalles

AGREGAR COMPONENTES ADICIONALES DE WINDOWS

AGREGAR COMPONENTES ADICIONALES DE WINDOWS INSTALACIÓN DE IIS EN WINDOWS XP El sistema está desarrollado para ejecutarse bajo la plataforma IIS de Windows XP. Por esta razón, incluimos la instalación de IIS (Servidor de Web) para la correcta ejecución

Más detalles

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS Escritorio remoto - 1 - Escritorio Remoto...- 3 - Definición de Escritorio Remoto... - 3 - Habilitar Escritorio Remoto... - 4 - Instalación del

Más detalles

5. Composer: Publicar sus páginas en la web

5. Composer: Publicar sus páginas en la web 5. Composer: Publicar sus páginas en la web Si nuestras páginas existen únicamente en el disco duro local, sólo nosotros podremos navegar por ellas, pero nadie más podrá hacerlo. Composer nos permite publicarlas

Más detalles

Funcionamiento del sistema de autentificación en PHP

Funcionamiento del sistema de autentificación en PHP Sistema de autentificación PHP Cómo realizar un sistema de autentificación en PHP, en el que los usuarios deban introducir nombre y contraseña para que puedan visualizar las páginas de una aplicación con

Más detalles

PHPMYADMIN Y MYSQL. Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin.

PHPMYADMIN Y MYSQL. Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin. PHPMYADMIN Y MYSQL Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin. PhpMyAdmin es una herramienta para la administración del servidor de base de datos MySQL que dispone

Más detalles

1/ XAMPP: más fácil imposible. Vamos directamente a la página de descarga de Apache Friends para Windows

1/ XAMPP: más fácil imposible. Vamos directamente a la página de descarga de Apache Friends para Windows Moodle en XAMPP Presentación Xampp Moodle 1.9 Moodle 2.0 Moodle exprés Xampp Lite 1/ XAMPP: más fácil imposible 1.1/ Obtención de XAMPP Vamos directamente a la página de descarga de Apache Friends para

Más detalles

INSTALACIÓN PHP+MYSQL CON EASYPHP

INSTALACIÓN PHP+MYSQL CON EASYPHP INSTALACIÓN PHP+MYSQL CON EASYPHP La herramienta EasyPhp, configura automáticamente y de manera sencilla un servidor Apache en nuestra máquina junto con un gestor de bases de datos MySQL. Para comenzar

Más detalles

Redes de área local: Aplicaciones y servicios WINDOWS

Redes de área local: Aplicaciones y servicios WINDOWS Redes de área local: Aplicaciones y servicios WINDOWS 5. Servidor DHCP 1 Índice Definición de Servidor DHCP... 3 Instalación del Servidor DHCP... 5 Configuración del Servidor DHCP... 8 2 Definición de

Más detalles

Introducción al desarrollo web (idesweb)

Introducción al desarrollo web (idesweb) Introducción al desarrollo web (idesweb) Práctica 8: PHP 2 (cookies y sesiones) 1. Objetivos Conocer el concepto de cookie y sus posibles usos. Aprender a utilizar las cookies con PHP. Conocer el concepto

Más detalles

Configuración de un sitio local

Configuración de un sitio local Configuración de un sitio local Un sitio web es un conjunto de archivos y carpetas, relacionados entre sí, con un diseño similar o un objetivo común. Es necesario diseñar y planificar el sitio web antes

Más detalles

Tutorial: Primeros Pasos con Subversion

Tutorial: Primeros Pasos con Subversion Tutorial: Primeros Pasos con Subversion Introducción Subversion es un sistema de control de versiones open source. Corre en distintos sistemas operativos y su principal interfaz con el usuario es a través

Más detalles

Guía para el tratamiento en Allegro de recibos para centros no pertenecientes a la Generalitat Valenciana.

Guía para el tratamiento en Allegro de recibos para centros no pertenecientes a la Generalitat Valenciana. Guía para el tratamiento en Allegro de recibos para centros no pertenecientes a la Generalitat Valenciana. Esta guía muestra como proceder en la configuración y posterior uso de la aplicación Allegro en

Más detalles

Pasamos ahora a definir brevemente cual es el método de conexión más habitual usando un entorno gráfico.

Pasamos ahora a definir brevemente cual es el método de conexión más habitual usando un entorno gráfico. Clientes de FTP en modo gráfico Introducción Ya vimos en la primera parte de nuestro curso de FTP, que la conexión a servidores inicialmente se realizaba (y aún se sigue haciendo) en modo texto. Aunque

Más detalles

Redes de área local: Aplicaciones y servicios WINDOWS

Redes de área local: Aplicaciones y servicios WINDOWS Redes de área local: Aplicaciones y servicios WINDOWS 7. Escritorio remoto 1 Índice Definición de Escritorio Remoto... 3 Habilitar Escritorio Remoto... 4 Instalación del cliente de Escritorio Remoto...

Más detalles

1. Servidor Web. (apache). 2. PHP. 3. Manejador de base de datos (mysql, postgress).

1. Servidor Web. (apache). 2. PHP. 3. Manejador de base de datos (mysql, postgress). COMO DESARROLLAR UN SISTEMA EN PHP PASO A PASO. (Guía practica). La presente guía esta diseñada para orientar a los programadores que se están iniciando en el mundo del php, a desarrollar una aplicación

Más detalles

Para instalar el software FacturaScripts, primero deberemos descargarlo. Para ello, accedemos a la url:

Para instalar el software FacturaScripts, primero deberemos descargarlo. Para ello, accedemos a la url: 1 QUÉ ES FACTURASCRIPTS? Facturascripts es un software de facturación y contabilidad fácil, libre y con actualizaciones constantes. Está especialmente indicado para PYMES y es compatible con otras herramientas

Más detalles

A continuación se presenta la forma en que se puede conectar PHP con el gestor de bases de datos MySQL.

A continuación se presenta la forma en que se puede conectar PHP con el gestor de bases de datos MySQL. Conexión de PHP y MySQL: A continuación se presenta la forma en que se puede conectar PHP con el gestor de bases de datos MySQL. Una vez el servidor ha solicitado al intérprete de PHP la ejecución de un

Más detalles

Sesiones (I) Requisitos de configuración. Iniciando y propagando sesiones. 1 de 5. Qué son las sesiones? Funciones de sesión

Sesiones (I) Requisitos de configuración. Iniciando y propagando sesiones. 1 de 5. Qué son las sesiones? Funciones de sesión 1 de 5 Ver índice Sesiones (I) Qué son las sesiones? Suponemos que habrás estado alguna vez en un hotel y que recuerdas que al inscribirnos como huéspedes nos facilitan una tarjetita identificativa que

Más detalles

Acá vamos a ocuparnos de cómo realizar la instalación de una red intra-aula sobre Linux, concretamente en la distribución de GNU/Linux Ubuntu 9.04.

Acá vamos a ocuparnos de cómo realizar la instalación de una red intra-aula sobre Linux, concretamente en la distribución de GNU/Linux Ubuntu 9.04. Instalación de una red intra-aula sobre Linux (Ubuntu 9.04) Introducción La idea y la fundamentación de la creación de redes intra-aula, se puede encontrar en el siguiente enlace: http://www.fedaro.info/2009/06/29/redes-intra-aula/

Más detalles

Manual de Formulario. www.sagasoluciones.com info@sagasoluciones.com C/ Salado, 11. Local 10. 41011 Sevilla +34 954 45 72 75

Manual de Formulario. www.sagasoluciones.com info@sagasoluciones.com C/ Salado, 11. Local 10. 41011 Sevilla +34 954 45 72 75 Manual de Formulario info@sagasoluciones.com C/ Salado, 11. Local 10. 41011 Sevilla +34 954 45 72 75 MANUAL DE FORMULARIO CONTROL DEL DOCUMENTOS Realizado (21/01/2010) Inmaculada Peña Ruiz Técnico Revisado

Más detalles

Ambos paquetes simplifican mucho la instalación del servidor en el equipo. Y ambos pueden ser utilizados para la creación de una red intra-aula.

Ambos paquetes simplifican mucho la instalación del servidor en el equipo. Y ambos pueden ser utilizados para la creación de una red intra-aula. Instalación de una red intra-aula sobre Windows Introducción La idea y la fundamentación de la creación de redes intra-aula, se puede encontrar en el siguiente enlace: http://www.fedaro.info/2009/06/29/redes-intra-aula/

Más detalles

GVisualPDA Módulo de Almacén

GVisualPDA Módulo de Almacén GVisualPDA Módulo de Almacén GVisualPDA es una aplicación para Windows Mobile 5/6 que amplía más aún las posibilidades de integración del software de gestión GVisualRec permitiendo estar conectados en

Más detalles

Guía de uso del Cloud Datacenter de acens

Guía de uso del Cloud Datacenter de acens guíasdeuso Guía de uso del Cloud Datacenter de Calle San Rafael, 14 28108 Alcobendas (Madrid) 902 90 10 20 www..com Introducción Un Data Center o centro de datos físico es un espacio utilizado para alojar

Más detalles

Software de Comunicaciones. Práctica 7 - Secure Shell. SSH

Software de Comunicaciones. Práctica 7 - Secure Shell. SSH Software de Comunicaciones Práctica 7 - Secure Shell. SSH Juan Díez-Yanguas Barber Software de Comunicaciones Ingeniería Informática - 5º Curso Jdyb - Mayo 2013 Juan Díez- Yanguas Barber Práctica 7 Índice

Más detalles

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento Qué es AT-Encrypt nos permitirá dotar de contraseña a cualquier documento o carpeta. Este documento o carpeta sólo será legible por aquel que conozca la contraseña El funcionamiento del cifrado (o encriptación)

Más detalles

Arsys Backup Online Manual de Usuario

Arsys Backup Online Manual de Usuario Arsys Backup Online Manual de Usuario 1 Contenido 1. Instalación del Programa Cliente... 3 Pasos previos... 3 Instalación... 3 Configuración del acceso... 6 Ubicación del servidor de seguridad... 6 Datos

Más detalles

PROCESO DE INSTALACIÓN Y CONFIGURACIÓN DE APACHE, PHP Y MySQL

PROCESO DE INSTALACIÓN Y CONFIGURACIÓN DE APACHE, PHP Y MySQL PROCESO DE INSTALACIÓN Y CONFIGURACIÓN DE APACHE, PHP Y MySQL Comenzaremos con la instalación de APACHE; que es un programa de servidor HTTP Web de código abierto. Este servidor se desarrolla dentro del

Más detalles

Herramientas Informáticas para la Documentación Práctica 1. Introducción al navegador Netscape

Herramientas Informáticas para la Documentación Práctica 1. Introducción al navegador Netscape Herramientas Informáticas para la Documentación Práctica 1. Introducción al navegador Netscape Introducción y objetivos De modo muy resumido Internet es una red que interconecta redes de ordenadores. Conectándose

Más detalles

Formas de llevar a cabo un backup de una base de datos MySQL

Formas de llevar a cabo un backup de una base de datos MySQL Formas de llevar a cabo un backup de una base de datos MySQL Calle San Rafael, 14 28108 Alcobendas (Madrid) 902 90 10 20 www..com Introducción Muchas aplicaciones web hacen uso de bases de datos donde

Más detalles

Uso del servidor gráfico X en los servidores del CESGA mediante PuTTY y Cygwin

Uso del servidor gráfico X en los servidores del CESGA mediante PuTTY y Cygwin Uso del servidor gráfico X en los servidores del CESGA mediante PuTTY y Cygwin Contenido Introducción... 2 Obtención e instalación del software necesario... 2 Configuración de PuTTY para su uso con Cygwin...

Más detalles

abacformacio@abacformacio.com

abacformacio@abacformacio.com Programación de páginas web con PHP Curso de desarrollo de aplicaciones web. Para ello se estudia la programación de la parte cliente con JavaScript y la programación de la parte servidor con la tecnología

Más detalles

PHP. Introducción (1) Introducción (3) Introducción (2) PHP 1

PHP. Introducción (1) Introducción (3) Introducción (2) PHP 1 Introducción (1) Personal Home Page Qué es? Acrónimo de : Hypertext Preprocessor. Lenguaje interpretado de alto nivel que permite desarrollar fácilmente páginas dinámicas. Similar a los lenguajes C y Perl.

Más detalles

Cómo crear, compartir y modificar un formulario

Cómo crear, compartir y modificar un formulario Cómo crear, compartir y modificar un formulario Los formularios de Google Docs son una herramienta útil que te permite planificar eventos, enviar una encuesta, hacer preguntas a tus estudiantes o recopilar

Más detalles

MANUAL COPIAS DE SEGURIDAD

MANUAL COPIAS DE SEGURIDAD MANUAL COPIAS DE SEGURIDAD Índice de contenido Ventajas del nuevo sistema de copia de seguridad...2 Actualización de la configuración...2 Pantalla de configuración...3 Configuración de las rutas...4 Carpeta

Más detalles

Manual de configuración de Thunderbird ÍNDICE

Manual de configuración de Thunderbird ÍNDICE Manual de configuración de Thunderbird ÍNDICE 1. ARRANCANDO THUNDERBIRD POR PRIMERA VEZ... 2 2. ARRANCANDO THUNDERBIRD POR N-ÉSIMA VEZ... 2 3. CONFIGURACIÓN DE CUENTA DE CORREO... 4 4. SERVICIO DE DIRECTORIO

Más detalles

Cálculo de calidad del suministro eléctrico y Energía y Facturación. - Manual de Usuario

Cálculo de calidad del suministro eléctrico y Energía y Facturación. - Manual de Usuario Cálculo de calidad del suministro eléctrico y Energía y Facturación. - Manual de Usuario ÍNDICE 1. INTRODUCCIÓN 2. ASPECTOS COMUNES DE LA APLICACIÓN 3. GESTIÓN 3.1. USUARIOS 3.2. ORGANIZACIONES 3.3. ASOCIACIONES

Más detalles

INSTALACIÓN DE ABIES 2 WEB PARA REALIZAR CONSULTAS SÓLO DESDE ORDENADORES DEL CENTRO ESCOLAR...5

INSTALACIÓN DE ABIES 2 WEB PARA REALIZAR CONSULTAS SÓLO DESDE ORDENADORES DEL CENTRO ESCOLAR...5 DE EDUCACIÓN SECRETARÍA DE ESTADO DE EDUCACIÓN Y FORMACIÓN DIRECCIÓN GENERAL DE FORMACIÓN PROFESIONA INSTITUTO DE TECNOLOGÍAS EDUCATIVAS MANUAL DE ABIES 2 WEB CREDITOS: Versión 2.0 Fecha 13/10/2009 Autor/es

Más detalles

Internet Information Server

Internet Information Server Internet Information Server Internet Information Server (IIS) es el servidor de páginas web avanzado de la plataforma Windows. Se distribuye gratuitamente junto con las versiones de Windows basadas en

Más detalles

Manual de instalación del Programa. Para WINDOWS

Manual de instalación del Programa. Para WINDOWS Manual de instalación del Programa Para WINDOWS Índice Manual de instalación del Programa... 1 Para WINDOWS... 1 1. WAMP SERVER:... 3 1.1. Instalación:... 3 1.2. Configuración:... 4 1.2.1. Httpd.conf...

Más detalles

Administrar El Usuario Mediante Windows NT

Administrar El Usuario Mediante Windows NT Administrar El Usuario Mediante Windows NT Administración de usuarios El Administrador de usuarios es la utilidad estándar que ofrece Windows NT. Como su nombre indica, se encarga de la administración

Más detalles

CIF-KM. GUÍA DE LOS PRIMEROS PASOS

CIF-KM. GUÍA DE LOS PRIMEROS PASOS CIF-KM. GUÍA DE LOS PRIMEROS PASOS Secciones 1. CONCEPTOS PREVIOS. 2. INSTALAR CIF-KM. 2.1 Descargar e instalar CIF-KM. 2.2 Configuración de CIF-KM. 2.3 Acceso externo al servidor de CIF-KM. 3. PRIMERA

Más detalles

INSTALACIÓN DE SQL SERVER 2008 Y SQL SERVER 2008 EXPRESS

INSTALACIÓN DE SQL SERVER 2008 Y SQL SERVER 2008 EXPRESS INSTALACIÓN DE SQL SERVER 2008 Y SQL SERVER 2008 EXPRESS Para instalar este motor de base de datos, SQL Express 2008 requiere de los siguientes prerrequisitos: 1. Microsoft.net Framework 3.5 2. Microsoft

Más detalles

Programación páginas web. Servidor (PHP)

Programación páginas web. Servidor (PHP) Programación páginas web. Servidor (PHP) Curso de desarrollo de aplicaciones web. Para ello se estudia la programación de la parte servidor con la tecnología PHP y el servidor de bases de datos MySQL.

Más detalles

Programa diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L.

Programa diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L. Manual de Usuario Programa diseñado y creado por Contenido 1. Acceso al programa... 3 2. Opciones del programa... 3 3. Inicio... 4 4. Empresa... 4 4.2. Impuestos... 5 4.3. Series de facturación... 5 4.4.

Más detalles

GUÍA PARA LA INSTALACIÓN DE MOODLE EN UN COMPUTADOR PERSONAL QUE USA EL SISTEMA OPERATIVO MS. WINDOWS

GUÍA PARA LA INSTALACIÓN DE MOODLE EN UN COMPUTADOR PERSONAL QUE USA EL SISTEMA OPERATIVO MS. WINDOWS GUÍA PARA LA INSTALACIÓN DE MOODLE EN UN COMPUTADOR PERSONAL QUE USA EL SISTEMA OPERATIVO MS. WINDOWS Objetivo: El propósito de esta guía es indicarle como configurar un entorno moodle de prácticas en

Más detalles

Sistemas de Gestión de Contenidos

Sistemas de Gestión de Contenidos 6. Post Nuke 6.1. Sistema Post Nuke 6.1.1. Qué es Post Nuke? Post Nuke es un sistema de Gestión de Contenidos (CMS) con licencia GNU, es decir gratuito, de código abierto y que puede ser modificado por

Más detalles

SERVICIO CREA TU WEB TELEFÓNICA NET. (Manual de usuario)

SERVICIO CREA TU WEB TELEFÓNICA NET. (Manual de usuario) SERVICIO CREA TU WEB TELEFÓNICA NET (Manual de usuario) 1 ÍNDICE 1. INTRODUCCIÓN... 3 2. CÓMO CREAR UNA TIENDA... 4 Paso 1: registro nuevo comerciante... 4 Paso 2: datos básicos web.... 5 Paso 3: diseño

Más detalles

Table of Contents. Ayuda Visual Recibos... Archvos... 3. Empresas... 5. Conceptos... 8. Tipos de cliente... 9. Clientes...10 Detalles de cliente...

Table of Contents. Ayuda Visual Recibos... Archvos... 3. Empresas... 5. Conceptos... 8. Tipos de cliente... 9. Clientes...10 Detalles de cliente... Table of Contents 1... 2 Archvos... 3 Empresas... 5 Conceptos... 8 Tipos de cliente... 9 Clientes...10 Detalles de cliente... 11 Lista de clinetes... 12 Plantillas de recibos... 13 Recibos de cliente...

Más detalles

Ministerio de Educación,Cultura y Deporte. Aulas en Red.Aplicaciones y servicios Windows. Módulo 3: Gestión de equipos.

Ministerio de Educación,Cultura y Deporte. Aulas en Red.Aplicaciones y servicios Windows. Módulo 3: Gestión de equipos. Ministerio de Educación,Cultura y Deporte. Aulas en Red.Aplicaciones y servicios Windows Módulo 3: Gestión de equipos. Escritorio Remoto Aulas en red. Aplicaciones y servicios. Windows Escritorio Remoto

Más detalles

DESARROLLA TU BLOG O PÁGINA

DESARROLLA TU BLOG O PÁGINA 1 DESARROLLA TU BLOG O PÁGINA WEB CON WORDPRESS Introducción a los sistema de gestión de contenidos. Instalación de Wordpress PROGRAMA DEL TALLER Introducción a los sistemas de gestión de contenidos. Instalación

Más detalles

TEMA 1.- Conceptos Generales y Entorno de Trabajo Objetivo

TEMA 1.- Conceptos Generales y Entorno de Trabajo Objetivo CURSO DE PHP El objetivo final que persigue este curso es dotar al alumno de los conocimientos necesarios para elaborar páginas web de carácter dinámico, utilizando, para ello, el lenguaje de programación

Más detalles

Instalación y mantenimiento de Joomla. Albert Nogués Sabater.

Instalación y mantenimiento de Joomla. Albert Nogués Sabater. Instalación y mantenimiento de Joomla. Albert Nogués Sabater. Este documento está bajo licencia CreativeCommons Reconocimiento-NoComercial- CompartirIgual 2.5 España Eres libre de copiar, distribuir y

Más detalles

MANUAL DE INSTALACIÓN

MANUAL DE INSTALACIÓN MANUAL DE INSTALACIÓN MANUAL DE INSTALACIÓN DE GOTELGEST.NET En este breve manual sobre la instalación de la aplicación de Gotelgest.net se explicará todo el proceso que hay que llevar a cabo para que

Más detalles

LX8_022 Requisitos técnicos de. instalación para el usuario

LX8_022 Requisitos técnicos de. instalación para el usuario LX8_022 Requisitos técnicos de instalación para el usuario FECHA NOMBRE FORMATO COMENTARIO AUTOR 28/04/2011 LX8_019 Requisitos técnicos de instalación para el usuario Grupo de desarrollo LexNet 24/04/2012

Más detalles

TUTORIAL PRÁCTICO COMPLETO DE BASE DE DATOS EN PHPMYADMIN Y GESTIÓN DESDE DREAMWEAVER

TUTORIAL PRÁCTICO COMPLETO DE BASE DE DATOS EN PHPMYADMIN Y GESTIÓN DESDE DREAMWEAVER TUTORIAL PRÁCTICO COMPLETO DE BASE DE DATOS EN PHPMYADMIN Y GESTIÓN DESDE DREAMWEAVER 1. Crear una nueva base de datos en phpmyadmin Abrimos el wampserver y luego el phpmyadmin Para seguir este tutorial,

Más detalles

Creación paso a paso de Formularios con Google (Parte I) (AKA: no corrijo nunca más!)

Creación paso a paso de Formularios con Google (Parte I) (AKA: no corrijo nunca más!) Creación paso a paso de Formularios con Google (Parte I) (AKA: no corrijo nunca más!) por Rodrigo Martínez Gazoni La idea de este tutorial es meternos en una de los servicios que ofrece Google en forma

Más detalles

MANUAL DEL INSTALADOR

MANUAL DEL INSTALADOR MANUAL DEL INSTALADOR Índice Índice... 2 Instalación... 3 Extracción de archivos... 3 Actualización de los archivos de sistema... 3 Pantalla inicial... 4 Selección de la ruta de instalación... 4 Selección

Más detalles

Marta Soler Tel: 902 33 12 12 Fax: 93 352 36 14 http://www.interdigital.es acc@interdigital.es TUTORIAL DEL GESTOR DE CONTENIDOS DOTNETNUKE

Marta Soler Tel: 902 33 12 12 Fax: 93 352 36 14 http://www.interdigital.es acc@interdigital.es TUTORIAL DEL GESTOR DE CONTENIDOS DOTNETNUKE . Marta Soler Tel: 902 33 12 12 Fax: 93 352 36 14 http://www.interdigital.es acc@interdigital.es TUTORIAL DEL GESTOR DE CONTENIDOS DOTNETNUKE El entorno de trabajo La página tiene como base una plantilla

Más detalles

Cómo unir un equipo al dominio de las aulas tecnológicas

Cómo unir un equipo al dominio de las aulas tecnológicas Cómo unir un equipo al dominio de las aulas tecnológicas Es requisito indispensable unir el equipo primero en MAX y luego en Windows, si se hace al revés Windows dará un error cuando intentemos iniciar

Más detalles

Una plantilla es un documento de Word 2003 con la característica de que el tipo de documento es plantilla de documento (.dot).

Una plantilla es un documento de Word 2003 con la característica de que el tipo de documento es plantilla de documento (.dot). Unidad 3. Plantillas Objetivos de la unidad: Una plantilla es un documento prediseñado que usted puede usar para crear nuevos documentos con el mismo formato. A través de una plantilla, el aspecto de un

Más detalles

PROGRAMACIÓN PÁGINAS WEB JAVASCRIPT Y PHP

PROGRAMACIÓN PÁGINAS WEB JAVASCRIPT Y PHP PROGRAMACIÓN PÁGINAS WEB JAVASCRIPT Y PHP OBJETIVOS Estudiar la programación de la parte cliente con JavaScript y la programación de la parte servidor con la tecnología PHP y el servidor de bases de datos

Más detalles

Creando una webquests

Creando una webquests Creando una webquests 1. LO PRIMERO EL PROGRAMA Para crear paginas web necesitamos el software apropiado. Hay muchas formas y programas para hacerlo, pero por su facilidad de uso y por ser software libre

Más detalles

Dossier de prácticas

Dossier de prácticas Dossier de prácticas Administración de Web Sites Màster d Enginyeria del Software Desenvolupament d aplicacions sobre Internet Fundació Politècnica de Catalunya Jaume Moral Ros Albert Obiols Vives 1 2

Más detalles

Explotación de Sistemas Informáticos IES Murgi 2006-2007 PRÁCTICA 9: SERVICIO WEB Y FTP DE INTERNET INFORMATION SERVICE

Explotación de Sistemas Informáticos IES Murgi 2006-2007 PRÁCTICA 9: SERVICIO WEB Y FTP DE INTERNET INFORMATION SERVICE PRÁCTICA 9: SERVICIO WEB Y FTP DE INTERNET INFORMATION SERVICE Índice 1. Instalación...2 2. Administrar los sitios Web... 4 3. Crear un nuevo sitio Web... 4 4. Creación de directorios virtuales... 5 5.

Más detalles

Ayuda para la instalación Componente Firma Digital INDICE. 1 Configuración previa...2. 1.1 Configuración Internet Explorer para ActiveX...

Ayuda para la instalación Componente Firma Digital INDICE. 1 Configuración previa...2. 1.1 Configuración Internet Explorer para ActiveX... INDICE 1 Configuración previa...2 1.1 Configuración Internet Explorer para ActiveX...2 1.2 Problemas comunes en sistema operativo Windows...8 1.2.1 Usuarios con sistema operativo Windows XP con el Service

Más detalles

Portal Del Emisor MANUAL DEL USUARIO. Plataforma de Facturación Electrónica

Portal Del Emisor MANUAL DEL USUARIO. Plataforma de Facturación Electrónica Portal Del Emisor MANUAL DEL USUARIO Plataforma de Facturación Electrónica 1. Índice 1. Índice... 2 2. Descripción General... 3 2.1. Alcance... 3 2.2. Flujo de navegación... 4 2.3. Perfil del Usuario...

Más detalles

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD Fecha última revisión: Diciembre 2010 Tareas Programadas TAREAS PROGRAMADAS... 3 LAS TAREAS PROGRAMADAS EN GOTELGEST.NET... 4 A) DAR DE ALTA UN USUARIO...

Más detalles

APUNTES: APLICACIONES WEB BASADAS EN PHP Y MYSQL Página 1 de 5

APUNTES: APLICACIONES WEB BASADAS EN PHP Y MYSQL Página 1 de 5 APUNTES: APLICACIONES WEB BASADAS EN PHP Y MYSQL Página 1 de 5 APLICACIONES WEB BASADAS EN PHP Y MYSQL Una aplicación web es básicamente un programa escrito sobre una página web, generalmente en lenguaje

Más detalles

TEMA 20 EXP. WINDOWS PROC. DE TEXTOS (1ª PARTE)

TEMA 20 EXP. WINDOWS PROC. DE TEXTOS (1ª PARTE) 1. Introducción. TEMA 20 EXP. WINDOWS PROC. DE TEXTOS (1ª PARTE) El Explorador es una herramienta indispensable en un Sistema Operativo ya que con ella se puede organizar y controlar los contenidos (archivos

Más detalles

ORVE OFICINA DE REGISTRO VIRTUAL. Manual Usuario Final Versión 2.1 Fecha de revisión 26/08/2013 Realizado por Equipo de Desarrollo PHP ORVE - 2.

ORVE OFICINA DE REGISTRO VIRTUAL. Manual Usuario Final Versión 2.1 Fecha de revisión 26/08/2013 Realizado por Equipo de Desarrollo PHP ORVE - 2. ORVE OFICINA DE REGISTRO VIRTUAL Manual Usuario Final Versión 2.1 Fecha de revisión 26/08/2013 Realizado por Equipo de Desarrollo PHP ORVE - 2.1 / 1 ÍNDICE 1 ACCESO A LA APLICACIÓN... 3 2 NUEVO REGISTRO...

Más detalles

Programa de Ayuda EMCS Instalación Versión SQL Server Versión 1.0 - Marzo 2010

Programa de Ayuda EMCS Instalación Versión SQL Server Versión 1.0 - Marzo 2010 Programa de Ayuda EMCS Instalación Versión SQL Server Versión 1.0 - Marzo 2010 Programa de Ayuda EMCS Instalación Versión SQL Server Tabla de Contenido 1 INSTALACIÓN EN EL SERVIDOR...3 1.1 CREAR LA BASE

Más detalles

VISUALINSCRIPCIONES - 2. POSIBLES PROBLEMAS DE INSTALACIÓN (RED CORPORATIVA SIN PERMISOS DE CONTROL)

VISUALINSCRIPCIONES - 2. POSIBLES PROBLEMAS DE INSTALACIÓN (RED CORPORATIVA SIN PERMISOS DE CONTROL) - 1. INSTRUCCIONES PARA LA INSTALACIÓN. VISUALINSCRIPCIONES - 2. POSIBLES PROBLEMAS DE INSTALACIÓN (RED CORPORATIVA SIN PERMISOS DE CONTROL) - 3. CÓMO REMITIR VISUAL INSCRIPCIONES A LOS CENTROS ESCOLARES

Más detalles

ZKTime Monitor : Programa de Control de Presencia y/o Accesos.

ZKTime Monitor : Programa de Control de Presencia y/o Accesos. ZKTime Monitor : Programa de Control de Presencia y/o Accesos. ZKTime Monitor es una Aplicación Informática que controla los Bonos de Accesos en una Empresa. El sistema consta del Software y Terminales

Más detalles

Manual de Panel de Control de Hosting Compartido

Manual de Panel de Control de Hosting Compartido Manual de Panel de Control de Hosting Compartido Manual Hosting Compartido 1 Índice 1 INTRODUCCIÓN 3 2 SERVICIOS DISPONIBLES 5 2.1 Gestión de FTP 5 2.1.1 Cuentas FTP 5 2.1.2 Crear cuenta FTP 5 2.2 Estadísticas

Más detalles

MANUAL DE USO FILEZILLA

MANUAL DE USO FILEZILLA Manual desarrollado por la Universidad de Jaén, España. http://www.ujaen.es/sci/redes/ftp/filezilla/ 1.- Introducción. MANUAL DE USO FILEZILLA FileZilla es un cliente de FTP desarrollado para la plataforma

Más detalles

Traslado de Copias y Presentación de Escritos. Manual de Usuario V.3.1

Traslado de Copias y Presentación de Escritos. Manual de Usuario V.3.1 Traslado de Copias y Presentación de Escritos Manual de Usuario V.3.1 Página: 2 45 INDICE INTRODUCCIÓN... 3 1 ACCESO A LA APLICACIÓN... 3 2 PROCESO DE FIRMA... 4 3 TRASLADOS PENDIENTES DE ACEPTAR POR EL

Más detalles

Acceso a base de datos SQLite desde Gambas

Acceso a base de datos SQLite desde Gambas Acceso a base de datos SQLite desde Gambas Prof: Mileti, P. Si deseamos realizar una pequeña aplicación en Gambas que trabaje con una base de datos local (alojada en el mismo disco rígido que nuestra aplicación),

Más detalles

INSTALACIÓN DE MEDPRO

INSTALACIÓN DE MEDPRO 1 Estimado Cliente: Uno de los objetivos que nos hemos marcado con nuestra nueva plataforma de gestión, es que un cliente pueda instalar MedPro y realizar su puesta en marcha de forma autónoma. Siga paso

Más detalles

Instalación de Joomla en un servidor de hosting

Instalación de Joomla en un servidor de hosting Instalación de Joomla en un servidor de hosting En este tutorial vamos a detallar los pasos a seguir para trasladar nuestro sitio Joomla creado en un servidor local a en un servidor de hosting definitivo.

Más detalles

COMO CREAR UNA PÁGINA WEB 2-INTRODUCCIÓN A DREAWEAVER

COMO CREAR UNA PÁGINA WEB 2-INTRODUCCIÓN A DREAWEAVER 2011 2012 COMO CREAR UNA PÁGINA WEB 2-INTRODUCCIÓN A DREAWEAVER WWW.FAUBELL.COM vicente@faubell.com Hasta ahora hemos visto una pequeña introducción a la creación de las páginas web. No te preocupes por

Más detalles

INSTALACIÓN DE LICENCIAS EN RED. Descripción del Procedimiento

INSTALACIÓN DE LICENCIAS EN RED. Descripción del Procedimiento INSTALACIÓN DE LICENCIAS EN RED Descripción del Procedimiento ÍNDICE 1 LICENCIA INDIVIDUAL FRENTE A LICENCIA EN RED... 5 2 RESUMEN DEL PROCEDIMIENTO... 5 3 PASOS DETALLADOS... 6 3.1 Obtener el fichero

Más detalles

Cómo tener tu Tumblr con un domino propio

Cómo tener tu Tumblr con un domino propio Cómo tener tu Tumblr con un domino propio Cardenal Gardoki, 1 48008 BILBAO (Vizcaya) Teléfono: 902 012 199 www.hostalia.com Desde hace algunos años, las redes sociales han adquirido una gran importancia

Más detalles

2.1. Instalación local de CONSTRUCTOR en Linex

2.1. Instalación local de CONSTRUCTOR en Linex 1. Probamos a instalarlo? A la hora de conocer y trabajar con CONSTRUCTOR podemos optar por alguna de las posibilidades para las cuales está preparado. CONSTRUCTOR cuenta con paquetes para su instalación

Más detalles

Control de accesos autónomo por huella dactilar

Control de accesos autónomo por huella dactilar Manual de software Control de accesos autónomo por huella dactilar Access FP (SOFTWARE PARA LECTOR DE HUELLA DACTILAR SIMON ALERT REF.: 8902003-039) (Versión de sofware 1.1) (Versión de documento 1.2)

Más detalles

GUÍA DE INSTALACIÓN Y USO

GUÍA DE INSTALACIÓN Y USO GUÍA DE INSTALACIÓN Y USO Edif. Metropol 1, C/ Industria 1, 3ª Planta Mod. 14-41927 - Mairena del Aljarafe, SEVILLA Tlf: 954 98 00 37 Email: info@didesis.com Guía de usuario 2 Contenido INTRODUCCIÓN...

Más detalles

Introducción a Mozilla Navegador

Introducción a Mozilla Navegador 20021125 Universidad de Navarra Introducción a Mozilla Navegador Versión 1.1. cti Centro de Tecnología Informática Tabla de contenidos 1. Mozilla Navegador...3 1.1.Establecer las preferencias de Navigator...4

Más detalles

CAPITULO VI ANEXOS 6.1. ANEXO 1: CRONOGRAMA DE ACTIVADES. Gráfico 31 Cronograma de Actividades Parte1

CAPITULO VI ANEXOS 6.1. ANEXO 1: CRONOGRAMA DE ACTIVADES. Gráfico 31 Cronograma de Actividades Parte1 CAPITULO VI ANEXOS 6.1. ANEXO 1: CRONOGRAMA DE ACTIVADES Gráfico 31 Cronograma de Actividades Parte1 Fuente: Jonathan Ayuquina 148 Gráfico 32 Cronograma de Actividades Parte2 Fuente: Jonathan Ayuquina

Más detalles

LAS CONSULTAS ACCESS 2007. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

LAS CONSULTAS ACCESS 2007. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE LAS CONSULTAS ACCESS 2007 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE LAS CONSULTAS En esta unidad veremos cómo crear consultas y manejarlas para la edición de registros de tablas

Más detalles

Páginas web ::: Publicación web por FTP Diseño de materiales multimedia. Web 2.0. 1.15 Publicación web por FTP

Páginas web ::: Publicación web por FTP Diseño de materiales multimedia. Web 2.0. 1.15 Publicación web por FTP 119 1.15 Publicación web por FTP 120 1.15 Publicación web por FTP 1.15.1 Qué es publicar un sitio web? La práctica habitual es diseñar las páginas web de nuestro sitio web en el disco duro del equipo para

Más detalles

Guía de Instalación. Versiones del documento

Guía de Instalación. Versiones del documento Guía de Instalación Versiones del documento Autor Fecha Observaciones Pablo J. Urbano Santos 03/12/08 Cambio de logos Luis Ig. Bacas Riveiro Pablo J. Urbano Santos Versiones anteriores 1 Índice de contenido

Más detalles

INTRANET: MANUAL DE INSTALACIÓN

INTRANET: MANUAL DE INSTALACIÓN INTRANET: MANUAL DE INSTALACIÓN 1 de 15 INDICE 1 Requisitos mínimos... 3 2 Instalación... 4 2.1 Instalación de los ficheros de la Intranet... 4 2.2 Registro de las librerías... 4 2.3 Configuración del

Más detalles