Usuarios activos

Hola.
He diseñado un foro para mi Web, con un sistema de acceso restringido mediante un script (autentificator) que funciona muy bien.
El problema viene porque quiero que aparezca en la página principal del foro el nombre de los usuarios activos. El script autentificator dispone de una variable que guarda durante la sesión el nombre del usuario.
He intentado hacer una página intermedia entre la de acceso y la principal del foro que guarde en una base de datos el nombre del usuario, pero no se si lo hago mal o que pasa, pero no me funciona.
¿Me podrías dar una solución? Quizás sea más fácil de lo que me imagino.
Te agradecería que me lo explicaras como para tontos, es que soy un poco novato en esto. GRACIAS
Respuesta
1
Pues si es un Foro de Discusión y usas un script para autentificación, entonces lo que puedes hacer es agregar un campo a la tabla de usuarios que se llame por ejemplo autentificado entonces cuando el usuario se logee le haces un UPDATE y estableces un valor 1 lo cual te hará entender que el usuario está autentificado, luego cuando el usuario se deslogee lo pones a 0 nuevamente. Luego para mostrar los usuarios lo que haces es un simple SELECT donde el campo ese o sea autentificado sea igual a 1.
¿Entendés?

1 respuesta más de otro experto

Respuesta
1
Cuando un usuario se valida correctamente tienes que marcar en la base de datos que ese usuario está activo. Crea un nuevo campo en la tabla de usuarios y le asignas un valor para los usuarios inactivos y otro para los usuarios activos.
Tienes la variable de sesión que identifica al usuario en la base de datos, según dices lo que guardas es el nombre del usuario. En la función de autentificación, tras crear la sesión del usuario tienes que hacer una consulta sobre la base de datos de la siguiente forma:
$consulta = "UPDATE Usuarios SET Activo = '1' WHERE Nombre = '$Usuario'";
Donde la variable $Usuario es el nombre del usuario que acaba de validarse correctamente. Esta consulta pone el campo Activo de ese usuario a 1 indicando que ese usuario tiene que mostrarse en la lista de usuarios activos.
Ahora haces una función que busque en la base de datos todos los usuarios activos, sería una consulta del tipo:
$consulta = "SELECT Nombre FROM Usuarios WHERE Activo = '1'";
De ahí obtienes todos los nombres de los usuarios activos y ya solo tienes que mostrarlos uno por uno. El código para mostrarlos podría ser:
$consulta = "SELECT Nombre FROM Usuarios WHERE Activo = '1'";
$listaUsuarios = mysql_query($consulta);
while( $usuActivo = mysql_fetch_array($listaUsuarios) ) {
echo $usuActivo['Nombre'];
}
Como ves, es bastante sencillo. Si has programa el foro y consultas a la base de datos no vas a tener ningún problema, pero si algo no he dejado claro me lo dices.
Te voy a poner algunos scripts que he encontrado que muestran el número de usuarios activos, quizá te ayuden también:
http://www.desarrolloweb.com/articulos/615.php?manual=6
http://www.maestrosdelweb.com/editorial/phpusr/

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas