[TUTORIAL] Crear sistema de registro

Hola, hoy voy a explicar como crear un sitema de usuarios en su website que tenga las siguientes caracteristicas

:arrow: Permite a los miembros registrarse desde su website
:arrow: Cada miembro contara con una pagina en php
:arrow: Puede ser integrado en cualquier website
:arrow: Usa MySQL
:arrow: Login y Logout
:arrow: Registra Nombre, Apellido, Email, Password y Website
:arrow: Permite a los miembros cambiar su profile
:arrow: Permite usar avatares
:arrow: Lista de miembros
:arrow: Opcion de contraseña perdida

Bueno, los archivos que necesitaran estan en el siguiente paquete:

http://rapidshare.com/files/128268750/sistema.zip.html

Una vez descargado, descomprimanlo a un directorio y veran la siguiente lista de archivos:

Carpeta Principal

    config.php
    login.php
    register.php
    members.php
    list.php
    forgotpass.php
    logout.php

    register.html
    login.html

    .DS_Store

Carpeta Install
Carpeta Members

Ahora una vez que tenemos ya los archivos en nuestra PC, vamos a dejarlos por ahi un rato y vamos a ir a nuestro hosting, en mi caso seria 000webhost

una vez en 000webhost entro al panel de control y me dirijo a la seccion MySQL ahi voy a crear una Base de Datos

NOTA: si ya tienen una creada pueden saltarse este paso

una vez creada la base de datos, 000webhost me dara algo como esto:

server = "mysql2.000webhost.com"
database = "xxxxxx_user"
db_user = "xxxxxx_user"
db_pass = "micontraseña"

Estos datos los copiamos en un notepad y nos dirigimos al directorio donde descomprimimos los archivos, ahi abriremos el

config.php

y veremos algo como esto:

<?php
// Server to connect to, the default is 'LocalHost' but if it does not work use your IP address for your server
$server = "";

// The name of the database, when using cPanel you would normally have your user name first like so: username_DATABASE-NAME
$database = "";

// MySQL username to access the database with.	
$db_user = "";

// MySQL password to access the database with.
$db_pass = "";

// The table that this script will set up and use, you can change this but recommended to keep the same so if you require any support we can help faster
$table = "";
?>

ahi nosotros ingresamos los datos:

y el donde dice:

$table = "";

vamos a escribir

"ac_users"

una vez hechos estos cambios, vamos a subir todos los archivos del directorio a una carpeta donde ira el contenido restringido de nuestra web

yo pondre de ejemplo

members

una vez subidos todos los archivos y subdirectorios, vamos a poner en nuestro webbrowser

http://www.midominio.net46.net/members/install/index.php

esto nos sacara una pantalla que tendra varias opciones, nosotros vamos a seleccionar la primera y le damos "GO"

nos dire que la tabla se ha instalado correctamente en la base de datos, si algo sale mal, revisen el archivo config.php

una vez que terminamos de hacer eso, el sistema de usuarios esta casi listo ahora para verlo trabajar vamos a ir a la carpeta members es decir:

http://www.midominio.net46.net/members/members/index.php

es un sensillo ejemplo de como funciona, para las paginas que quieran restringir, las deben guardar en este directorio

http://www.midominio.net46.net/members/members/

y agregarles la linea de codigo a partir de donde la quieran restringir, pero dentro del <body></body>

<?php
$username = $_COOKIE['loggedin'];
if (!isset($_COOKIE['loggedin'])) die("You are not logged in, <a href=../login.html>click here</a> to login.");
echo "Welcome $username";
?> | [url="profile.php"]User Profile[/url] | [url="../list.php"]Members List[/url] | [url="../logout.php"]Logout[/url]
</p>

ahora ya pueden editar el diseño de los archivos:

register.html
login.html

y todos los que hay dentro de la carpeta de miembros los pueden editar como gusten, pero cuidando de no tocar el codigo php dentro de los mismos

luego pueden borrar la carpeta install pues ya no les sera de ninguna utilidad.

