Demo:
http://mybbdemos.tk/tuto
Hola que tal para inagurar este foro que me interesa bastante y como estoy desocupado les dejo este sensillo sistema de registro y login de usuarios...
en este tuto la pagina no tendra estilo eso si, ustedes tienen que darle el estilo con css y html.
teniendo su servidor entran a sus paneles de control y crean una base de datos para guardar los registros de los usuarios + lo que quieran agreagarle a la pagina como sistemas de mensajeria o similares.
creada la base de datos recuerden guardar los datos para la conecxion... ... crean una tabla para que guarde el registro de los usuarios, la llamaremos users, creenla con 5 campos aunque solo 4 son inportanates el primero seria id, este campo deve ser creado como auto incrementable, luego el campo user, este es el que contiene los nombres de los usuarios, luego el campo pass, este es el campo que contiene las contraseñas, ahora el campo email, este claro esta no es para nada importante, pero siempre se pide email en los registros no?, finalmente el campo level, que este campo es para asignar acciones especiales a los usuarios como funciones administrativas o similares, si lo comparamos con mybb este capo representa los grupos de usarios, ok entonces tabla creada...
Ahora comensemos a escribir los archivos, en php para la pagina, primero creamos el archivo config.pho donde se configuraran los datos para el funcionamiento de la pagina como los datos de cookies y servidor mysql.
config.php
<?php
// sistema de registro y login de usuarios by himura...
// configurado de las cookies para la autentificacion
/* nombre de dominio pare las cookies ejemplo .google.com (dejar en blanco al trabajar en localhost) */
$dcok = "";
//carpeta para las cookies es de donde se ejecutan los script (aca use una que se llama tuto
$pcok = "/tuto/";
/* configuracion de la conexxion a la base de datos mysql usaremos la extencion mysql improved.
Recuerde los datos de la creacion de la base de datos de su servidor mysql como el nombre del servidor
el usuario, el passwor y el nombre de su base de datos. */
// nombre del servidor mysql generalmente es localhost esepto que el servidor use uno externo
$dbserver="localhost";
// usuario para el servidor mysql se crea normalmente desde el panel del server o es el mismo del server
$dbuser="root";
// password para conectar al servidor mysql
$dbpasword="";
// nombre de la base de datos que estemos usando
$dbname="tuto";
// conectamos con el servidor mysql
$connect = mysqli_connect($dbserver,$dbuser,$dbpasword);
// seleccionamos la base de datos
mysqli_select_db($connect,$dbname);
?>
listo ahora creamos el archivo registrar.php, en este archivo se hace el registro de usuarios.
registrar.php
<?php
// incluimos el archivo de configuracion
include "config.php";
if(!$_GET[action])
{
//creamos el formulario para registrar
$page="<form method=\"post\" action=\"registrar.php?action=do_reg\">
<b>Nombre de usuario:</b><br />
<input type=\"textbox\" name=\"user\"><br />
<b>Password:</b><br />
<input type=\"password\" name=\"pass\"><br />
<b>Email:</b><br />
<input type=\"textbox\" name=\"email\"><br />
<br />
<input type=\"submit\" value=\"registrar\">
</form>";
echo $page;
}
elseif($_GET[action]=="do_reg")
{
// consulta para guardar el usuario en la base de datos "INSERT INTO users" user corresponde al nombre de la tabla
mysqli_query($connect, "INSERT INTO users (user,pass,email,level) VALUES ('$_POST[user]','$_POST[pass]','$_POST[email]','1')");
echo "usuario creado ir a <a href=\"index.php\">inicio</a>";
}
?>
Ahora escribimos el archivo index.php, que esta claro sera el indece de directorio por tanto la pagina que se mostrara al entrar a nuestra web, usando las cookies este archivo mostrara dos paginas una si esta logeado y otra si no lo esta.
Index.php
<?php
// preguntamos usando las cookies si esta logeado o no
if((!$_COOKIE[id]) or ($_COOKIE[id]==""))
{
//si no esta logeado mostramos el formulario de login
$page="<b>Useted no esta registrado o no a inciado secion en este sitio.</b><br />
<a href=\"registrar.php\">Registrese</a> o Inicie secion abajo<br /><br />
<form method=\"post\" action=\"login.php\">
<b>Usuario:</b><br />
<input type=\"textbox\" name=\"user\"><br />
<b>Contraseña:</b><br />
<input type=\"password\" name=\"pass\"><br />
<br />
<input type=\"submit\" value=\"login\">
</form>";
echo $page;
}
else
{
//si esta logeado mostramos la pagina con los detalles para usario logeado aca mostre los datos del login
if($_COOKIE[level]>1)
{
$admin="Usted tiene privilegios administrativos en el sitio<br/ >";
}
$page="<b>Bienvenido, Usted esta registrado en este sitio.</b><br/>
Su id de usuario es {$_COOKIE[id]}.<br />
Su nombre de usuario es {$_COOKIE[user]}.<br />
{$admin}
<a href=\"login.php?action=logout\">Cerrar secion</a>";
echo $page;
}
?>
y finalmente el archivo login.php, con el cual no inisiara secion.
login.php
<?php
//incluir la configuracion
include "config.php";
if(!$_GET[action])
{
// consulatamos que los campos esten correctos
if( (!$_POST[user]) or (!$_POST[pass]) )
{
// si no estan correctos y alguno fue dejado en blanco mostramos un mensaje
echo "usuario o contraseña en blanco";
}
else
{
// al estar correctos los campos consultamos que el usario este registrado en la base de datos
$consulta=mysqli_query($connect, "SELECT * FROM users WHERE user='$_POST[user]' AND pass='$_POST[pass]' ");
if($user = mysqli_fetch_array($consulta))
{
// si esta registrado creamos las cookies para logearlo y lo devolvemos a index.php
/* primero va el nombre de la cookie, luego su valor, en segida el tiempo de vida de la cookie
luego el patch y el dominio de la cookie que se establecio en el archivo de configuracion*/
setcookie("user", $user['user'], time() + 86400, $pcok, $dcok);
setcookie("id", $user['id'], time() + 86400, $pcok, $dcok);
setcookie("level", $user['level'], time() + 86400, $pcok, $dcok);
Header("Location: index.php");
}
else
{
// si los valores no corresponden a los de la base de datos mostramos un mensaje
echo "usuario no existe o contraseña invalida";
}
}
}
if($_GET[action]=="logout")
{
/* al cerrar secion establecemos las cookies con un valor vacio por si el navegador no las borra
para que el navegador las borre ponemos con un time negativo. y lo devolvemos a index.php */
setcookie("user", "", time() - 86400, $pcok, $dcok);
setcookie("id", "", time() - 86400, $pcok, $dcok);
setcookie("level", "", time() - 86400, $pcok, $dcok);
Header("Location: index.php");
}
?>
Bueno eso es todo no detalle mucho el proceso ya que cada archivo tiene comentarios en las linas importantes acerca de su funcionamiento.
[Imagen: 93910621.jpg]
[Imagen: 20635803.jpg]
[Imagen: 65076281.jpg]
[Imagen: 60835201.jpg]