Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Herramientas y Software (http://www.forosdelweb.com/f17/)
-   -   cuenta de usuario (http://www.forosdelweb.com/f17/cuenta-usuario-480382/)

Moira 11/04/2007 04:27

cuenta de usuario
 
Quiero autentificar a los usuarios de la web (ya registrados en una base de datos con nombre y contraseña) solamente para que puedan acceder a una página detalle con sus datos y que tengan la opción de modificarlos o borrarlos.

Para ello no tengo que crear sesiones ¿verdad? bastaría con una página maestro-detalle en la que el filtro fuese acceder sólo a su propia id ¿no? con dos paginas detalle una para modificar y otra para borrar.

Finalmente faltaría restringir las páginas detalle.

¿Voy bien encaminada?

¿Ese sería el proceso?

¿Habría suficiente seguridad solamente restringiendo las páginas detalle?

Gracias por vuestra ayuda :-)

JavierB 11/04/2007 04:28

Re: cuenta de usuario
 
Hola Moira

¿Estás usando algún editor web? ¿Cual?

Saludos, :adios:

Moira 11/04/2007 05:21

Re: cuenta de usuario
 
Hola Javier :adios:

Dreamweaver :si: , el código que utilizo es PHP y base de datos MySQL.

Saludos :-)

juaniquillo 11/04/2007 08:33

Re: cuenta de usuario
 
De la forma que DW lo hace es creando sesiones, y es la forma que yo recomiendo también. Si quieres te explico los pasos a seguir. ¿Ya tienes hecha la conexión a la base de datos y configurado el servidor de prueba?

McBlink 11/04/2007 08:40

Re: cuenta de usuario
 
Buenos Dias..
te cuento, yo tengo todo el sistema de usuarios terminado.. con la validacion y el logeo, y el perfil de usuario, todo..
lo que le queria agregar.. es la opcion, de que en el perfil de usuario, si ese perfil te pertenece, (no es que estas visitando otro perfil) que te de la opcion de cambiar tu pass y email y esos datos..
es muy dificil hacer eso..??

saldudos!!
MC

juaniquillo 11/04/2007 08:54

Re: cuenta de usuario
 
ah, ahora entiendo. Nop, no es muy difícil. Para eso haces la página del perfil y haces un recorset donde el usuario (o mejor, el id) es igual a la variable de sesión de ese usuario. De esa manera el recordset devolverá sólo el resultado de ese usuario.

Moira 11/04/2007 11:34

Re: cuenta de usuario
 
Cita:

Iniciado por juaniquillo (Mensaje 1963285)
ah, ahora entiendo. Nop, no es muy difícil. Para eso haces la página del perfil y haces un recorset donde el usuario (o mejor, el id) es igual a la variable de sesión de ese usuario. De esa manera el recordset devolverá sólo el resultado de ese usuario.

Esto también es lo que me puede ir a a mí bien ¿no?

juaniquillo tengo la conexión a la base de datos y configurado el servidor de prueba.

En mi web los usuarios se registran para ingresar datos en la base de datos, pero no existe ninguna zona restringida... la única que yo querría tener es la de cuenta de usuario, la que al mismo tiempo que autentifica a los usuarios les lleva a sus datos (id=variable de sesión) y puedan allí modificarlos o borrarlos.

Gracias por ser tan amables :corazon:

juaniquillo 11/04/2007 13:33

Re: cuenta de usuario
 
Pues a mi me parece bien. Solo quiero saber si el sistema de identificación lo has hecho usando DW o has usado algún otro? DW tiene una función para hacer un sistema de identificación de usuario y una función para restringir páginas a los usuarios registrados. Ahora, todo dependerá de lo que has hecho. Dinos que has hecho exactamente, mejor si posteas el código, si necesitas mas ayuda.
saludos.

Moira 12/04/2007 02:32

Re: cuenta de usuario
 
Hola :adios:

Uso el DW :-)

Hasta ahora sólo hay inserción de registro: en la base de datos están los nombres de usuario y las contraseñas de los usuarios.

No hay autentificación de usuario porque no hay restricción a ninguna página.

La única página que quiero restringir es una a la que accedería el usuario y donde estarían todos sus datos para modificarlos o borrarlos.

Sólo quiero informarme bien para no meter la pata y que cualquiera pueda acceder a la base de datos y borrar lo que quiera :no: :golpeado: :neurotico

Gracias por todo :aplauso:

juaniquillo 12/04/2007 09:26

Re: cuenta de usuario
 
Perdona Moira, creo que te confundí con McBlink arriba... jejeje.
Pues si necesitas restringir al menos una página te recomiendo que hagas un sistema de log in. Es bastante fácil en DW.

Necesitas dos páginas una con una forma de usuario y contraseña y la que vas a restringir la entrada. En la primera haces la forma de log in (acuerdate de escoger el campo de la contraseña como password:

http://img410.imageshack.us/img410/9...hunter1sw4.jpg

Luego vas a 'Aplication Panel', a la pestaña de Server Behaviors, y le das a:
Símbolo de mas (+) -> User Authentification -> Log in User

http://img168.imageshack.us/img168/9...titled1zp4.png

En la próxima ventana escogerás lo siguiente:
1- Tu formulario
2- El campo del usuario
3- El campo de la contraseña
4- Tu coneccion MySQL
5- La tabla en tu base de datos donde tienes los usuarios
6- El campo del usuario en tu base de datos
7- El campo contraseña en tu base de datos
8- La página donde quieres que el usuario vaya si la identificación funciona
9- La página donde quieres que el usuario vaya si la identificación falla
10- Lo dejas en 'Username and Password'

http://img475.imageshack.us/img475/5...hunter2tq5.jpg

Y ya está. Por ahora, en las páginas de confirmación puedes poner "Exito" y "Error" respectivamente para que veas si todo funciona bien. Prueba si todo funciona y, si no hay ningún problema, pasamos al próximo paso.

Moira 12/04/2007 12:14

Re: cuenta de usuario
 
¡¡¡¡HA FUNCIONADO TODO PERFECTO!!!!!

Te mereces un 10 juaniquillo

:aplauso: :-) :arriba: :aplauso: :-) :arriba: :aplauso:

cuando quieras vamos al siguiente paso :arriba:

Gracias :corazon:

kaninox 13/04/2007 01:33

Re: cuenta de usuario
 
Juaniquillo mis felicidades eso si es explicar :)

juaniquillo 13/04/2007 17:59

Re: cuenta de usuario
 
Gracias chicos.. se hace lo que se puede..:-)

Bueno, el próximo paso es sencillo. Para restringir una página a un usuario que no este logeado con este sistema sólo ve a la página que quieres restringir y ve a 'Aplication Panel', a la pestaña de Server Behaviors, y le das a:
Símbolo de más (+) -> User Authentification -> Restrict Access to Page

http://img341.imageshack.us/img341/1...titled2za1.png

En la ventana que te sale lo dejas como 'Username and Password' y escoges la página donde el usuario será enviado en caso de no estar logeado. En mi caso escogí la misma del error del log in:

http://img410.imageshack.us/img410/7...hunter1rd4.jpghttp://img218.imageshack.us/img218/7...1jun281218.gif
By juaniquillo

Le das OK y listo. Ahora nadie podrá entrar a esa página a menos que no este logeado.

Ahora sólo te falta hacer un sencillo botón/enlace de Log Out para que el usuario pueda salir de la sesión si quiere. Vas a 'Aplication Panel', lo mismo de arriba y escoges 'Log Out User' en vez de 'Restrict Access to Page'.

En la ventana escoges la página donde el usuario ira después de salir de la sesión y le das a ok:

http://img405.imageshack.us/img405/6...hunter2jb0.jpg

Después que esta hecho el enlace puedes cambiar lo que dice, su apariencia, etc.

Ahora a revisarlo a ver si todo está bien. El próximo paso será hacer un recorset para capturar los valores del usuario que este logeado y solo se muestren sus valores.

Moira 14/04/2007 05:30

Re: cuenta de usuario
 
:aplauso: :si: :aplauso:

Con lo lioso que es todo esto y tú haces que parezca de lo más sencillo, así es imposible equivocarse...

Estás desarrollando un buen tutorial :-)

Preparada para la siguiente lección :arriba:

:adios:

juaniquillo 14/04/2007 09:20

Re: cuenta de usuario
 
Antes de seguir te tengo que advertir que para que el sistema de recuperación de datos funcione los usuarios tienen que tener un nombre único, osea que tienes que validar los campos del usuario antes de hacerlos miembro. Tienes que hacer una consulta a la base de datos y ver que el nombre que usuario quiere no se esté usando, pero esto ya está fuera del alcance de DW8. Para esto tienes que hacer un script sencillo que valide tus campos al momento de crear el usuario.

Ya que sabes eso, seguimos. Para recuperar los valores de la base de datos del usuario que se ha logeado haces un recordset donde filtras el nombre de la sesión del usuario. En este caso, DW crea una sesión con el nombre de MM_Username, así que sólo tienes que hacer que el nombre del usuario en tu tabla coincida con la variable de sesión 'MM_Username'. Me imagino que ya has hecho y manipulado recorsets antes así que te explico solamente como debe estar. El recordset de tu página restringida debe tener la siguiente información:
1- El nombre de tu recordset
2- Tu conexión
3- La tabla en tu base de datos
4- Las columnas que quieras escoger
5- En el filtro pones:
---a - El campo del usuario (el que usaste para la autentificación)
---b - Escoges 'Es igual a' (=)
6- En la segunda parte del filtro:
---a - Escoges Session Variable, o variable de sesión
---b - Escribes el nombre de la sesión, 'MM_Username' sin comillas.
7- El 'Sort' no es necesario ya que sólo se obtendrá un record

http://img394.imageshack.us/img394/6...hunter1rr9.jpg

Ok y listo. El recorset debe devolver los valores del usuario logeado. Este es mi ejemplo:

http://img394.imageshack.us/img394/5...hunter2lu0.jpg

Algunas recomendaciones. Como ves, este sistema es muy básico y funciona bien y es bastante seguro, pero yo lo usaría más como una base sobre el cual haría un sistema más robusto y mas funcional. Pero este tema pertenece mas bien al foro de PHP, así que no voy a tratarlo aquí. Yo tu invertiría un poco de tiempo para aprender PHP, que es la única forma de llegar al tipo de funcionalidad que que desees en cada caso. DW es muy buena herramienta de ayuda, pero sólo puede hacer una porción minúscula de todo lo que se puede hacer en PHP, comparable a un grano de arena en la playa. (Ya me puse filosófico, jejeje).

Otra cosa, nunca muestres la contraseña a tu usuario. Nunca lo pongas en una página. Tampoco hace falta ponerlo, solo con una indicación basta.

Dicho esto, es hora de probar el sistema...

Moira 14/04/2007 14:54

Re: cuenta de usuario
 
¡¡¡¡¡ TODO PERFECTO!!!!!!

Ya tengo los datos de un solo usuario en una página restringida, el sistema funciona de perlas, te agradezco mucho tu ayuda pues has puesto en orden la base con la que puedo ir haciendo más cosas.

Una cosa, he podido hacer con el DW la validación del nombre de usuario:

autenticacion de usuarios - comprobar nuevo nombre de usuario

Te lo digo por si te sirve a ti de alguna ayuda.

Ya estoy haciendo todos los cambios y pronto subiré al servidor lo que he podido hacer con tu ayuda.

Sé que esto sólo es lo más mínimo entre todo lo que se puede hacer con php, pero me asusta el código :neurotico , ahora más bien me voy enterando de los conceptos. Poco a poco. No hay prisa.