espero que este tutorial les haya servido, si asi fue, la mejor manera de agradecer es visitando el nuevo foro que recien hoy cree y no hay usuarios :cry: asi que si se registran me ayudarian mucho, ahi mismo les aclarare dudas sobre este tutorial.

Saludos :wink: :wink:
:O

Exelente!

una consulta

a este mismo registro de usuarios, exite alguna opcion de agregar algo asi como que los usuarios hagan aportes ...

en este caso, quiero que los usuarios que se registren en este caso son bandas y que cada banda despues de registrarse pueda agregar info de su banda e imagenes ... para que asi la gente que visita pueda ver la info de esa banda....


¿me explique claro?
De hecho, si... solo debes restringir el area de edicion para los usuarios registrados
laycapy escribió:mi server es razhosting.... no se como hacer la tabla y me confundo por que el archivo config, no viene como lo muestras... alguien me ayuda?

perdson me confundi.. es que estaba viendo otra cosa, sin embargo tengo dudas.
1. como hago para que en todas las paginas me aparecescan casillas para inicio de sesion?
2. si paso las paginas que quiero restringir al directorio members, estas no encontrarian el archivo de estilos que se encuentra la carpeta raiz,
3. de pasar todas las carpetas que quiero restrinbgir ahi, me tocaria modificar los enlaces a estas, es decir los links que me dirigen a estas npo? eso no modificaria todo?
hola muxaxos!

yo tb tengo una duda, aunque esta mas básica aún.

He creado la base de datos dentro del cpanel en Mysql. Pongo su nombre, mi usuario y contraseña y listo!

Entonces cuando quiero empezar el tutorial se dice que el servidor de hosting te da unos datos q luego pegaremos en el archivo config.php. Donde me dice el servidor??

Gracias!
tengo una pregunta, en el apartado de olvide la contraseña, que tengo que cambiar para que envie la contraseña??
Hola, tengo una duda con este tutorial:
- Según el tutorial la pagina login es una pagina aparte.
En muchos paginas web el formulario para acceder a tu cuenta esta en la cabecera de la pagina y es comun a todas las paginas del sitio web.
¿Como se coloca este formulario de acceso a tu cuenta en la cabecera?
¿Y como hacerlo comun a todas las demas paginas de sitio web?
[color=red]salu2[/color]
Jorgito escribió:tengo una pregunta, en el apartado de olvide la contraseña, que tengo que cambiar para que envie la contraseña??

nadie puede responderme a mi pregunta? lo necesitare
Hola saludos a todos, tengo una pregunta del xq me sale este error ?


Could not select database because Unknown database '000000_xxxx'
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'xxxxxx_xxxx'@'192.168.0.9' (using password: YES) in /home/xxxxxx/public_html/xxxxxx/install/install_new.php on line 7

Could not connect to mysql because Access denied for user 'xxxxxx_xxxx'@'192.168.0.9' (using password: YES)


Amigo ahora me sale esto.

Sera que tengo que abrir algun puerto ?
farox escribió:Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'xxxxxx_xxxx'@'192.168.0.9' (using password: YES) in /home/xxxxxx/public_html/xxxxxx/install/install_new.php on line 7

Could not connect to mysql because Access denied for user 'xxxxxx_xxxx'@'192.168.0.9' (using password: YES)


Amigo ahora me sale esto.

Sera que tengo que abrir algun puerto ?

Me parece que tu nombre de usuario esta mal o tu contraseña, como dice linkgl, si estas completamente seguro, que esta exactamente igual que como en tu hosting (mayusculas, minusculas y todo) revisa no haver puesto un espacio despues de copiar tu usuario

ej: 'usuario '

porque en ese caso, esta mal... si el error persiste, seria importante que menciones cual es tu hosting
Hola a todos ya logre solucionar el problema, elimine la base de dato y cree otra y si instalo, ahora tengo otro porble hice una pequeña web la cual veo por medio de Opera y Firefox correctamente y todos los enlaces funcionan correctamente pero en IE no funciona nada. que puede ser ese problema ?
hola, perdona, tuve que registrarme en el foro para poder preguntarte lo siguiente:

