6Fak6us6
Usuario (Uruguay)

Hola! hoy les traigo aplicaciones de webs 2.0 son muy útiles y ya fueron probadas por muchas personas, las podes utilizar en tu blog o web. ACÁ LES DEJO EL LINK DE LAS DESCARGAS DE ESTE EXITOSO PROGRAMA CON APLICACIONES: http://bitnami.org/stacksDesde su página podrás descargarte stacks (así lo llaman ellos) de tus programas de código abierto favoritos, con las aplicaciones dependientes que necesiten, como Apache, MySQL, PHP o Ruby. Descargar y utilizar. Perfecto para realizar retoques, pruebas, o cambiar el diseño en modo local, antes de actualizar tu página web o blog.Actualmente cuentan con 16 stacks, con las aplicaciones más populares: WordPress, Joomla, Drupal, phpBB, Mediawiki…Además, desde su página web puedes votar las aplicaciones que te gustaría que incluyesen más adelante. En la votación actual, van por delante Subversion y Asterisk.Otro aspecto muy importante es que es multiplataforma. Los stacks están disponibles para Windows, Linux y Mac.Aquí les dejo algunos link que recomiendan para estas aplicaciones:http://wordpress.org/http://www.joomla.org/http://drupal.org/http://www.phpbb.net/http://www.mediawiki.org/wiki/MediaWikiRecuerden, esto es muy util para los que ya tienen sus web 2.0 y/o para los que la están creando y saben como utilizar estas aplicaciones. Para los que no saben como instalarlas o utilizarlas creare otro post.
Vamos a describir básicamente los pasos a seguir para crear una página web y las diferentes posibilidades para hacer una página web. Para tener una página web necesitamos:- un nombre dominio- un alojamiento web- una programación webPrimer paso: Definir nuestro objetivo.El primer paso es muy sencillo pero muy necesario, se trata de tener muy claro el objetivo de nuestra página web (privada, presencia, comercial, soporte, etc.) de ello dependerá cuales son los siguientes pasos a seguir para crear nuestra página web y la inversión necesaria (tiempo y dinero). A veces no necesitamos más que un alojamiento gratuito para nuestra página personal y el dominio no importa.Segundo paso: Análisis de palabras claves.Es quizás el paso más importante a la hora de crear una página web y muchas veces no se aplica llevando a unos resultados poco satisfactorios, de nada sirve tener una página web si el usuario no lo encuentra o su contenido no es relevante, un análisis de palabras claves nos demostrara que frases y palabras claves usan los internautas a la hora de moverse y buscar por Internet. Si nuestro objetivo es crear una página web con fines comerciales es indispensable realizar este paso.Tercer paso: Elegir un buen dominio.Es un paso que mucha gente no le presta la suficiente atención y acaba invirtiendo dinero y tiempo en un nombre de dominio totalmente equivocado o peor todavía un dominio gratuito, el nombre de dominio de una página web tiene mucha relevancia tanto en las búsquedas como en los internautas, un nombre de dominio acertado nos ayudará a conseguir nuestro objetivo.Cuarto paso: La estructura de navegación.Es conveniente invertir un poco de tiempo en estructurar el contenido de nuestra página web creando en un tozo de papel los diferentes menús y la relación entre ellos, es conveniente pensar en nuestro navegante deseado que perfil tiene y adecuar la navegación (estructura) de nuestra página web a su gusto y no al nuestro. Es parte de la usabilidad web y aporta una parte muy significativa en la consecución de los objetivos.Quinto paso: Diseño y programación web.Dependiendo de nuestro objetivo podemos crear la página web con un programa de diseño web, echar mano de creadores de páginas web sencillos, instalar algún gesto de contenido (CMS), etc. Este paso si depende totalmente del objetivo y de la inversión tanto económica como en tiempo. Si nuestro objetivo es comercial debemos solicitar ayuda a algún profesional para asesorarnos que tiempo de web nos hace falta, a veces con un buen gestor de contenido y algo de diseño gráfico podemos crear una página web muy profesional.Sexto paso: Elegir un alojamiento adecuado.Es otro paso que se valora muy poco y existe un gran desconocimiento además de una oferta muy amplia. Para crear una página web personal no es un paso importante pero si nuestro objetivo es comercial debemos conocer y elegir el alojamiento adecuado a nuestras necesidades, hoy en día un buen alojamiento de calidad no es una inversión elevada. Es bueno aprender algo más sobre alojamientos antes de contratarlo y poder de esta forma elegir más fácilmente el alojamiento web adecuado al mejor precio. Hay que valorar no solamente el espacio que nos ofrecen si no además su ubicación, que ip nos asignan, si son ip privadas o compartidas, el ancho de banda, etc.Séptimo paso: Publicar nuestra página web.Ya tenemos todo listo y solamente falta publicar nuestra página web, si hemos optado por una web gratuita o un gestor de contenido ya lo tendremos instalado pero si hemos usado algún programa de diseño web como Dreamweaver o frontpage deberemos subir nuestra página web (los ficheros) al alojamiento Web que hemos contratado, esto se realiza mediante una herramienta FTP (file transfer protocol) hay varios programas FTP en el mercado incluid gratuitos que nos ayudarán de forma muy sencilla subir los ficheros.Octavo paso: Comprobar nuestra página web.Es quizás muy obvio pero antes de publicitar nuestra página web es muy conveniente comprobar que todo funciona correctamente.Noveno paso: Dar a conocer nuestra página web.Ha llegado el gran momento de presentar nuestra página web al mundo, ahora debemos dar de alta en los principales buscadores y directorios nuestra página web recién creada para de esta forma facilitar que los navegantes encuentren nuestra página web, hoy en día hay mucha formas de presentar y dar a conocer nuestra página web, podemos participar en foros o blogs e incluir nuestra página en nuestra firma, participar en las redes sociales, etc.Décimo paso: Medir los resultados de nuestra página web.Es una de las grandes ventajas del marketing en Internet, el poder medir en tiempo real la reacción y el comportamiento de los navegantes en nuestra página web. Con dicha información podemos ir mejorando nuestra página web y conseguir los mejores resultados. Hoy en día hay varias herramientas de estadísticas Web y dependiendo de nuestro objetivo deberemos contratar una u otra, de todas formas no tenemos un gran conocimiento sobre analítica web aconsejo a cualquiera a por lo menos instalar Google Analytics, es gratuito, fácil y muy intuitivo.ESPERO QUE LES GUSTE EL POST, DEJEN PUNTOS