Gracias :corazon: :arriba: :aplauso:

Un beso :adios:

juaniquillo 14/04/2007 15:38

Re: cuenta de usuario
 
Eso, todo a tu paso. Lo de comprobar nuevo nombre de usuario se me habia olvidado...:borracho: Es que hace tiempo que no uso este sistema. Pero bueno, me alegro que todo te haya funcionado bien.
Un saludo y suerte.

spike01 25/10/2007 15:52

Re: cuenta de usuario
 
Hola,
excelente tutorial, pero les tengo una pregunta:

tengo 2 tablas
1 admon
2 usuarios

como hago para hacer todo lo anterior con 2 recordset diferentes??
si se puede realizar o no??

de antemano Gracias...

spike01 25/10/2007 17:30

Re: cuenta de usuario
 
Hola,
Segui todo los pasos ke tienen en el tutorial, pero hay una cosa ke no explicaron y es el de restringir la pagina por "level", eso kiere decir ke debo tener un campo llamado nivel y llenarlos por ej:

pass_user:789
nick:juan
nivel:1

pass_user:5689
nick:mao
nivel:2

tonces solo el # seleccionado por ej el "2" tendria acceso a cierta pagina mas el "1" nop ??

Por ke he tenido problemas al tratar de cuadrarlo asi de esa manera, es decir, al momento de restringir una pagina con un nivel, restringe las demas con el mismo nivel.

Alguien me podria hacer el favor de explicarme ??:'(

juaniquillo 26/10/2007 07:43

Re: cuenta de usuario
 
nunca he usado el sistema de niveles de dw porque creo que usa sus propios niveles, y no los de una base de datos. déjame investigar un poco y te digo.

darkojd 08/11/2007 05:42

Re: cuenta de usuario
 
Buenas tardes, es mi primera intervención en este foro pero veo que hay gente que domina un montón sobre esto. He hecho todos los pasos que indicais en el tutorial pero a mi no me funciona, debo ser el más torpe! Hasta la parte de Restringir el acceso a la página todo perfecto, pero cuando hago eso nunca puedo acceder a la página (y antes sin la restricción si que redirigía en caso de usuario/contraseña correctos bien a la página que quería). Y lo del Recordset tampoco me lo hace bien! La única diferencia que veo es que yo estoy utilizando el Dreamweaver 2004, no se si habrá algun problema. Yo pienso que puede ser un tema de las variables o algo por eso no puedo acceder ni me muestra bien el recordset, pero no tengo muchos conocimientos de php. Cualquier ayuda será bien recibida.
Muchas gracias y un saludo.
PD: Siento el rollo que os he soltado :Zzz:

juaniquillo 08/11/2007 12:17

Re: cuenta de usuario
 
Si es un problema. Creo que las variables son diferentes en DW MX, pero no te sabría decir bien porque no uso esa versión desde hace mucho.

darkojd 09/11/2007 02:41

Re: cuenta de usuario
 
Jo! Bueno, muchas gracias de todas formas y si alguien sabe de alguna solución que me lo diga,please!
Un saludo y gracias nuevamente

juaniquillo 09/11/2007 08:34

Re: cuenta de usuario
 
Tratare de buscar algo por ahí a ver si encuentro como hacerlo, aunque yo tu voy pensando en actualizar el programa ya que esa versión tiene poco mas de 3 años.. eso son como 10 años en años de computadora.

Saludos.

fenua73 16/11/2007 17:38

Re: cuenta de usuario
 
Hola a todos,

Soy muy novato en diseño de pagina web con Dreamweaver 8.
Alguien me puede explicar lo de registrar usuario con su contraseña dentro de una base de datos.
En el campo 5 me dice que no tengo tabla (La tabla en tu base de datos donde tienes los usuarios).
Alguien me puede echar una mano ?
Gracias.

juaniquillo 16/11/2007 20:10