tengo un problema con el sistema de usuarios, lo que pasa es que cuando me registre para ver si funcionaba todo bien, y me resulta que hasta llegar a login.php me sale bien, pero cuando le doy en el enlace para ir al area de miembros, me sale que no estoy logueado, cual pudiera ser el problema amigo, esto me sucedio en el primer dia, luego volvi a intentar al dia siguiente y todo funcionaba bien, pero cuando pase tiempito arreglando el diseño de las paginas vi que el problema habia vuelto, entonces intente varias veces para ver si seguia el problema, y el problema esta sin resolver.

Ahora, quizas sea algo que no tengo subido a mi servidor, me refiero al archivo ".DS_Store" el problema esta en mi hosting que no me deja subir esos tipos de archivos, me da rabia eso, es que tuve que pagar por el hosting en powweb para que no me permitan subir archivos de esos tipos, por eso quiza sea el problema "digo no" si no fuese eso por favor si podrias ayudarme. si en caso fuese eso el problema no se si podrias darme algunas opciones para solucionar el problema, es que ya pase tiempo con todo este rollo del sistema de referidos, y no me vendria bien empezar de nuevo.

PD: no se si se podria agregar una serie de opciones a este sistema, como por ejemplo, que puedan dejar un pequeño resumen de su perfil, sus aficciones, y que cada usuario tenga su propia direccion URL para que puedan repartirlo entre sus amigos.

Un saludo, please se podrias responderme te lo agradeceria mucho.

Graxias.. :)
eso suena a un problema con la base de datos del hosting, o el tiempo en que expiran las cookies, usa otro servidor, para probar...

:wink:
Hola,
Como yo no se nada de programacion mas que de edicion web html, m epreguntaba que si alguien pudire ayudarme creando un sistema de usuarios de acuerdo a mis necesidades, esto a cambio de algun servicio por medio de mi pagina web.
Detalles:
Lo que necesito es un sistema de usuarios que este en php y mysql, que los archivos solo esten php y sql o algunos otros, es que tengo un hosting en powweb que no me acepta algunos tipos de archivos. quiero que este sistema las opcines de baja, recuperacion de contraseña, actualizacion de datos, y mensajes de bienvenida y mensajes de bajas. que el formulario de registro tenga unas opciones basicas como para crear un perfil de usuario, cosa que el usuario pueda dajer un breve comentario de su forma de ser, sus aficciones, gustos, edad. Si es posible se pueda añadir un sistema de comentarios para cada usuario, cosa que otro usuario pueda dejar un comentario a otro viendo sus fotos.

A cambio de esto puedo ofrecer algun medio de pago que no incluya efectivo, esto con el uso de mi web que no es gran cosa pero al mes tiene una media de 10.400 visitas, claro esta que cuando ponga en marcha el nuevo proyecto para esta mi web subira esta cantidad de visitas. podria ofrecer el con algun medio, por ejemplo publicar su banner en mi web u otras opciones. (Si en caso tuviera que pagar efectivo, seria aceptable cuando el precio sea accesible para mi)
Para mas detalles contactarme: [correo eliminado]

PD:Yo le doy los datos necesarios de mi servidor mysql para este sistema.

Un saludo.
hey amigos, despues de haver intentado varios modos tener un sistema de usuarios ya activo, y ver una y otra vez el codigo, respecto al problema que tenia con la desconeccion de los usuarios, este problema esta detallado en mi anterior envio, me di cuenta que el sistema funciona de maravilla, el problema solo se presenta cuando pongo la plantilla para el diseño de mi web en el codigo php, es decir, el problema esta que cuando esta uno logueado y le da clik para ir a la zona de miembros, no le deja, te pide que te loguees de nuevo, como me habian dicho que quiza era un problema de la base de datos, pero tampoco era eso, sino que este problema solo sucede cuando pongo el codigo del archivo login.php en una plantilla ya diseñada para que no este en blanco, pero si le quito todos los codigos de la plantilla y le dejo tal como estaba en la descarga de los archivos todo me va bien, entonces aqui les dejo los codigos estos:

Este es el codigo del login.php cuando el archivo esta asi tal cual con este codigo me va todo bien.
----------------------------------------------------------------------------------------------------------------------------------------------------------
<?php
ob_start();

include("config.php");

// connect to the mysql server
$link = mysql_connect($server, $db_user, $db_pass)
or die ("Could not connect to mysql because ".mysql_error());

// select the database
mysql_select_db($database)
or die ("Could not select database because ".mysql_error());

$match = "select id from $table where username = '".$_POST['username']."'
and password = '".$_POST['password']."';";

$qry = mysql_query($match)
or die ("Could not match data because ".mysql_error());
$num_rows = mysql_num_rows($qry);

if ($num_rows <= 0) {
echo "Sorry, there is no username or password with: ".$_POST['username']."
";
echo "<a href=login.html>Try again</a>";
exit;

} else {

setcookie("loggedin", "".$_POST['username']."", time()+(3600 * 24));
echo "Welcome: ".$_POST['username']."
";
echo "Continue to the <a href=members.php>members</a> section.";
}
ob_end_flush();
?>
--------------------------------------------------------------------------------------------------------------------------------------------------------

Ahora, cuando pongo este codigo en una pagina ya diseñada me viene el error ese que les decribia. no es que ponga este codigo en otras paginas, siino que solo reemplazo el codigo del login.php por uno con la pagina ya terminada, es decir con el diseño de la web y los menus etc. ahi en ese codigo mismo es donde incluhyo el codigo del login.php... aqui esta el codigo que tengo para la pagina: (ya incluido el codigo del login.php) el codigo esta por el centro, en sidebar.
---------------------------------------------------------------------------------------------------------------------------------------------------------------
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="http://fidostrike.powweb.com/css/default.css" rel="stylesheet" type="text/css" media="screen" />
<SCRIPT language=JavaScript>
<!-- Begin
function popUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=5,location=0,statusbar=0,menubar=0,resizable=0,width=640,height=570,left = 290,top = 50');");
}
// End -->
</SCRIPT>
</head>
<body>

<div id="wrapper">
<div id="header">
<div id="logo">
<h1>Music-strike</h1>


Nueva Generacion</p>
</div>
<div id="rss">
[contenido no disponible] Pagina de Inicio

<STROGN>I</STROGN>

[contenido no disponible] Agregar a favoritos

<STROGN>I</STROGN>

[contenido no disponible] Recomendar
</div>
<div id="search">
<form id="searchform" method="get" action="">
<fieldset>
<input type="text" name="s" id="s" size="15" value="" />
<input type="submit" id="x" value="Search" />
</fieldset>
</form></div>
</div>


