Hola a todos, tanto tiempo. esta vez he vuelto por algo que aunque simple, no lo quiero dejar pasar: algunos problemas con el puerto 80 donde escucha Apache.
En mi caso, uso como servidor local, al paquete XAMPP, un servidor web bastante completo. ademàs es un servidor de correo, de FTP y varias otras cosas mas.
Un problema que a veces se me presentò es que en el panel de XAMPP, Apache funcionaba por unos momentos y luego dejaba de funcionar. Buscando por la red encontrè que el problema se debe a que tenemos algunas otras aplicaciones que tambièn estàn escuchando el puerto 80 y genera conflicto. La soluciòn pasa por cambiar el puerto 80 por otro, en nuestro caso, por el puerto 8080.
Como es apache el que està escuchando el puerto 80, tenemos que ir a la carpeta donde tenemos instalado nuestro xampp y editamos un archivo conf que està en nuestra_unidad_de_disco>xampp>apache>conf>htpd.conf y abrimos el acrchivo conf. Allì buscamos el port 80 y sòlo tenemos que cambiarlo por port 8080. Eso es todo, simple. Obviamente debemos reiniciar nuestra màquina y listo. Al momento de utilizar nuestro navegador, no olvimos que ahora nuestro servidor local serà http://localhost:8080
Hasta la pròxima, espero que les sea ùtil.
Filed under: Uncategorized | Deja un comentario
Etiquetas: Apache, XAMPP
Includes en PHP
Esta es una traducción parcial y sintética de un post de SITEPOINT y se refiere a las opciones que nos da PHP para el tratamiento de los includes, una sentencia muy conocida en muschos lenguajes.
Existen cuatro formas de incluir un script dentro de otro en PHP, ellos son:
- include
- require
- include_once
- require_once
include y require son casi idénticos, la única diferencia entre ellos es lo que sucede cuando intentamos cargar un archivo que no está disponible (porque no existe o porque el servidor no tiene permiso para leerlo). Con include, se muestra un aviso de error y el script continúa ejecutándose. Con require, se muestra un aviso de error y se detiene el script.
Un ejemplo de lo anterior sería usar un include para cargar un script de conección a una base de datos. Si sucede algún error en la conección, el script debería poder continuar para mostrar una opción de comunicar lo sucedido al administrador del sitio.
include_once y require_once funcionan igual que el include y el require respectivamente que ya vimos — pero con la diferencia de que si el archivo que pretendemos cargar ya ha sido incluído (usando cualquiera de las cuatro sentencias que estamos viendo), la sentencia será ignorada. Esto es útil para tareas que deseamos que se ejecutan una sóla vez, como puede ser la conección a una base de datos ya mencionada.
Filed under: PHP | Deja un comentario
scripts jsp
Mejor no demorar mucho, acá va un pequeño ejemplo de una página jsp:
<%–
Document : verdatos
Created on : 19/06/2010, 15:40:01
Author : Administrador
–%>
<%!
String mensaje1 = “Bienvenidos “;
String mensaje2 = “a mi web”;
String mensaje = “”;
%>
<%
mensaje = mensaje1 + mensaje2;
%>
<%@page contentType=”text/html” pageEncoding=”UTF-8″%>
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1″ />
<title>Formulario de ingreso de datos</title>
</head>
<body>
<form action=”validacion.jsp” method=”get” id=”formulario”>
<%= mensaje %><br>
Ingresa nombre y apellido<br>
nombre:<input type=”text” name=”nombre” /><br>
apellido:<input type=”text” name=”apellido” /><br>
<input type=”submit” name=”Submit” value=”Aceptar” />
</form>
</body>
</html>
Marcado en negritas, podemos ver un comentario, la declaración de 3 variables, un pequeño código java, una propiedad de página, y una impresión en pantalla del valor de una variable.
Filed under: jsp | Deja un comentario
JAVA SERVER PAGES (JSP)
Para aquellos que ya tengan alguna idea sobre los servlets de java, sabrán que la principal desventaja es que mezclan la presentación con el contenido. JavaServer Pages son páginas y son la respuesta de java a la programacíon web dinámica, similar a otras como PHP y ASP.NET.
Sin entrar en detalles, una página jsp contiene código html. Es decir, allí podemos escribir código html, css, javascript, etc. Además del código estático, la programación dinámica se hace a través de scripts propios de jsp. Estos son:
<% scriplets %> aquí se escribe código java.
<%! declaraciones %> aquí se declaran variables globales.
<%= expresiones %> aquí se colocan variables para que se muestre en pantalla.
<%@ directivas %> aquí se definen atributos que se usan para configurar la página.
En la próxima les mostraré un ejemplo de cómo se da todo esto en una página.
Filed under: jsp | Deja un comentario
En un desarrollo que estoy haciendo en este momento, se me presenta la necesidad de usar un iframe. Es bastante discutible sobre la utilidad de utilizar un iframe o no. Dejando de lado ese aspecto, se me presentó un “problema” a la hora de ver cómo el IE (cuándo no) mostraba el contenido del iframe. En FF y en Opera se lo mostraba con fondo transparente por defecto. En IE, con fondo blanco. La solucion es bastante simple pero no pasa por los estándares sino que pasa por código propietario.
Para versiones antiguas de FF y de Opera, en el archivo destino de iframe:
body {background-color:transparent;} incluso no hay que colocar nada para las versiones actuales de FF y Opera, simplemente se muestra transparente.
Para IE, en el archivo contenedor:
<iframe allowtransparency=”allowtransparency” src=”…” ></iframe>
Filed under: HTML | Deja un comentario
Transparencias con estilos css
Para aquellos que necesiten una etiqueta <div> con un color transparente o una semitransparencia, digamos; podemos hacer lo siguiente:
Para Firefox u Opera: opacity:0.5; (aquí coloco una tranparencia del 50%, uds coloquen la que necesiten)
Para IE 6, 7 u 8: filter:alpha(opacity=50);
En definitiva, nuestro estilo para una etiqueta div con un id=”menu”, tendremos
#menu {
background-color: #000000;
opacity:0.5; /*Opacidad de 50%*/
filter:alpha(opacity=50); /*Opacidad de 50% para IE 6,7 y 8*/
}
FF interpretará opacity, mientras que no hará nada con filter. Por otro lado IE sólo interpretará filter y no hará nada con opacity.
Filed under: css | Deja un comentario
Estilos css en CodeIgniter
Un problema que parece que se presenta al trabajar con codeigniter, es la asignación de estilos css a las vistas. Lo que sigue es una opción que me ha dado resultado:
Si nuestro sitio se llama, por ejemplo, misitio, en nuestro servidor tendremos http://localhost/misitio. Será algo común colocar allí mismo una carpeta con nuestros estilos (http://localhost/misitio/css). Deberíamos colocar en éste lugar los archivos de estilos, en particular podríamos tener uno llamado estilos.css, por ejemplo.
Sabemos que las vistas serán las responsables de “mostrar” en el navegador lo que se trató en los controladores y los modelos, según corresponda. Serán entonces las vistas en donde tendríamos que hacer la referencia a el/los archivos de estilos, por ejemplo:
<link href=”http://localhost/misitio/css/estilos.css” rel=”stylesheet” type=”text/css” /> (no se porqué, pero sólo funciona colocando toda la ruta completa)
Obviamente, un sitio cualquiera contendrá varias vistas, todas ellas referenciadas a este/estos archivo/s de estilos. No tendíamos problemas al correrlo en nuestro servidor local, pero al subirlo al servidor remoto, la referencia al archivo obviamente cambiará y esto producirá que no se muestren las vistas con los estilos correspondientes. ¿Cómo solucionamos el problema? algo muy simple que a mi me funciona es crear un archivo que contenga una variable con la ruta al archivo de estilos. En una vista hago un llamado a ese archivo y en el enlace al estilo en ese mismo archivo vista, coloco la variable mencionada. ¿Se entiende? De esta manera, sólo tengo que modificar la ruta una sóla vez en un sólo archivo y por referencia, todas las vistas tomarán el cambio. Veamos un ejemplo:
1. Creo un archivo con todos los estilos que necesite (misitio/css/estilos.css)
2. Creo un archivo de configuración de ruta a los estilos (misitio/system/application/views/rutas_config.php)
3. En el archivo rutas_config.php, escribimos
<?php
$ruta_estilos = “http://localhost/misitio/css/”;
?>
4. En un archivo vista, por ejemplo, bienvenido.php, hacemos
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1″ />
<title>mititulo</title>
<?php include(‘rutas_config.php’)?>
<link href=”<?php echo $ruta_estilos ?>estilos.css” rel=”stylesheet” type=”text/css” />
</head>
<body>
…
</body>
</html>
y listo. De ésta manera deberíamos poder ver nuestras vistas con estilos, incluso podríamos trabajar con el framework css 960grid que les mencioné en otro post.
Filed under: Uncategorized | 13 Comentarios
Instalación de CodeIgniter I
Programar un sitio cada de vez desde cero, es un trabajo un poco tedioso. Además se presenta el problema de separar el desarrollo en la “capa de presentación”, en la “capa de datos” y en la “capa de comportamiento”. Lo anterior sería separar lo estético, lo “bonito” de una págna web; separar las gestiones con la base de datos, es decir las consultas; y finalmente separar el comportamiento de la página, es decir qué hacer con las variables de un formulario al enviarlo, por ejemplo, etc. Esta concepción de saparar un desarrollo en 3 capas se llama “Model-View-Controller” o MVC: modelo-vista-controlador. Aquí, el modelo se encarga de las consultas a la base de datos; la vista se encarga de la presentación y el controlador del comportamiento de la página.
Existen muchos frameworks para PHP que implementan el concepto de MVC. Algunos de ellos son: CakePHP, Symfony y CodeIgniter (para ver mas frameworks PHP cliqueá acá).
En éste post les hablaré de CodeIgiter. Este framework es bastante simple de aprender y en muy poco tiempo podremos estar desrrollando un sitio con él.
Obviamente, debemos ir a la página correspondiente y descargar la última versión del archivo.
No voy a explicarles aquí todos los detalles de la instalación y una vez instalado y configurado el sitio, cómo hacer nuestros primeros trabajos. Para ello, una muy buena opción es ir al tutorial de Desarrolloweb de codeigniter. También en la misma página de codeigniter, tenemos una guia del usuario redactada en forma de tutoriales y no como una referencia, aunque está en inglés. Lo que veremos aquí son algunos detalles que creo conveniente aclarar al momento de la configuración del sitio:
1. Configuración del sitio:
Codeigniter trabajará haciendo referencias al directorio raiz del sitio de trabajo. Es decir, si por ejemplo el sitio de trabajo está en http://localhost/misitio, ese será el valor de la variable base_url que el framework usará como referencia. Para setear ese valor a la variable en cuestión, tendremos que ir al archivo misitio/system/application/config/config.php y abrirlo. Una vez avierto, buscamos $config["base_url"] y le asignamos el valor http://localhost/misitio, es decir que quedaría así: $config["base_url"]=http://localhost/misitio.
2. Configuración de la base de datos:
Codeigniter necesitará saber las varialbles de acceso a la bd, etc. Para ello, deberemos ir al archivo misitio/system/application/config/database.php y abrirlo. Una vez allí, sólo tenmos que asignarlo valores a las cariables hostname, username, etc.
Un detalle importate es que deberemos decirle a codeigniter que cargue automáticamente la conección a la bd, pues no lo hará si no se lo decimos… Esto se hace desde el archivo misitio/system/application/config/autoload.php. Allí tenfremos que buscar la variable $autoload['libraries'] y asignarle el valor array(‘database’), es decir que nos quedaría así: $autoload['libraries']= array(‘database’).
3. “Eliminacíon” del archivo idex.php:
Esto está muy claramente explicado en el tutorial de desarrolloweb que les mencioné mas arriba. Sólo podré agregar que el archivo htaccess que se menciona en el artículo va en el directorio raiz de nuestro sitio, es decir en http://localhost/misitio/ para nuestro ejemplo. Además el archivo en cuestion es un archivo sin nombre de extensión htaccess
4. Modificación de la página de inicio de codeigniter:
Como sabrán una vez leído el tutorial, todo el sito pasa por el archivo index.php. Este archivo muestra un controlador por defecto que es el que vemos cuando cargamos la página por primera vez. Para modificar esto último, tenemos que decirle a codeigniter que cargue otro controlador al momento de cargar el sitio, obviamente ese otro controlador será uno hecho por nosotros en referencia al sitio. Esto último se hace desde misitio/system/application/config/routes.php en el cual debemos buscar $route['default_controller'] y hacer $route['default_controller'] = “nuestro_controlador_de_inicio”. Obviamente ese controlador tiene que existir y estar guardado en misitio/system/application/controllers/nuestro_controlador_de_inicio.php
Filed under: PHP | 2 Comentarios
Continuando con nuestro trabajo con las grillas, dijimos que una vez descargado el archivo “nathansmith….zip”, tenemos que descomprimirlo en la carpeta raiz de nuestro sitio. Una vez hecho esto, vamos a tener una carpeta de nombre “nathansmith….”. Dentro de esta carpeta, tenemos otra de nombre “code”. Y a su vez dentro de esta última, tenemos otra de nombre “css”. Esta es la carpeta que nos interesa. Podemos íncluso borrar todos los demás archivos y carpetas y sólo dejar esta única carpeta. Para el caso de este tutorial, vamos a trabajar sólo con la carpeta “css”.
Bueno, vamos a suponer ahora un archivo “index.html” con el siguiente código:
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1″ />
<title>gaparac4</title>
<link href=”css/reset.css” rel=”stylesheet” type=”text/css” />
<link href=”css/text.css” rel=”stylesheet” type=”text/css” />
<link href=”css/960.css” rel=”stylesheet” type=”text/css” />
<link href=”css/estilos.css” rel=”stylesheet” type=”text/css” />
</head>
<body>
<div class=”container_12″ id=”container”>
<div class=”grid_7 prefix_1″>
<div class=”grid_2 alpha” id=”bloque”>
<p>grilla1</p>
</div>
<div class=”grid_3″ id=”bloque”>
<p>grilla2</p>
</div>
<div class=”grid_2 omega” id=”bloque”>
<p>grilla3</p>
</div>
</div>
<div class=”grid_3 suffix_1″ id=”bloque”>
<p>grilla4</p>
</div>
<div class=”clear”></div><!–después de cada renglón se agrega un “clear” para limpiar los float. –>
<div class=”grid_7″ id=”bloque”>
hola mundo
</div>
<div class=”grid_5″ id=”bloque”>
<p>grilla5</p>
</div>
<div class=”clear”></div><!–después de cada renglón se agrega un “clear” para limpiar los float. –>
</div>
</body>
</html>
Como podemos ver, en <head>, declaramos los enlaces a los archivos css:
<link href=”css/reset.css” rel=”stylesheet” type=”text/css” />
<link href=”css/text.css” rel=”stylesheet” type=”text/css” />
<link href=”css/960.css” rel=”stylesheet” type=”text/css” />
<link href=”css/estilos.css” rel=”stylesheet” type=”text/css” />
Notemos que como dije mas arriba, sólo trabajamos con la carpeta “css”.
Podemos ver que el framework trabaja con clases, esto es class=”container_12″, class=”grid_1″, etc. Es a través de los atributos “id” que podemos personalizar la apariencia de las etiquetas <div>, con colores, tipos de texto, etc. En éste ejemplo, para todas las etiquetas que escribamos, los estilos de las propiedades “id”, las colocamos en el archivo “estilos.css” para separar nuestro código del propio del framework y lograr así mayor claridad. La clase que contiene a todas las demás es class=”container_12″ y todas las restantes clases están agrupadas por lineas teniendo en cuenta que por renglón, las columnas suman 12. Al final de cada linea colocamos “<div class=”clear”></div>” para limpiar los float de la fila.
A modo de ejemplo, podemos mostrar el archivo “estilos.css”, que podría ser algo tan simple como lo siguiente:
body {
background-color: #333333;
}
#container {
background-color: #000000;
color: #FFFFFF;
}
#bloque {
background-color: #999999;
}
Ahora sólo queda adaptar este ejemplo a cada necesidad y trabajar sin preocuparnos por los hack de IE.
Filed under: css | Deja un comentario
Desde la página oficial del framework, http://960.gs/ , descargamos la última versión disponible. Una vez hecho lo anterior, la descomprimimos en la carpeta raiz de nuestro sitio.
Básicamente trabajaremos con clases. Las clases en cuestión son:
- container_yy : Donde “yy” puede ser 12 o 16, que son el número de columnas con las que trabajaremos.
- grid_xx: Donde “xx” será el número de anchos de columnas que ocupará nuestro <div>.
- prefix_xx: Esto se utilizará para mover “xx” columnas a la izquierda.
- suffix_xx: Es muy parecido a prefix_xx, pero hacia la derecha.
- alpha: Se usa para eliminar el margen de 10px en el lado izquierdo.
- omega: Similar al aterior, pero para eliminar el margen derecho de 10px.
Para darnos una idea de como quedaría nuestro código, acá va un div con un ancho de 4 columnas y con 8 columnas de espacio antes del div.
<div class="grid_4 prefix_8" id="footer">
<p>hola mundo</p>
</div><!--footer-->
En el próximo post, veremos una pequeña aplicación de lo anterior.
Filed under: css | Deja un comentario
Entradas Recientes
- Como cambiar el puerto 80 de Apache Server por el puerto 8080
- Includes en PHP
- scripts jsp
- JAVA SERVER PAGES (JSP)
- Un iframe con fondo transparente con IE
- Transparencias con estilos css
- Estilos css en CodeIgniter
- Instalación de CodeIgniter I
- 960 grid system, un framework para css – parte 3
- 960 grid system, un framework para css – parte 2
- 960 grid system, un framework para css – parte 1
Categorías
- Ajax (2)
- css (4)
- Drupal (1)
- HTML (1)
- javascript (2)
- jsp (2)
- Linux (1)
- PHP (7)
- Servidores (3)
- Uncategorized (2)
- Varios (8)