Re: cuenta de usuario
 
necesitas una base instalar una base de datos para poder almacenar la información. Pasate por este mensaje para que veas lo que necesitas para seguir este tutorial:
http://www.forosdelweb.com/f17/pagin...-datos-450033/

fenua73 17/11/2007 07:01

Re: cuenta de usuario
 
Hola,

Gracias por contestarme tan rapido.
El wanp5 lo tengo instalado y los servicios funciona bien (habia seguido los pasos de esta web www.aulaclick.es) y he configurado el servidor de prueba del Dreamweaver 8 pero lo que no se es dentro del PHPmyAdmin como configurarlo mis differentes usuarios y despues connectarlos con el dreamweaver.
Lo que quiero hacer es que algunos usuarios (prealablemente definido por mi dentro de la base de datos) accede a mis paginas pero lo demas no (pagina de error).
La pagina de login, la del error y la principal la tengo preparadas ya he visto tu tutorial para configurarlas con DW8.Lo que me falta es la tabla de usuarios de la base de datos.

Gracias

juaniquillo 17/11/2007 21:35

Re: cuenta de usuario
 
Si lo que quieres es crear la base de datos y las tablas para almacenar la información, pues eso varía dependiendo de que información quieras almacenar. En el caso del ejemplo la base de datos solo tiene una tabla llamada 'susarios' la cual tiene los siguientes campos: id, usuario, contraseña, nombre y apellido. Primero tienes que crear la base de datos y luego correr este código desde la pestaña de SQL:

Código:

CREATE TABLE `usuarios` (
  `id` int(11) NOT NULL auto_increment,
  `usuario` varchar(255) default NULL,
  `pass` varchar(255) default NULL,
  `nombre` varchar(255) default NULL,
  `apellido` varchar(255) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Yo uso InnoDB pero tu podrías usar igualmente MyISAM. Esto creara que uso como ejemplo en la base de datos. Para algo más complicado te sugiero que pases por el foto de Base de datos.

Para configurar la conexión de DW con MySQL pásate por este mensaje:
http://www.forosdelweb.com/showthread.php?t=431098

fenua73 19/11/2007 16:29

Re: cuenta de usuario
 
Hola,

Gracias por contestar!

Ya he creado la base de datos con las informaciones siguientes :
Id, Usuario, Contraseña, Nombre, Apellidos y email.
He renombrado el fichero "login.php" por "index.php".Con el servidor de prueba funciona bien todo (el logueo a la pagina principal y el mensaje de error si el login esta mal)pero cuando lo paso al servidor remoto falla y me aparece eso :

************************************************** ***************
Warning: mysql_pconnect() [function.mysql-pconnect]: Can't connect to local MySQL server through socket '/tmp/mysqld.sock' (2) in /homepages/14/d223259226/htdocs/Connections/connex01.php on line 9

Fatal error: Can't connect to local MySQL server through socket '/tmp/mysqld.sock' (2) in /homepages/14/d223259226/htdocs/Connections/connex01.php on line 9
************************************************** ****************

Parece un problema de connexion con la base de datos?

Otra pregunta cuando si logueo un usuario quiere que aparece a la pagina principal su nombre y apellidos(por ejemplo "Bienvenido Juan"), he usado el texto dinamico pero siempre me sale el mismo usuario ???Hay otra manera de hacerlo.

Gracias por adelantado!

juaniquillo 19/11/2007 19:42

Re: cuenta de usuario
 
Creo que tienes que arreglar la información de conexión en tu servidor remoto, osea, el nombre del servidor, username, password, ext. Me imagino que la información de tu servidor remoto es el la misma que la remota. Si usas c-panel puedes ver com debes hacer la conexión php cuando creas la base de datos y le asignas un usuario.

Arriba explico exactamente como crear un recorset que devuelva los valores del usuario logueado. ¿Cómo lo has hecho tú?


La zona horaria es GMT -6. Ahora son las 02:19.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.