Registro y reconocimiento de usuarios con PHPEn esta oportunidad crearemos un sistema de registro de usuarios utilizando a PHP.Primero que nada quiero decirles que es largo el procedimiento pero si se exfuersan lo entienden y da resultados estupendos!¿En que consiste? y ¿para que sirve? muy sencillo, en algunas webs comopor ejemplo esta, queremos interactuar con los usuarios, deseamos que estospuedan enviar scripts al sistema para ayudar a crecer la coleccion de scriptsque disponemos, pero deseamos llevar un control sobre los autores de los scriptsasi que no cualquiera puede enviar scripts, para hacerlo tienes que registrartey hacer el respectivo "ingreso" para que el sistema te reconoscay te deje enviar scripts, archivos y articulos como este, de otra manera nopuedes hacer ninguna de estas acciones.¿Pero como se logra esto?, se hace teniendo en una base de datos una tabla de usuarios(Podriahacerse con archivos, aunque seria un poco inseguro) y por medio de archivosPHP y manejo de sesiones(session) o por "cukis"(cookies).En este articulo explicare como crear un sistema de registro y reconocimiento de usuarios teniendouna tabla en una base de datos MySql y por medio de "cukis"(COOKIES)para nuestra web de una manera sencilla.A la hora de crear un sistema de registro de usuarios siempre pensamos en lo mismo:registro + login+ reconocimientoQueremos que los usuarios se registren dejando sus datos y puedan acceder a algunas zonasde la pagina y sea reconocido por nuestra pagina(por ejemplo "bienvenidojlmm" o "bienvenido visitante" en caso de no estar ingresado(o registrado) en el sistema).Muchos piensan en crear un sistema de usuarios por que les parece "bonito", pero haypocos que realmente lo necesitan(lo digo por experiencia con dichas personas),y cuando les haces las dos preguntas:1- ¿que beneficios tienen los usuarios registrados con respecto a los demas?2- ¿que zonas de tu web quieres que sean de acceso restringido y PORQUE?La mayoria no es capaz de responder la primera pregunta, y es que antes de aventurarnos a crearun sistema de usuarios para nuestra web debemos de pensar si realmente valela pena, ya que las tematicas de la web y sus contenidos no siempre son adecuadospara tener un sistema de registro de usuarios.Para ello respondemos las 2 preguntas, en el caso de misCODIGOS.com serian:1- ¿que beneficios tienen los usuarios registrados con respecto a los demas?R://Posibilidad de enviar scripts, articulos y archivos al sistema, al igualque disponibilidad de un panel de control entre otros.2- ¿que zonas de tu web quieres que sean de acceso restringido y PORQUE?R://Quiero que solo los usuarios que esten registrados puedan enviar scripts/articulos/archivos,ya que asi puedo llevar un mejor cotrol sobre los mismos y prevenir el envioindiscriminado de scripts/articulos/archivos al sistema por parte de los usuarios.Ya tenemos nuestras razones para crear nuestro sistema de registro de usuarios, claro que puedenhaber muchas razones dependiendo del tipo de web, podrian ser por ejemplo paraque solo usuarios registrados puedan bajar software/musica/videos/etc, pararestringir el acceso a ciertas zonas de la web "obligando" al usuarioa registrarse para poder "ver" dicha zona, etc…Siempre teniendo en cuenta que las razones sean validas y que no molesten al usuario,ya que en mi caso hace algunos meses me encontre con una web de "scripts"la cual para poder ver los "scripts" tenias que registrarte, obviamentelo que hice fue salir de esa web y olvidarla (por ello no les puedo dar la direccion),tenemos que tener muy en cuenta que zonas restringir a usuarios registradosya que el usuario en general prefiere la comodidad y en este caso que les comentode webs con recursos y scripts para webmasters hay muchas (pero ninguna comoesta ) y hay que buscar siempre la comodidad de los usuarios.Ahora a lo que vinimos, crearemos nuestro sistema de registro de usuario, lo primero que debemos pensares que datos debera introducir el usuario para registrarse, como siempre deberande haber aunque sea dos campos basicos:nickpasswordLo mas común para identificar a los usuarios es por medio de nick/password,aunque también podria ser email/password, para este articulo utilizareel primero(nick/password).Ya sabemos que nuestra tabla de "usuarios" tendra esos dos campos:CREATE TABLE usuarios ( id bigint(7) NOT NULL auto_increment, nick char(100) NOT NULL, password char(100) NOT NULL, KEY id (id))¿Peroson suficientes?, tambien seria bueno tener el email de los usuarios en casode querer enviar informacion a los usuarios registrados y tener el nombre dedichos usuarios para personalizar dichos emails o mensajes que le demos al usuarioen la pagina(ejemplo "hola jorge luis", entonces nuestra tabla creceriaun poco:CREATE TABLE usuarios ( id bigint(7) NOT NULL auto_increment, nick char(100) NOT NULL, password char(100) NOT NULL, nombre char(255) default NULL, email char(100) default NULL, KEY id (id))Listo, ya tenemos la estructura de nuestra tabla de usuarios, es pequeña y sencillapero para efectos prácticos y de aprendizaje es perfecta (eso dependede ti, según lo que desees saber de tus usuarios).Ahora viene lo sencillo,crear el sistema de registro de usuarios, un formulario y una aplicacion queagregue al nuevo usuario a la base de datos, para ello crearemos un formulariodel tipo:FORM ACTION="registrar.php" METHOD="post"> Nick : <INPUT TYPE="text" NAME="nick" SIZE=20 MAXLENGTH=20> <BR> Email: <INPUT TYPE="text" NAME="email" SIZE=28 MAXLENGTH=100> <BR> Password: <INPUT TYPE="password" NAME="password" SIZE=28 MAXLENGTH=20> <BR> Nombre: <INPUT TYPE="text" NAME="nombre" SIZE=28 MAXLENGTH=255> <BR> <INPUT TYPE="submit" CLASS="boton" VALUE="Registrar"> </FORM>Y ahora necesitamos una aplicacion que lo procese (registrar.php), por motivospracticos haremos algo sencillo sin demasiadas comprobaciones (dependera deti mejorarlo si quieres algo mas personalizado), primero el codigo luego laexplicacion:<?php//AQUI CONEXION O include() DE ARCHIVO DE CONEXION CON BASE DE DATOS.function quitar($mensaje){$mensaje = str_replace("<","<",$mensaje);$mensaje = str_replace(">",">",$mensaje);$mensaje = str_replace("'","'",$mensaje);$mensaje = str_replace('"',""",$mensaje);$mensaje = str_replace("\\","",$mensaje);return $mensaje;}if(trim($HTTP_POST_VARS["nick"]) != "" && trim($HTTP_POST_VARS["email"]) != ""{$sql = "SELECT id FROM usuarios WHERE nick='".quitar($HTTP_POST_VARS["nick"])."'";$result = mysql_query($sql);if($row = mysql_fetch_array($result)){echo "Error, nick escogido por otro usuario";}else{$sql = "INSERT INTO usuarios (nick,password,nombre,email) VALUES (";$sql .= "'".quitar($HTTP_POST_VARS["nick"])."'";$sql .= ",'".quitar($HTTP_POST_VARS["password"])."'";$sql .= ",'".quitar($HTTP_POST_VARS["nombre"])."'";$sql .= ",'".quitar($HTTP_POST_VARS["email"])."'";$sql .= "";mysql_query($sql);echo "Registro exitoso!";}mysql_free_result($result);}else{echo "Debe llenar como minimo los campos de email y password";}mysql_close();?>Al principio no he echo conexion con la base de datos pero he puesto el comentario "//AQUI CONEXION O include() DE ARCHIVO DE CONEXION CON BASE DE DATOS.", ya que la conexion depende de ti, si no sabes como hacer una conexion te aconsejobuscarte un manual antes de estar queriendo hacer un sistema como este.Vemos que he declarado una funcion, llamada quitar($mensaje), la cual recibe el parametro "mensaje",esta funcion se encargara de deshabilitar el codigo html("<" y">" al reemplazarlos por su respectivo codigo("<"y ">", ademas de reemplazar el apostrofe(‘) y las comillas dobles("por sus respectivos codigos HTML, esto para no tener conflictos con la instruccionsql, y al final retorna la cadena con las nuevas modificaciones en caso de haberlas:function quitar($mensaje) { $mensaje = str_replace("<","<",$mensaje); $mensaje = str_replace(">",">",$mensaje); $mensaje = str_replace("'","'",$mensaje); $mensaje = str_replace('"',""",$mensaje); $mensaje = str_replace("\\","",$mensaje); return $mensaje; }Ahoracomprobaremos que los campos de nick y password que seran los "requeridos"como minimo para completar el registro no esten vacios, para ello utilizamosla funcion "trim()" la cual quita los espacios al comienzo y al finalde la cadena, por lo que en caso de ser una cadena vacia o con solo espaciosen blanco retornara "", en caso de ser valido continuamos con el registro,de lo contrario retornamos un mensaje de error:if(trim($HTTP_POST_VARS["nick"]) != "" && trim($HTTP_POST_VARS["password"]) != ""Ahora suponiendo que las cadenas estaban correctas comprobaremos que el nick seleccionadopor el usuario no exista en la base de datos, para ello hacemos una instruccionsql para pedirle a la base de datos que nos retorne la fila donde el nick seaigual al nick introducido con el usuario(quitandole el apostrofe, html y demascon la funcion quitar()):$sql = "SELECT id FROM usuarios WHERE nick='".quitar($HTTP_POST_VARS["nick"]."'"; $result = mysql_query($sql);En caso de existir dicho nick, osea que nos devuelve una fila:if($row = mysql_fetch_array($result))Mostraremos un mensaje de error al usuario informandole del "incidente", de locontrario continuaremos con el proceso de registro.Ahoralo que hacemos es simplemente una instruccion sql donde insertamos en la tablausuarios el nick, password, nombre y email introducidos por el usuario en elformulario, a todos estos les quitamos el html, apostrofe y demas haciendo usode nuestra instruccion "quitar()", y mostramos un mensaje de "exito" al usuario:$sql = "INSERT INTO usuarios (nick,password,nombre,email) VALUES ("; $sql .= "'".quitar($HTTP_POST_VARS["nick"])."'"; $sql .= ",'".quitar($HTTP_POST_VARS["password"])."'"; $sql .= ",'".quitar($HTTP_POST_VARS["nombre"])."'"; $sql .= ",'".quitar($HTTP_POST_VARS["email"])."'"; $sql .= ""; mysql_query($sql); echo "Registro exitoso!";Notaor efectos practicos hemos echo esto muy sencillo, podrian agregar máscomprobaciones como la del email o manejo de errores mysql.Tambien podria hacerse más seguro mediante el uso de la funcion de encriptacionmd5() para el password, aunque se esta haciendo lo mas sencillo posible ya quela finalidad de este articulo es la de enseñar como reconocer a los usuarios,de ustedes dependen estos "detalles" a la hora de "depurar" este codigo.Bien, listo ya tenemos la aplicacion de registro, ¿pero y ahora que?, que hagocon todos esos usuarios, ahora necesitamos que los usuarios ingresen y sean"reconocidos" y como lo dije lo haremos por medio de cookies.Crearemos un formulario HTML para que los usuarios introduscan su nick y password al igual que deberemosde realizar una aplicacion ingresar.php que sera la encargada de procesar siel usuario es valido y darle "ingreso" al sistema por medio de unacookie.Es recomendable tener este archivo en la carpeta raiz de nuestra web, el formulario html seria algoasi:<FORM ACTION="ingresar.php" METHOD="post"> Nick : <INPUT TYPE="text" NAME="nick" SIZE=20 MAXLENGTH=20> <BR> Password: <INPUT TYPE="password" NAME="password" SIZE=28 MAXLENGTH=20> <BR> <INPUT TYPE="submit" CLASS="boton" VALUE="Ingresar"> </FORM>Yahora el codigo de nuestra aplicacion ingresar.php, luego la explicacion:<?php //AQUI CONEXION O include() DE ARCHIVO DE CONEXION CON BASE DE DATOS.function quitar($mensaje){$mensaje = str_replace("<","<",$mensaje);$mensaje = str_replace(">",">",$mensaje);$mensaje = str_replace("'","'",$mensaje);$mensaje = str_replace('"',""",$mensaje);$mensaje = str_replace("\\","",$mensaje);return $mensaje;}if(trim($HTTP_POST_VARS["nick"]) != "" && trim($HTTP_POST_VARS["password"]) != ""{$nickN = quitar($HTTP_POST_VARS["nick"]);$passN = quitar($HTTP_POST_VARS["password"]);$result = mysql_query("SELECT password FROM usuarios WHERE nick='$nickN'";if($row = mysql_fetch_array($result)){if($row["password"] == $passN){//90 dias dura la cookiesetcookie("usNick",$nickN,time()+7776000);setcookie("usPass",$passN,time()+7776000);?>Ingreso exitoso, ahora sera dirigido a la pagina principal.<SCRIPT LANGUAGE="javascript">location.href = "index.php";</SCRIPT><?}else{echo "Password incorrecto";}}else{echo "Usuario no existente en la base de datos";}mysql_free_result($result);}else{echo "Debe especificar un nick y password";}mysql_close();?>Bien, arriba ya explique que debes de realizar la conexion y explique el funcionamientode la funcion quitar($mensaje), asi que saltemos hasta el primer "if".Lo primero que hacemos es comprobar que los campos de "nick" y "password" paraque no esten vacios, ya sabemos para que sirve trim() asi que no lo repetire:if(trim($HTTP_POST_VARS["nick"]) != "" && trim($HTTP_POST_VARS["password"]) != ""Asi que continuamos suponiendo que todo este bien, ahora lo que hacemos es quitarleel html, apostrofe comillas y demas al nick y password enviados por el usuariopara su comprobacion con la base de datos, para ello utilizamos la funcion quitar($mensaje)que explicamos antes, y guardamos las nuevas cadenas en dos nuevas variables:nickN = quitar($HTTP_POST_VARS["nick"]); $passN = quitar($HTTP_POST_VARS["password"]);Ahora ejecutamos una instruccion sql, en la cual le pedimos a la base de datos quede la tabla usuarios nos devuelva la fila cuyo nick corresponda por el enviadopor el usuario:$result = mysql_query("SELECT password FROM usuarios WHERE nick='$nickN'";Si devuelve una columna quiere decir que el nick SI existe en la base de datos,de lo contrario devolvemos un mensaje de error:if($row = mysql_fetch_array($result)) { ... } else { echo "Usuario no existente en la base de datos"; }Ahora continuamos con el proceso suponiendo que el usuario exista en la base de datosahora debemos comprobar que el password sea correcto, para ello hacemos unasimple comparacion, si es correcto continuamos de lo contrario mostramos elmensaje de password incorrecto:if($row["password"] == $passN) { ... } else { echo "Password incorrecto"; }Ahora suponiendo que el password es correcto continuamos y lo proximo a hacer es establecerlas cookies de nick y password (Las cuales nombramos "usNick"/"usPass" y contienen el nick y password respectivamente) en la maquina del usuario, informamosque se ha realizado correctamente el login y lo enviamos a la pagina principal,una vez mas recalco que estamos haciendo esto lo mas sencillo posible, de tidepende personalizar y mejorar los mensajes :setcookie("usNick",$nickN,time()+7776000); setcookie("usPass",$passN,time()+7776000); ?> <SCRIPT LANGUAGE="javascript"> alert("Ingreso exitoso"; location.href = "index.php"; </SCRIPT> <?Listo, el usuario ya tiene las cookies en su sistema, ¿pero ahora que?, comohacemos para comprobar en las paginas que queramos si el login es correcto,osea que el usuario posee las cookies y son validas?.Para ello crearemos un ultimo archivo, lo llamaremos login.php, este se encargara de leer las cookiesy decirnos si el usuario es un usuario registrado y que ha echo el respectivo "ingreso" al sistema, el contenido de dicho archivo seria el siguiente:<?php $loginCorrecto = false; $idUsuarioL; $nickUsuarioL; $emailUsuarioL; $nombreUsuarioL; if(isset($HTTP_COOKIE_VARS["usNick"]) && isset($HTTP_COOKIE_VARS["usPass"])){$result = mysql_query("SELECT * FROM usuarios WHERE nick='".$HTTP_COOKIE_VARS["usNick"]."' AND password='".$HTTP_COOKIE_VARS["usPass"]."'";if($row = mysql_fetch_array($result)){setcookie("usNick",$HTTP_COOKIE_VARS["usNick"],time()+7776000);setcookie("usPass",$HTTP_COOKIE_VARS["usPass"],time()+7776000);$loginCorrecto = true;$idUsuarioL = $row["id"];$nickUsuarioL = $row["nick"];$emailUsuarioL = $row["email"];$nombreUsuarioL = $row["nombre"];}else{//Destruimos las cookies.setcookie("usNick","x",time()-3600);setcookie("usPass","x",time()-3600);}mysql_free_result($result);}?>Lo primero que hacemos es declarar unas variables que utilizaremos para guardarlos datos del usuario en caso de tener las cookies en su sistema y de estasser correctas:$loginCorrecto = false; $idUsuarioL; $nickUsuarioL; $emailUsuarioL; $nombreUsuarioL;Hay una variable boleana que tenemos que mirar de cerca y es la de $loginCorrectoya que esta sera la que utilizaremos para comprobar el login en nuestros archivos,mas adelante veremos como.Seguidamente lo que hacemos es comprobar que las cookies existan, si no existen pues no hay problemasimplemente no hay "ingreso" :if(isset($HTTP_COOKIE_VARS["usNick"]) && isset($HTTP_COOKIE_VARS["usPass"]))Ahora lo que hacemos es una sentencia sql, en la cual le pedimos a la base de datosque nos devuelva la fila donde el nick y password correspondan al nick y passwordguardado en las cookies:$result = mysql_query("SELECT * FROM usuarios WHERE nick='".$HTTP_COOKIE_VARS["usNick"]."' AND password='".$HTTP_COOKIE_VARS["usPass"]."'";Si ese nick y password corresponden a una fila en la base de datos esto quieredecir que son correctos de lo contrario la informacion de las cookies esta maly debemos destruirlas:if($row = mysql_fetch_array($result)) { ... } else { //Destruimos las cookies. setcookie("usNick","x",time()-3600); setcookie("usPass","x",time()-3600); }Si la informacion es correcta procedemos con el ingreso, establecemos de nuevolas cookies con lo que se actualiza el tiempo de destruccion a otros noventadias apartir de ahora:setcookie("usNick",$HTTP_COOKIE_VARS["usNick"],time()+7776000); setcookie("usPass",$HTTP_COOKIE_VARS["usPass"],time()+7776000);Seguido de esto establecemos la variable $loginCorrecto a "true", y las otrasvariables las llenamos con la informacion del usuario:$loginCorrecto = true; $idUsuarioL = $row["id"]; $nickUsuarioL = $row["nick"]; $emailUsuarioL = $row["email"]; $nombreUsuarioL = $row["nombre"];Listo ya tenemos nuestro archivo "login.php", ahora ¿como lo utilizamos?,bien supongamos que queremos en nuestro "index.php" darle la bienvenidaal usuario en caso de estar ingresado en el sistema deseamos saludarlo por sunick o nombre en caso contrario lo saludaremos como visitante, para ello tendriamosque incluir el archivo "login.php" al comienzo de nuestro archivo"index.php" asi:Nota:Antes de incluir el "login.php" debe recordar realizar la conexion con la base de datos,de lo contrario obtendra errores.<?php //AQUI CONEXION O include() DE ARCHIVO DE CONEXION CON BASE DE DATOS.include("login.php";...Con eso el "login.php" se encargara de realizar las acciones que vimosarriba, ahora en nuestro "index.php" donde queramos saludar al visitanteponemos lo siguiente:... if($loginCorrecto){echo "Estas identificado en el sistema como ".$nickUsuarioL;}else{echo "Bienvenido visitante, el sistema no te ha reconocido";}...Como ven, hicimos uso de la variable $loginCorrecto la cual sera "true"en caso de que el usuario fuera reconocido por el sistema, de lo contrario sera"false".Y asi podemos usarlo en muchas areas, supongamos que tenemos una seccion donde solo pueden accesarlos usuarios registrados, la llamaremos "restringida.php", entonces lo que hariamos para prevenir que usuarios no registrados vean el contenido seria algo asi:<?php //AQUI CONEXION O include() DE ARCHIVO DE CONEXION CON BASE DE DATOS. include("login.php";if($loginCorrecto){echo "Aqui el contenido solo para usuarios registrados";}else{echo "El sistema no lo ha identificado, solo los usuarios registrados tienen acceso a esta area";}?>Eso es todo, espero haya quedado claro. PD: Sobre el proceso de "logout"o "salir" no lo explico ya que es algo muy sencillo, simplemente se"borran" las cookies.Perdón me di cuenta que en algunas partes aparecen caritas, ahí cambien la carita por el símbolo.

Zend Framework es un framework open source para PHP desarrollado por Zend, empresa encargada de la mayor parte de las mejoras hechas a PHP, por lo que se podría decir que es el framework “oficial”. Nos referiremos a Zend Framework por sus iniciales ZF en esta guía de publicación semanal.Características principalesZF implementa el patron MVC, es 100% orientado a objetos y sus componentes tienen un bajo acoplamiento por lo que los puedes usar en forma independiente. Un punto importante es que nos brinda un estándar de codificación que deberíamos seguir en nuestros proyectos.A su vez, cuenta con soporte para internalización y localización de aplicaciones (construir sitios multi idioma, convertir formatos de fechas, monedas, etc. según la región. Algo importantísimo para crear aplicaciones con un enfoque global y llegar de la mejor manera a la mayor cantidad de gente posible).Facilita el setup de nuestro proyecto brindándonos herramientas para crear la estructura de directorios, clases, etc. por línea de comandos, integración con phpUnit por medio de Zend_Test para facilitar el testing de nuestra aplicación.¿Todavía queres más? Posee adapters para gran cantidad de tipos de bases de datos diferentes; brinda componentes para la autenticación y autorización de usuarios, envío de mails, cache en varios formatos, creación de web services, etc. Es simple, si tenes algo que hacer, seguramente ya lo tuvo que hacer alguien antes! Así que aprovecha eso para invertir menos tiempo en el desarrollo y hacer uso de componentes ya testeados.InstalaciónLo primero es descargar la ultima versión desde el sitio oficial. Una vez descargado creamos la estructura de directorios. Puedes crearla automáticamente con Zend_Tool_Framework, o puedes hacerlo manualmente. La estructura inicial será así:Como vemos tenemos unos cuantos archivos básicos por crear, ya lo iremos viendo y verán que simple que es.Action ControllersLos controladores son clases que extienden de Zend_Controller_Action. Cada controlador tiene unos métodos especiales cuya nombre tiene el sufijo “Action”, llamados “action methods”. Por default, las URLs en ZF son del tipo /controlador/action, es decir que si en nuestro IndexController tenemos un “pruebaAction” lo podremos ejecutar desde /index/prueba.www.taringa.net/index/prueba (si estuviéramos trabajándolo en este sitio)El IndexController es el controlador por default.dijo:01 02 03 04 05 06 07 08 09 10 11 12 13 14 class IndexController extends Zend_Controller_Action { public function init() { } public function indexAction() { $this->view->mensaje = 'Primera aplicación con Zend Framework!'; } }[/quote]Su estructura es muy simple, en el método init() podremos poner tareas de inicialización y creamos un action llamado index, nada más.Al ejecutarlo, ZF automáticamente relaciona el nombre del action con una vista que será renderizada. Esta vista tiene la extensión phml, así que en el caso del indexAction la vista asociada sera index.phtml dentro de la carpeta correspondiente al controlador index en views/scripts.Para verlo bien claro:/views/scripts/{controlador}/{action}.phtmlEn el indexAction asignamos un texto a una variable de la vista, y en el archivo index.phtml lo mostramos haciendo echo $this->mensaje; en artículos posteriores hablaremos mas en detalle sobre controladores, vistas y demas.ErrorControllerOtro controlador particular es el ErrorController. Cada vez que se quiera ejecutar una página que no existe (error 404) o se produzca algún error en la aplicación (error 500) será ejecutado este controlador.dijo:01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 class ErrorController extends Zend_Controller_Action { public function errorAction() { $errors = $this->_getParam('error_handler'); switch ($errors->type) { case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ROUTE: case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_CONTROLLER: case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ACTION: $this->getResponse()->setHttpResponseCode(404); $this->view->message = 'Pagina no encontrada'; break; default: $this->getResponse()->setHttpResponseCode(500); $this->view->message = 'Ocurrio un error inesperado'; break; } } }[/quote]Configurando el htacces y el index.phpEn htaccess lo que hacemos es, aplicando el patrón Front Controller, redirigir todas las peticiones al index.php y luego allí decidir que página mostrar.dijo:RewriteEngine On RewriteRule !.(js|ico|txt|gif|jpg|png|css|pdf)$ index.php[/quote]Así que el siguiente paso será crear nuestro index:dijo:01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 // Definimos la ruta de /application defined('APPLICATION_PATH') || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application')); // El entorno de trabajo actual defined('APPLICATION_ENV') || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production')); // Configuramos el include path, es decir los directorios donde estarán nuestros archivos $rootPath = dirname(__FILE__)."/.."; set_include_path($rootPath . '/application/config' . PATH_SEPARATOR . $rootPath . '/library/'); // Zend_Application require_once 'Zend/Application.php'; // Creamos la aplicacion $application = new Zend_Application( APPLICATION_ENV, APPLICATION_PATH . '/configs/application.ini' ); $application->bootstrap()->run();[/quote]Aquí creamos dos constantes (APPLICATION_PATH y APPLICATION_ENV) que usaremos a lo largo de la ejecución, configuramos el include path, creamos nuestra instancia de Zend_Application y le damos run!Bootstrap y application.iniEn el index estamos haciendo referencia a un archivo llamado application.ini que todavía no creamos y que es ni más ni menos que la configuración de nuestro sitio. Para empezar crearemos algo simple:dijo:01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 phpSettings.display_startup_errors = 0 phpSettings.display_errors = 0 ; bootsrap bootstrap.path = APPLICATION_PATH "/Bootstrap.php" bootstrap.class = "Bootstrap" ; frontController resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers" ; layout resources.layout.layoutPath = APPLICATION_PATH "/layouts" ; Database resources.db.adapter = "pdo_mysql" resources.db.params.host = "localhost" resources.db.params.username = "user" resources.db.params.password = "pass" resources.db.params.dbname = "dbname" [development : production] phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 [testing : production][/quote]Hecho esto, debemos crear el Bootstrap, registrando en el autoloader el namespace de nuestra aplicación para poder instanciar las clases que usemos sin necesidad de hacer antes un include de dicho archivo:dijo:01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 class Bootstrap extends Zend_Application_Bootstrap_Bootstrap { protected function _initAutoloader() { $autoloader = Zend_Loader_Autoloader::getInstance(); $autoloader->registerNamespace('App_')->setFallbackAutoloader(true); $resourceAutoloader = new Zend_Loader_Autoloader_Resource( array( 'basePath' => APPLICATION_PATH, 'namespace' => 'App', 'resourceTypes' => array( 'form' => array('path' => 'forms/', 'namespace' => 'Form'), 'model' => array('path' => 'models/', 'namespace' => 'Model') ) ) ); } }[/quote]Seteando un layoutPor último creamos el layout de nuestro sitio. Dentro de la carpeta “layouts”, creamos el archivo layout.phtml:dijo:01 02 03 04 05 06 07 08 09 10 11 12 >!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> >html> >head> >meta http-equiv="content-type" content="text/html; charset=utf-8"> >title>Primera aplicacion en Zend Framework>/title> >/head> >body> >?php echo $this->layout()->content; ?> >/body> >/html>[/quote]Todo debería funcionar correctamente, podemos probar entrando a sitio.com, sitio.com/index, sitio.com/index/index, en todos ellos podemos ver el mensaje de bienvenida.Creando una aplicación modularOtra organización de directorios muy usada es la siguiente:Aquí tenemos nuestro sitio dividido en módulos, cada cual con sus propios controladores y vistas. Para realizar este cambio por un lado debemos cambiar la línea:dijo:resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"[/quote]pordijo:resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"[/quote]Y por otro lado, como ya dijimos ahora tenemos nuestro sitio organizado en módulos. El módulo por defecto se llama “default”, así que creamos el directorio modules con un subdirectorio correspondiente al modulo default y copiamos allí las carpetas views y controller. Listo! Ya podemos acceder otra vez, teniendo en cuenta que las urls ahora serán del tipo www.maestrosdelweb.com/modulo/controlador/action.Podremos verlo en funcionamiento desde maestrosdelweb.com, maestrosdelweb.com/default, maestrosdelweb.com/default/index, maestrosdelweb.com/default/index/index.En cuanto a los controladores, es importante aclarar un pequeño cambio, usando esta estructura de directorios llevan como prefijo el nombre del módulo al que pertenecen. Así, el controlador Usuarios del modulo Alta se llamara Alta_UsuariosController. Esto no cuenta para el modulo default, los controladores allí ubicados no llevan ningún prefijo especial.En este punto podríamos decir que hemos terminado con la instalación. En los próximos artículos hablaremos un poco más en detalle sobre las cosas que aquí vimos casi superficialmente, y sobre muchas otras.Este post va de:De todas formas como siempre digo, si tienen alguna duda o no comprenden como hacerlo, envienmen un mensaje y los ayudo.
Bueno, este es mi primer post y espero que les guste.Conoce el Grupo Scout Séptimo de Montevideo, UruguayBueno principalmente les cuento que pertenezco al Grupo scout séptimo de Montevideo, Uruguay al cual asisto desde los 7 años y hoy tengo 16.El Grupo Scout "Séptimo" Nº 7 de Montevideo, afiliado a Scouts de Uruguay (SDU), está ubicado en la calle Volteadores 1753 en barrio de Punta Gorda.Es un lugar muy lindo, y se pueden hacer muchos amigos en una sola reunión.Desde 1964 nuestro grupo participa de las iniciativas del Escultismo para el desarrollo integral de los jóvenes, de acuerdo a la propuesta educativa delineada por nuestro fundador, Robert Baden Powell.Como se conforma mi grupo scout:En el grupo existen cuatro ramas diferenciadas por edades y organizadas en pequeños grupos, donde los scouts desarrollamos nuestras actividades. Estas ramas son:-Rama Manada (de 7 a 11 años) (http://www.gruposcoutseptimo.org/lobatos.htm)-Rama Tropa (de 11 a 14 años) (http://www.gruposcoutseptimo.org/tropa.htm)-Rama Pioneros (de 14 a 17) (http://www.gruposcoutseptimo.org/pioneros.htm)-Rama Rovers (de 17 a 21) (http://www.gruposcoutseptimo.org/rovers.htm) El Grupo Séptimo se enorgullece de su larga historia llena de anécdotas y experiencias enriquecedoras. Desde 1964 hasta hoy han pasado muchas personas por nuestra agrupación.La pagina web del grupo es: www.gruposcoutseptimo.orgBueno espero que disfruten de la info que subí hasta el momento, cuando pueda edito y subo mas.