<div id="menu">
<ul>
<li class="current_page_item">Inicio
  • Videos
  • Biografias
  • Chat
  • Foro

    </div>


    <div id="page">

    <div id="ads">
    <script type="text/javascript"><!--
    google_ad_client = "pub-4972624775865801";
    /* Principalnew */
    google_ad_slot = "1917239565";
    google_ad_width = 160;
    google_ad_height = 600;
    //-->
    </script>
    <script type="text/javascript"
    src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
    </script>
    </div>


    <div id="content">
    <div class="post">
    aqui esta mi contenido
    </div>
    </div>


    <div id="sidebar">
    <ul>
    <li id="categories">
    <h2>[contenido no disponible] Miembros</h2>
    <?php
    ob_start();

    include("config.php");

    // connect to the mysql server
    $link = mysql_connect($server, $db_user, $db_pass)
    or die ("Could not connect to mysql because ".mysql_error());

    // select the database
    mysql_select_db($database)
    or die ("Could not select database because ".mysql_error());

    $match = "select id from $table where username = '".$_POST['username']."'
    and password = '".$_POST['password']."';";

    $qry = mysql_query($match)
    or die ("Could not match data because ".mysql_error());
    $num_rows = mysql_num_rows($qry);

    if ($num_rows <= 0) {
    echo "Sorry, there is no username or password with: ".$_POST['username']."
    ";
    echo "<a href=login.html>Try again</a>";
    exit;

    } else {

    setcookie("loggedin", "".$_POST['username']."", time()+(3600 * 24));
    echo "Welcome: ".$_POST['username']."
    ";
    echo "Continue to the <a href=members.php>members</a> section.";
    }
    ob_end_flush();
    ?>


    <li id="calendar">
    <h2>[contenido no disponible] Sponsor</h2>
    <script type="text/javascript"><!--
    google_ad_client = "pub-4972624775865801";
    /* musicnew33 */
    google_ad_slot = "9561852170";
    google_ad_width = 240;
    google_ad_height = 250;
    //-->
    </script>
    <script type="text/javascript"
    src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
    </script>


  • <h2>Post Recientes/Foro</h2>
    aqui contenido de post foro


  • <h2>[contenido no disponible] Enlaces</h2>
    <iframe name="amix" src="http://fidostrike.powweb.com//Partesweb/webamix/webamix.htm" width="240" height="145" marginwidth="0" marginheight="0" frameborder="0" scrolling="NO">
    </iframe>


    </div>


    </div>


    <div id="footer">
    <center>
    <script language=javascript src="http://www.txtfull.com/script.php?id=3177&width=950&men=0&bgcolor=1… New, Courier, mono&alin=h&ctr=center&&borderpx=2&bordertype=solid&dlink=si&bullet="></script><table style="BORDER-RIGHT: 8C8C8C 2px solid PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; BORDER-LEFT:8C8C8C 2px solid PADDING-TOP: 4px; BORDER-BOTTOM: 8C8C8C 2px solid" width="950" bgcolor="121212" cellspacing=0 cellpadding=4><tr><td align="center"><font color="ffffff" face="Courier New, Courier, mono" size="2">Enlaces gratuitos a su sitio</font></td></tr></table>
    <HR>
    <P align=center>El webmaster de este sitio no tiene ninguna funcion relacionada con la pirateria, tampoco estamos violando ninguna ley, todos los temas de este sitio tienen una direccion web que se facilitan en buscadores y otros, tambien se ha rebajado la calidad de los temas, y no exponemos ningun enlace de descarga. lo unico que nosotros hacemos es publicar dichas direcciones, con el fin de promocionar los temas.

    Si tiene alguna duda o cree que llegamos a violar algun derecho suyo tanto como en el diseño del sitio como en el contenido, contactenos para poder solucionar el problema. Destalles...</P>
    <HR>
    <p class="legal">
    &copy; 07-09 All Rights Reserved.
    &bull;
    Redesing for fido-strike
    </p>
    </div>
    </div>

    </body>
    </html>
    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    es ahi donde me sale el error, pero si le quieto todos esos codigos y le dejo tal cual como esta el el primer codigo me da todo bien

    Por favor si alguien podria decirme cual es el error, es decir habra algun choque de codigos que impide que se pueda conectar para ir a la zona de miembros o algo?
    please denle un ojito a la pagina y vena cual es el problema, abajo les dejo el enlace, puedes registrarte bien, luego te logueas bien, pero cuando le das clik para ir a la zona de miembros no te pide que te loguees de nuevo, esto solo es cuando pongo los codigos esos.

    http://fidostrike.powweb.com/miembros/login.html
  • Bueno, eso es porque el archivo login.php no es el formulario desde el cual las personas deben logearse, sino el que escribe las cookies y procesa los datos del formulario....

    Si lo que quieres es cambiar este diseño, puedes hacerlo, siempre y cuando el nombre del archivo, osea login.php y hago enfasis en que debe tener la extension php si no lo haces asi, te dara error 404

    si lo que deseas es que la pagina sea restringida solo para los usuarios registrados... el codigo es este:

    <?php
    $username = $_COOKIE['loggedin'];
    if (!isset($_COOKIE['loggedin'])) die("You are not logged in, <a href=../login.html>click here</a> to login.");
    echo "Welcome $username";
    ?> | [url="profile.php"]User Profile[/url] | [url="../list.php"]Members List[/url] | [url="../logout.php"]Logout[/url]
    </p>

    y recuerda la ubicacion de los archivos... los archivos del sistema de registro deben de estar dentro de la carpeta correspondiente... si los mueves, probablemente te dara errores