El Padrino en 1 minuto
En busca de la plantilla definitiva
Cambie al fondo blanco nomas… ya veremos si consigo otra con fondo negro que me guste.
Si les intersa esta plantilla…
Plantilla Blogy-Curved | Blog and Web
Ventanas en Vim
Veamos algunas cosas básicas de esto.
Para abrir Vim con más de un archivo divido en dos de forma horizontal, lo hacemos con la orden -o
$vim archivo1 -o archivo2
Para hacer lo mismo pero de forma vertical, simplemente usamos la O (en mayúscula)
$vim archivo1 -O archiv
Cabe aclarar que podemos abrir la cantidad de archivos que queramos e incluso combinar esto
$vim archivo1 -o archivo2 -o archivo3
Una vez dentro de Vim, nos podemos mover por los archivos apretando
Pero no es necesario que salgamos de Vim para abrir otro “conjunto” de archivos, bastara con que usemos los siguientes comandos (<esc> + “:” + comando)
new: Abre <archivo> dividiendo la pantalla horizontalmente. Si no especificamos <archivo> abrira una ventana vacia (igual que si ejecutamos vim sin nigun parametro) vnew
: Exactamente igual que el anterior pero divide la pantalla verticalmente. close: Cierra la ventana actual si la hemos guargado. Podemos agregar ! para forzar.
Tambien es util que sepamos que con el comando “!” podemos ejecutar cualquier comando de nuestra shell. De modo que usando “:! ls” podemos ver los archivos que tenemos en el directorio actual.
Espero que les sirva este pequeño “ayuda memoria”.
[HOWTO] Login y sesiones en PHP
Más de una vez nos encontramos con la necesidad de crear paneles de administración u otros sectores para nuestros sitios web que no deberían ser accesibles para cualquier usuario. La forma más cómoda de hacer esto es mediante sesiones que “rastreen” a un usuario que previamente haya introducido un usuario y una clave.
La razón por la que escribo esto, es que la primera vez que me enfrente a un problema similar a este, los howto’s que encontré sobre esto estaban bastante des actualizados o con algunas cositas que no me gustaron, pero bueno, de todo hice un rejunte y arme esto… si quieren aportar algo, sera muy bienvenido
Comenzaremos este mini HOWTO creando una base de datos en MYSQL que contendrá algunos datos de los usuarios, en nuestro caso únicamente su nombre y password, pero tranquilamente se pueden agregar otros datos como e-mail, fecha de nacimiento, etc.
mysql> USE nombredb; DATABASE changed mysql> CREATE TABLE usuarios( -> id int(6) NOT NULL AUTO_INCREMENT, -> nombre varchar(20) NOT NULL, -> pass varchar(20) NOT NULL, -> PRIMARY KEY(id) -> ); Query OK, 0 rows affected (0.10 sec)
Creo que no hay mucho que explicar de esta tabla, los campos son bastante explícitos, tenemos un campo “id” el cual sera usado para indexar a los usuarios, luego “nombre” donde ira, valga la redundancia, el nombre del usuario y “pass” donde guardaremos la clave del mismo.
Ahora comenzamos con los scripts en PHP.
Lo primero que necesitamos es algún modo de agregar usuarios a esa tabla que creamos. Pero antes que nada, como necesitaremos conectarnos varias veces a nuestra base de datos para recuperar sus valores, lo primero que haremos sera un script para conectarnos a la misma y así no tener que repetirlo.
/*conexion.php, script usado para conectarnos a la base de datos que creamos anteriormente*/ //Definimos las variables que contendrán los datos de la conexión $hostdb = "hostdeladb"; $userdb = "usuariodelabd"; $passbd = "passworddelabd"; $bd = "nombredb"; ?>
De ahora en más, cuando necesitemos conectarnos a la bd, simplemente haremos “include(‘conexion.php’);”
Ahora crearemos el formulario de registro, para esto utilizaremos un form en html cuya acción estará en otro script al cual llamaremos agregar.php. Cabe aclarar que podemos meter el form y el control en un mismo archivo, yo los separo simplemente para que quede más claro que hace cada parte.
<form action="registro.php">
<fieldset>
<label for="user">Usuario:</label>
<input type="text" id="user" name="user"/>
<label for="pass">Clave:</label>
<input type="password" id="pass" name="pass" />
<input type="submit" name="button" id="button" value="Enviar" />
</fieldset>
</form>
Y ahora el script que agregará al nuevo usuario en nuestra base de datos. Para esto usaremos la función “mysql_query()” de PHP usando como parámetro la directiva “INSERT” de mySQL para insertar dentro de la tabla que creamos al principio el usuario y clave que acabamos de elegir controlando que no exista un usuario con el mismo nombre y controlando también que los campos no estén vacíos. El método que usare acá es fácilmente “violable”, dejo la seguridad a su cargo ya que no es el objetivo de esta guía.
// agregar.php /*Controlamos que se haya elegido un valor para el usuario y la clave. Sabiendo que los mismos fueron completados, los procesaremos. Si no, redirijimos la página hacia el form de registro*/ if(isset($_POST['user']) && ($_POST['user'] != " " || $_POST['pass'] != " ") ) { //Nos conectamos a la base de datos include(conexion.php); //Declaro variables locales con el valor de las globales //obtenidas por el form $user = $_POST['user']; $pass = $_POST['pass']; //Haremos una consulta a la base de datos para saber si ya //existe un usuario con ese nombre $qry = mysql_query("select * from usuarios where nombre='$user'"); if(mysql_num_rows($qry) != 0) /*Si el valor de mysql_num_rows no es 0, quiere decir que el usuario ya existe y por tanto no haremos nada*/ echo "El usuario ya existe"; else { //Si el usuario no existe lo incorporamos a nuestra base de //datos mysql_query("insert into usuarios(nombre,pass) values('$user', '$pass')); echo "Usuario agregado"; } } else header("location: registro.html
Ahora que tenemos usuarios en la base de datos, necesitamos un form que nos permita
autentificarlos.
Para esto usaremos un form html exactamente igual al anterior aunque, si en el
anterior pediste otros datos ademas del usuario y el password, acá simplemente
pediremos estos dos ultimos.
<form action="login.php">
<fieldset>
<label for="user">Usuario:</label>
<input type="text" id="user" name="user"/>
<label for="pass">Clave:</label>
<input type="password" id="pass" name="pass" />
<input type="submit" name="button" id="button" value="Enviar" />
</fieldset>
</form>
El siguiente paso sera entonces, buscar al usuario en la base de datos y comprobar
que coincida con la clave que proporciono. Esto lo hacemos de forma similar al
control para registrarlo, efectuamos una consulta buscando el usuario y la clave y
vemos cuantas entradas nos devuelve mediante “mysql_num_row()” si nos devuelve 0,
quiere decir que el usuario y/o la clave proporcionadas no fueron correctos, caso
contrario, guardaremos el nombre del usuario en una variable de sesión, la cual
usaremos para control más adelante.
//login.php //Nos conectamos a la base de datos include("conexion.php"); //Iniciamos la sesión donde guardaremos las variables //Creamos variables locales con el contenido de las devueltas por el form $user = $_POST['user']; $pass = $_POST['pass']; //Realizamos la consulta a la base de datos y controlamos que nos devuelva //algun resultado pass='$pass'"); $_SESSION['user'] = $user; /*Declaramos una variable de sesión donde guardaremos el nombre del usuario para control*/ de nuestra página*/ } else echo "El usuario y/o clave no son correctas"; ?>
Por ultimo, crearemos la sección de nuestra página a la que queremos que
solo ingresen nuestros usuarios registrados.
Dentro de la misma, controlaremos que el usuario se haya logeado mediante la
variable de sesión $_SESSION['user'].
-
//private.php
-
//vera un mensaje de bienvenida
-
else
-
//formulario de login
-
?>
Y con esto terminamos esta mini guía.
Si necesitamos otras páginas “privadas”, simplemente controlamos la misma variable.
Para deslogearnos, todo lo que tendremos que hacer es llamar en alguna página a la
función “session_destroy()”.
Hay que recordar también, que si nuestros usuarios cierran el navegador, la sesión
también se cerraran. Para resguardar las variables entonces, debemos hacer uso de
cookies, pero eso lo dejaremos para otra ocasión.
Por ultimo, hay que destacar que nuestro “sistema de registro y login” no tiene
ningún tipo de seguridad, las claves se almacenan y viajan libremente sin ningún
tipo de encriptación, así que es otro asunto pendiente
Nuevos rumbos…
La razón, quería un lugar para, simplemente, escribir. Cosa que mi antiguo blog no me lo permitía del todo ya que estaba hecho desde 0 con PHP,HTML y CSS.
Esto no quiere decir que vaya a tirar lo que había hecho, ya que el manejo del “motor” de mi blog me dio ideas que me gustaron bastante y tengo pensadas aplicarlas para algo que dentro de poco tendrán noticias de eso
La plantilla que uso la saque de este lugar: http://www.jackbook.com/2007/08/mushblue-blogger-template-another-dark.html
Me gusto más que nada por los fondos oscuros que siempre los prefiero para leer texto dado que no cansan tanto la vista como los colores claros.
En cuanto al contenido, ya se vera hacia que lado va… esta vez no quiero decir nada… al fin y al cabo siempre escribo de lo que quiero al final.
