¡Advertencia!
Este tema no ha tenido respuestas en más de un mes. Recuerda que si deseas añadir una nueva debes cumplir con las normas de la web.
Tutorial - Login Simple
Creado y Programado por SoyJoaquin.


Buenas.. Este ya es como mi cuarto o quinto tutorial completo. Aquí les vengo a enseñar como hacer un login totalmente en php con datos predefinidos por variables, Algo realmente simple y que es usado mayormente para paneles de administración de muchas webs.

Empezamos...

-Paso 1: Datos:
-1.1: Creando Datos.
Lo primero que haremos sera crear un archivo php, Lo llamaremos como queramos, Yo en este tutorial lo voy a llamar datos.php

Después de crearlo lo editamos, abrimos un codigo php (<?) y vamos a definir una variable por cada dato, En este tutorial usaremos 2 datos. Usuario y Contraseña.

Vendria siendo algo como esto:

<?
$usuario = "AQUI EL USUARIO";
$contra = "AQUI LA CONTRASEÑA";


Ok, Bien por el momento ese es nuestro código, Yo definí el nombre de usuario como $usuario y la contraseña como $contra

Bien ahora nuestro login usara cookies para mantener activa la sección.
Para eso definimos por medio de una variable las cookies que usaremos, En nuestro caso:
$_COOKIE["usuario"];
$_COOKIE["contra"];

Ahora Cerramos el código PHP (?>).
Nuestro código de datos.php quedaría de la siguiente forma:

<?
$usuario = "AQUI EL USUARIO";
$contra = "AQUI LA CONTRASEÑA";
$coousuario = $_COOKIE["usuario"];
$coocontra = $_COOKIE["contra"];
?>


¿Les quedo así? Entonces continuamos...
Ahora Guarda el archivo.

-Paso 2: Procesar:
-2.1: Include a datos.php.

Creamos una nueva pagina PHP y la llamaremos prosesar.php
Luego abrimos un codigo PHP ( <? ) y aremos un include a nuestra pagina creada en el paso 1 (datos.php).

include("datos.php");


Entonces nuestro código viene quedando así:
<?
include("datos.php");


¿Bien? Continuamos.

-2.2: Crear Cookies
Bien.. Continuando con nuestro prosesar.php que viene quedando de la siguiente forma por los momentos:
<?
include("datos.php");


Ahora lo que aremos sera crear un if() que definirá si los datos enviados desde el formulario (Paso 3) son iguales a los datos que colocamos en el datos.php.

Seria de la siguiente forma:
if($_POST["usuario"]==$usuario && $_POST["contra"]==$contra) {


Lo que aremos despues sera crear una cookie usando setcookie donde guardaremos por X segundos nuestros datos.

Seria algo como:
setcookie("usuario", $usuario, time()+3600);
setcookie("contra", $contra, time()+3600);


Lo que aremos sera colocar el nombre de la cookie (No cambiar ya que así la definimos en el paso 1) y el numero en segundos de lo que quieres que dure la cookie, Es decir, El tiempo que quieres que dure online para que despues sea desconectado. En este caso colocamos 3600 Segundos que es igual a 1 hora.

Entonces nuestro código se va viendo de la siguiente forma:
<?
include("datos.php");
if($_POST["usuario"]==$usuario && $_POST["contra"]==$contra) {

setcookie("usuario", $usuario, time()+3600);
setcookie("contra", $contra, time()+3600);


Después aremos un header() para re dirigirte a la pagina del formulario. Como se que no lo hemos creado entonces colocaremos el nombre de como se va a llamar el formulario. Por ejemplo colocaremos formulario.php

y así quedaría nuestro código por los momentos:
<?
include("datos.php");
if($_POST["usuario"]==$usuario && $_POST["contra"]==$contra) {

setcookie("usuario", $usuario, time()+3600);
setcookie("contra", $contra, time()+3600);
Header("Location: formulario.php");
}


-2.3: Creando Errores
Lo que aremos sera continuar con nuestro codigo anterior. Le agregamos un Else y a continuación los errores que queremos que nos aparezca en pantalla en caso de que el usuario/contraseña sea incorrectas.

Ejemplo:
else {
if($_POST["usuario"]!=$usuario) {
echo "El Usuario no es correcto.";
} else {
if($_POST["contra"]!=$contra) {
echo "La Contraseña no es correcta.";
  }
 }
}


¿Bien? Lo que isimos fue crear un if() para saber si el usuario es diferente al de datos.php que aparecería "El Usuario no es correcto.", Al igual isimos con la contraseña que aparecería "La Contraseña no es correcta."

Ahora cerramos nuestro código PHP ( ?> )

Nuestro prosesar.php quedaría de la siguiente forma:
<?
include("datos.php");
if($_POST["usuario"]==$usuario && $_POST["contra"]==$contra) {

setcookie("usuario", $usuario, time()+3600);
setcookie("contra", $contra, time()+3600);
Header("Location: formulario.php");
} else {
if($_POST["usuario"]!=$usuario) {
echo "El Usuario no es correcto.";
} else {
if($_POST["contra"]!=$contra) {
echo "La Contraseña no es correcta.";
  }
 }
}
?>


¿Bien? Guardamos y ahora seguimos con el paso 3

-Paso 3: Formulario:
-3.1: Creando Formulario.

Abrimos un código PHP ( <? o <?php  -  De igual manera es valido.), Aremos un include a datos.php y aremos un if() para saber si los datos son iguales a los guardados en las cookie.

Seria algo como:
<?
include("datos.php");
if ($coousuario==$usuario && $coocontra==$contra){


Ahora agregamos un echo para dar el mensaje de bienvenida si esta logueado, De lo contrario mostraría el formulario por medio de un else. Cerramos el codigo PHP ( ?> ) y Listo!

Seria algo así:
<?php
include("datos.php");
if ($coousuario==$usuario && $coocontra==$contra){

echo "Bienvenido al panel.";

} else {
?>
<form method="POST" action="prosesar.php">
<p><input type="text" name="usuario" size="20"></p>
<p><input type="password" name="contra" size="20"></p>
<p><input type="submit" value="Enviar" name="B1"></p>
</form>
<? } ?>


Y ... ya terminamos!
El login esta listo.

Previa: http://habbopaint.webcindario.com/tuto-login/formulario.php
Usuario: SoyJoaquin.
Contraseña: 12345

Descarga: http://www.mediafire.com/?nz0tlj4dnyk

Tutorial creado y Programado por SoyJoaquin.
Espero que les aya ayudado.

Arquitecto, diseñador y programador | Comenzando a proyectar mi vida bajo mis propios ideales. Administrador de ilDom, Twiteck y Century21
No he dicho nada... xD
Te quedó excelente el Tuto.
Muy bien explicado.

¡Soy el fantasma de Habtium! Me dedico a reemplazar aquellas cuentas que han sido eliminadas. 👻
ahora solo me falta el sistema de usuarios
---
muy bueno joaquin muy bueno!
Bueno como siempre

¡Soy el fantasma de Habtium! Me dedico a reemplazar aquellas cuentas que han sido eliminadas. 👻
Una cosa, ¿al crear un archivo php te refieres a crear un archivo de bloc de notas, meter el código y poner de nombre por ejemplo datos.php?.
gracias por el tuto, te quedó genial.

¡Soy el fantasma de Habtium! Me dedico a reemplazar aquellas cuentas que han sido eliminadas. 👻

Una cosa, ¿al crear un archivo php te refieres a crear un archivo de bloc de notas, meter el código y poner de nombre por ejemplo datos.php?.


Exacto...
Aunque lo puedes hacer con un editor PHP si quieres...

Saludos

Arquitecto, diseñador y programador | Comenzando a proyectar mi vida bajo mis propios ideales. Administrador de ilDom, Twiteck y Century21
Tengo un problema, cuando entro a: http://alberteban.webcindario.com/LoginSimple/formulario.php me da error ¿que es lo que tengo que arreglar?.He seguido todos los pasos.

Tengo un problema, cuando entro a: http://alberteban.webcindario.com/LoginSimple/formulario.php me da error ¿que es lo que tengo que arreglar?.He seguido todos los pasos.


No tengo ni idea de esto pero me imagino que es en la Linea 2 del archivo Formulario.php

Tengo un problema, cuando entro a: http://alberteban.webcindario.com/LoginSimple/formulario.php me da error ¿que es lo que tengo que arreglar?.He seguido todos los pasos.


Si no pones el código, dificilmente se te podrá ayudar.

Si no pones el código, dificilmente se te podrá ayudar.

<?php
include("datos.php");
if ($coousuario==$usuario && $coocontra==$contra){

echo "Bienvenido al panel.";

} else {
?>
<form method="POST" action="prosesar.php">
<p><input type="text" name="usuario" size="20"></p>
<p><input type="password" name="contra" size="20"></p>
<p><input type="submit" value="Enviar" name="B1"></p>
</form>
<? } ?>

Es el mismo que el del tutorial, primero quería hacer uno igual al del tutorial y despues lo personalizaría.
Te falta por crear el archivo datos.php. Ahora estoy mirando que dice el error, y dice que no encuentra ese archivo. Que antes no me había fijado en que decía.

Te falta por crear el archivo datos.php. Ahora estoy mirando que dice el error, y dice que no encuentra ese archivo. Que antes no me había fijado en que decía.

Pues yo lo tengo creado:
El servidor donde estás alojado utiliza tecnología unix. Los sistemas Unix distinguen mayúsculas y minúsculas en los nombres de los archivos. Es decir, puedes tener un datos.php y Datos.php y ser dos archivos distintos.

Y ya te paso, te aviso que no deberías poner nombre de archivos con espacios, y tampoco tienes que ponerle caracteres especiales, incluidas las tildes y las eñes.

El servidor donde estás alojado utiliza tecnología unix. Los sistemas Unix distinguen mayúsculas y minúsculas en los nombres de los archivos. Es decir, puedes tener un datos.php y Datos.php y ser dos archivos distintos.

Y ya te paso, te aviso que no deberías poner nombre de archivos con espacios, y tampoco tienes que ponerle caracteres especiales, incluidas las tildes y las eñes.

¿Entonces el problema está en que formulario.php está en minúscula y Datos.php en mayúscula?.
Exacto. Pon en el include Datos.php en mayúsculas, o cambia el nombre del archivo a datos.php. Yo te recomiendo lo segundo, por comodidad y por si hay algún otro include.
Miarroba usa un sistema Linux, El cual diferencia las mayúsculas de las minúsculas. ten cuidado en eso.

No es lo mismo Hola o HOLA que hola.

Saludos

Arquitecto, diseñador y programador | Comenzando a proyectar mi vida bajo mis propios ideales. Administrador de ilDom, Twiteck y Century21