Regresar a la página www.ComoCrearTuWeb.com
Página 1 de 12 1234511 ... ÚltimoÚltimo
Resultados 1 al 15 de 166

Tema: Registro de usuarios desde cero.

  1. #1
    Administrador CCTW Webmaster de CCTWHabitante Avatar de Jorgens_CCTW
    Fecha de Ingreso
    30 ene, 11
    Ubicación
    Cartagena, Murcia, España.
    Mensajes
    1,188
    Poder de Reputación
    10

    Post Registro de usuarios desde cero.

    [TUTORIAL :: SISTEMA DE REGISTRO DE USUARIOS :: PARTE 1]

    Saludos compañeros.

    NOTA: Si sigues este tutorial y no entiendes alguna cosa, puedes preguntar aquí mismo. No obstante este es un hilo de investigación, a partir del cual quiero construir con vuestra ayuda un sistema de registro que funcione, sea seguro y tenga las características que la mayoría buscamos. En cuanto termine la investigación y tengamos algo definitivo lo pasaré perfectamente explicado a las páginas de CCTW por lo que permitidme en este hilo que me salte algunas explicaciones que para los más entendidos pueden parecer demasiado obvias, oki?

    La idea de este hilo es empezar por un sistema de registro de usuarios bien sencillito. Nos vale con que simplemente funcione. Una vez bien testeado pasaremos a investigar cómo aplicarle los cambios necesarios para, hacerlo seguro, fiable, añadir detalles en AJAX para que no sea necesario la recarga de las páginas en las operaciones de logeo y log out, y en definitiva, todo lo que se nos ocurra por el camino, oki?

    El objetivo es llegar a crear lo que necesitamos, testearlo bien y, en base a los resultados crear unas lecciones detalladas para añadirlas a las páginas de CCTW.

    He creado este subforo aparte solo para este tema, vista la cantidad de mensajes que tratan este tema y la cantidad de dudas que han ido surgiendo en estos últimos años.

    Aunque se puede realizar con diversas tecnologías y lenguajes, nosotros nos basaremos en el lenguaje Php (y resto de lenguajes compatibles que puedan otorgarle alguna aplicación que nos guste9 y las bases de datos MySQL que son las más comunes y que están disponibles en los servidores gratuitos que os ofece CCTW para vuestros testeos.

    Si te animas, eres bienvenido.


    SI SIGUES ESTE TUTORIAL, NO APLIQUES NADA EN TU WEB HASTA QUE LEAS QUE EL FORMULARIO ES TOTALMENTE SEGURO!!

    Temas Pendientes
    - Mejorar aún más la seguridad de la aplicación
    ----- Denegar permiso de registro tras X intentos fallidos, durante un tiempo determinado.
    - Diseñar un panel de usuario en el que pueda ver, añadir y modificar datos de su cuenta.
    - Posibilidad de que el usuario pueda subir un archivo (foto o logo) para su perfil.
    - Validar los datos recopilados por los formularios. (parte 19)
    ----- Limitar la cantidad de carácteres que admite cada campo del formulario (hecho en parte 16)
    ----- Verificar que el correo tiene forma de correo
    (hecho en parte 14)
    ----- Verificar que el correo está realmente dado de alta, que funciona.
    ----- En la función de validación de email, cambiar ereg() que está obsoleto por preg_match().
    - Evitar registro con el mismo email (hecho en parte 12)
    - Evitar registro con el mismo nick (hecho en parte 11)
    - Añadir verificación de contraseña (escribirla dos veces en el formulario de registro) (hecho en parte 13)

    - Aplicar encriptacion de contraseñas, no deben guardarse tal cual en la tabla de la base de datos. (hecho en parte 17)
    - Aplicar funciones AJAX para evitar la recarga cuando se añada esto a una web.
    - Aplicar estilos CSS a la capa del sistema de registro de usuarios.
    - Añadir opción de rescate de contraseña
    (o mejor generación de una nueva?)
    - insertar todo esto en una web, en una capa en una esquina, por ejemplo.
    - Crear un "autoejecutable" que instale todo el sistema en un servidor.
    - Añadir un mensaje de verificación para validar la cuenta. (hecho)

    (Cualquier otra mejora que se te ocurra, no dudes en decírnosla en este mismo hilo, no te cortes!)

  2. #2
    Administrador CCTW Webmaster de CCTWHabitante Avatar de Jorgens_CCTW
    Fecha de Ingreso
    30 ene, 11
    Ubicación
    Cartagena, Murcia, España.
    Mensajes
    1,188
    Poder de Reputación
    10
    [TUTORIAL :: SISTEMA DE REGISTRO DE USUARIOS :: PARTE 2]

    El primer paso es disponer de un hosting o espacio web con una base de datos MySQL disponible y en el que funcione el código PHP.

    Si no tienes un hosting así aún, puedes conseguir uno para tus pruebas en CCTW.

    Una vez que tienes el hosting, tienes que crear la base de datos. Se crea vacia (sin tablas), dándole un nombre y ya de paso, se crea un usuario con clave con poderes para retocar sus valores. Está creo que muy bien explicado en las lecciones de CCTW sobre creación de bases de datos. De todas formas si algo no se entiende me lo decís acá mismo e intento aclararlo mejor.

    Para el nombre de la base de datos escoged por ejemplo, reguser y quizás así te lies menos al seguir las lecciones. Es probable que aunque pongas ese nombre a la hora de crearla, el servidor le añada algo más delante, quedando finalmente el nombre de la base de datos como, nombredetuhosting_reguser. Si es así, toma nota, pues será ese el nombre completo de la base de datos creada.

    Antes de seguir con esto del registro de usuarios, tienes que tener bien claros tres datos, pues son imprescindibles para seguir con esto:

    Nombre de la base de datos: tunombrederegistro_nombredebasededatos
    Usuario de la base de datos: tunombrederegistro_nombredeusuariodelabasededatos
    Contraseña del usuario de la base de datos: loquesea

    Son los que acabas de colocar para crear la base de datos y para crear el usuario. Apúntalos en alguna parte pues te harán falta muy pronto.

    sigo en un periquete!

  3. #3
    Administrador CCTW Webmaster de CCTWHabitante Avatar de Jorgens_CCTW
    Fecha de Ingreso
    30 ene, 11
    Ubicación
    Cartagena, Murcia, España.
    Mensajes
    1,188
    Poder de Reputación
    10
    [TUTORIAL :: SISTEMA DE REGISTRO DE USUARIOS :: PARTE 3]

    Una vez que tenemos la base de datos creada, pasamos a crear la tabla. Una base de datos puede contener unas cuantas tablas. Nosotros por el momento vamos a crear solamente una, con los campos mínimos que necesitaremos para hacer funcionar el sistema de registro de usuarios. Más adelante, conforme lo veamos necesario, podemos añadir nuevos campos.

    Llamaremos a esta tabla con el nombre "usuarios".

    Por ejemplo, un campo imprescindible es el número de identificación de cada registro. Es un número que identifica a cada usuario registrado. Empieza por el número uno y va creciendo con cada nuevo registro. Suele llamarse a este campo id. Como solo contiene números enteros (sin comas ni decimales) será del tipo INT (número entero). Además podemos elegir cuál será su dimensión máxima o, cantidad de huecos o espacios que podría ocupar ese valor. Si pensaramos que como mucho vamos a tener 30 personas registradas, podemos decir que ocupará como mucho dos carácteres, dos huecos, dos posiciones, es decir XX. En esos dos huecos cabe el número 30, y el 78, pero no el 100 que tiene 3 carácteres, oki? Vamos a pensar que como mucho tendremos 9.999 usuarios registrados y por tanto decidiremos que el valos id tendrá un alcance de 4 carácteres.

    Otro campo necesario sería el nombre de usuario. Lo llamaremos nick. Está formado por letras y números, por lo que el tipo correspondiente podría ser VARCHAR, y le daremos una dimensión de 25 caracteres si no os parece mal.

    Al siguiente campo lo llamaremos email y será el que guarde la dirección de correo electrónico relacionado con la cuenta. Será útil si hay que comunicarse con esa persona, o si quiere recibir su contraseña olvidada, etc. De nuevo, son registros de letras y números, por lo que le pondremos el tipo VARCHAR y una longitud de 60 carácteres.

    Por último, crearemos otro campo para guardar la contraseña y lo llamaremos password. En alguna ocasión lo he nombrado contraseña y la eÑe me ha dado algún problema, así que nos quedamos con la palabra en inglés, oki? Tipo VARCHAR y dimensión de 40, por ejemplo.

    Cualquiera de estas cosas las podemos modificar más tarde si nos hiciera falta. la dimensión de cada campo, su nombrem el tipo... de modo que por el momento partimos de lo dicho.

    Para crear la tabla en nuestra base de datos, la opción más sencilla (existen otros modos) es acceder al panel de control Cpanel de vuestro servidor (el hosting gratis de CCTW dispone de cPanel) y añadir estas líneas en el apartado SQL de PhpMyAdmin:

    Código:
    CREATE TABLE `usuarios` (
    `id` INT( 4 ) NOT NULL AUTO_INCREMENT,
    `nick` VARCHAR(30) NOT NULL ,
    `email` VARCHAR(50) NOT NULL ,
    `password` VARCHAR(30) NOT NULL ,
    INDEX ( `id` )
    );
    Para evitar lios y errores, vamos a nombrar todos estos campos en minúsculas y sin símbolos raros, oki? (usuarios, id, email, nick, password...).

    Por cierto.... sabéis dónde se encuetra esa opción de SQL dentro del cPanel?

  4. #4
    Administrador CCTW Webmaster de CCTWHabitante Avatar de Jorgens_CCTW
    Fecha de Ingreso
    30 ene, 11
    Ubicación
    Cartagena, Murcia, España.
    Mensajes
    1,188
    Poder de Reputación
    10
    [TUTORIAL :: SISTEMA DE REGISTRO DE USUARIOS :: PARTE 4]

    Para crear la tabla usuarios como decía, tienes que copiar las líneas del mensaje anterior y pegarlas en un hueco que hay en el PhpMyAdmin. Os digo dónde.

    1.- Accede a tu cPanel. Para ello teclea en tu navegador la dirección de tu web, seguida de una barra y la palabra cpanel. Por ejemplo, www . mipaginaweb.comocreartuweb.es/cpanel

    2.- Busca el icono de acceso a PhpMyAdmin y haz clic sobré él. Es así:
    acceso-phpmyadmin-cpanel.png

    3.- Se abre entonces el PhpMyAmin. Selecciona la base de datos sobre la que vamos a trabajar. Si la creaste según los pasos anteriores debe llamarse loquesea_reguser. El nombre está a la izquierda:
    seleccionar-basedatos.jpg

    4.- Ahora has de buscar en la parte de arriba una lengueta llamada SQL. Aunque en cada versión de cPanel y PhpMyAdmin aparece ligeramente distinto, es algo así como esto:
    acceso-sql-phpmyadmin.jpg
    5.- Pues bien, tras hacer clic sobre la lengueta SQL, tienes que escribir toda esa línea en en recuadro que aparece:
    pegando-contenido-en-sql.jpg

    5.- Tras pegar allí el código que os dí para generar la tabla, pulsamos en aceptar y, listo! Tabla creada con todos sus campos!

  5. #5
    Esto empieza a ser un vicio... Habitante Avatar de lantiga
    Fecha de Ingreso
    23 feb, 11
    Mensajes
    905
    Poder de Reputación
    14
    Jorge ya se que no toca hablar de esto aquí pero como llevas en tema de los videotutoriales?
    Suscribete a Los videotutoriales de Lantiga y podre hacer vídeos más largos y con mejor calidad.

  6. #6
    Administrador CCTW Webmaster de CCTWHabitante Avatar de Jorgens_CCTW
    Fecha de Ingreso
    30 ene, 11
    Ubicación
    Cartagena, Murcia, España.
    Mensajes
    1,188
    Poder de Reputación
    10
    Cualquier cosa que no quede perfectamente explicada, por favor, avisadme y lo explico mejor, oki?

  7. #7
    Administrador CCTW Webmaster de CCTWHabitante Avatar de Jorgens_CCTW
    Fecha de Ingreso
    30 ene, 11
    Ubicación
    Cartagena, Murcia, España.
    Mensajes
    1,188
    Poder de Reputación
    10
    Has acertado Latinga, no es el sitio je je je je. Lo llevo aparcado por el momento. Para terminar mi CMS necesito perfilar el sistema de registros y ando investigándolo. Por eso le he metido mano a esta parte ahora. No tengo tiempo para hacer todo a la vez... sorry, aunque soy todo oidos ante cualquier propuesta como sabes. Un abrazo!

  8. #8
    Esto empieza a ser un vicio... Habitante Avatar de lantiga
    Fecha de Ingreso
    23 feb, 11
    Mensajes
    905
    Poder de Reputación
    14
    No sabia que estuvieras haciéndote un CMS ; pero supongo que lo harás en XML por su facilidad en el traspaso de datos; En cuanto al login usuarios por que no haces una doble petición en un archivo html? por un lado una petición ajax para que al pulsar un botón te enseñe el formulario y por otro lado la peticion al servidor para que los datos se almacenen en la base de datos creo que es lo más logico. Haber si lego tengo tiempo y te pongo un ejemplo sencillo de como hacerlo solo una pregunta tonta has trasteado algo con Json? He visto que es más recomendable cuando hay que pasarle muchos datos a una solicitud ajax, te ahorras mucho peso en los archivos y sobrecargas menos el navegador .
    Suscribete a Los videotutoriales de Lantiga y podre hacer vídeos más largos y con mejor calidad.

  9. #9
    Administrador CCTW Webmaster de CCTWHabitante Avatar de Jorgens_CCTW
    Fecha de Ingreso
    30 ene, 11
    Ubicación
    Cartagena, Murcia, España.
    Mensajes
    1,188
    Poder de Reputación
    10
    Guau, qué nivel estás alcanzando compañero!

    Pues si, llevo un montón de tiempo creando un CMS personalizado para mis webs, para poder actualizarlas online esté donde esté. Poco a poco, como siempre.

    Aún no controlo AJAX tanto como para aplicarlo en los formularios con éxito. He leido algo de Json, pero aún no se aplicarlo. Vamos, que cualquier propuesta o guia de por dónde ir tirando es bienvenida, como siempre.

    Un abrazo amigo!

  10. #10
    Administrador CCTW Webmaster de CCTWHabitante Avatar de Jorgens_CCTW
    Fecha de Ingreso
    30 ene, 11
    Ubicación
    Cartagena, Murcia, España.
    Mensajes
    1,188
    Poder de Reputación
    10
    Tampoco pensaba usar XML, la verdad. Miraré tus video tutoriales a fondo ;=)

  11. #11
    Esto empieza a ser un vicio... Habitante Avatar de cesar_ed
    Fecha de Ingreso
    11 feb, 10
    Mensajes
    563
    Poder de Reputación
    14
    Cita Iniciado por lantiga Ver Mensaje
    No sabia que estuvieras haciéndote un CMS ; pero supongo que lo harás en XML por su facilidad en el traspaso de datos; En cuanto al login usuarios por que no haces una doble petición en un archivo html? por un lado una petición ajax para que al pulsar un botón te enseñe el formulario y por otro lado la peticion al servidor para que los datos se almacenen en la base de datos creo que es lo más logico. Haber si lego tengo tiempo y te pongo un ejemplo sencillo de como hacerlo solo una pregunta tonta has trasteado algo con Json? He visto que es más recomendable cuando hay que pasarle muchos datos a una solicitud ajax, te ahorras mucho peso en los archivos y sobrecargas menos el navegador .


    En ese caso seria mejor usar a JQuery debido a su sencilles y rapidez en el codigo, este framework tiene unas 5000 mil lineas de codigo y es muy bueno tambien para ajax y se podria combinar con json(php) y adquirir velocidades insospechadas

    Saludos y buena idea seguro te ire ayudando!
    Es facil programar "Solo interesate en aprender"

  12. #12
    Administrador CCTW Webmaster de CCTWHabitante Avatar de Jorgens_CCTW
    Fecha de Ingreso
    30 ene, 11
    Ubicación
    Cartagena, Murcia, España.
    Mensajes
    1,188
    Poder de Reputación
    10
    jquery, json.... me temo que aún tengo muuucho que aprender. Investigaré por la red. Si alguien tiene nociones... ya sabe!

    Un abrazo!

  13. #13
    Esto empieza a ser un vicio... Habitante Avatar de lantiga
    Fecha de Ingreso
    23 feb, 11
    Mensajes
    905
    Poder de Reputación
    14
    @cesar_ed super interesante aportación sobre tema de Jquery y como pasar datos entre distintos dominios con JSONP , no lo habia pensado.Aunque esta claro para todo esto hay que saber DOM y creo que no hemos explicado mucho aunque es sencillo.



    Suscribete a Los videotutoriales de Lantiga y podre hacer vídeos más largos y con mejor calidad.

  14. #14
    Administrador CCTW Webmaster de CCTWHabitante Avatar de Jorgens_CCTW
    Fecha de Ingreso
    30 ene, 11
    Ubicación
    Cartagena, Murcia, España.
    Mensajes
    1,188
    Poder de Reputación
    10
    Ayer abrí unos subforos de lenguajes de programación en este foro. Quizás deba abrir algunos otros allí, para hablar de todo esto, Json, XML, DOM.... Tendrá asiduos?

  15. #15
    Esto empieza a ser un vicio... Habitante Avatar de lantiga
    Fecha de Ingreso
    23 feb, 11
    Mensajes
    905
    Poder de Reputación
    14
    El tema de explicar cosas esta bien pero creo que la gente al final solo busca ejemplos prácticos de como hacer cosas .
    Suscribete a Los videotutoriales de Lantiga y podre hacer vídeos más largos y con mejor calidad.

Temas Similares

  1. Empezando desde cero
    Por May en el foro Foro General
    Respuestas: 3
    Último Mensaje: 28/08/2011, 17:17
  2. Iniciando desde Cero
    Por Are$ en el foro Foro General
    Respuestas: 7
    Último Mensaje: 06/01/2011, 06:45
  3. Crear un foro desde cero
    Por Abel_Melero en el foro Foros
    Respuestas: 1
    Último Mensaje: 16/12/2009, 23:01

Etiquetas para este Tema

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •