Foros del Web » Programando para Internet » PHP »

sistema de usuarios

Estas en el tema de sistema de usuarios en el foro de PHP en Foros del Web. hola quisiera saber como implementar un sistema de usuarios en donde yo pueda validar el nombre de usuario y contraseña, teniendo en cuenta el tiempo ...
  #1 (permalink)  
Antiguo 06/06/2006, 23:31
Avatar de Stickmaster2004  
Fecha de Ingreso: septiembre-2004
Ubicación: Barranquilla
Mensajes: 567
Antigüedad: 13 años, 2 meses
Puntos: 0
sistema de usuarios

hola quisiera saber como implementar un sistema de usuarios en donde yo pueda validar el nombre de usuario y contraseña, teniendo en cuenta el tiempo de expiracion de la la sesion y de que no pueda entrar a otra pagina sin haberse antes logeado en la primera pagina.

tengo otra pregunta:
si tengo en la primera pagina dos cajas de texto, la primera para el nombre de usuario, la segunda para la contraseña, y un combobox para elejir la empresa, mi inquietud es la siguiente:
yo manejo una base de datos por empresa, es decir yo puedo tener hasta 5 bases de datos
ahora bien voy a poner el ejemplo de que tenga 2:
una base de datos llamada:servipollo y otra gasoil, teniendo en cuenta la empresa elejida en el combobox, pues yo aqui recojo el nombre de la base de datos, necesito comparar el valor de la variable esta, con las bases de datos que tengo, es decir si en el combobox eleji gasoil alli es donde va a hacer la comparacion de lo que se encuentra en las cajas de texto(usuario+contraseña) pues este tio pertenece a esa empresa, bueno eso es todo y perdon por extenderme un poco creo que es un caso puntual y me he hecho lios, bueno les agradeceria si me pudieran ayudar.
bye.
__________________
Solo el que se basa en conocimiento basico y cultiva el aprendizaje obtendra sabiduria
  #2 (permalink)  
Antiguo 06/06/2006, 23:56
 
Fecha de Ingreso: enero-2006
Ubicación: mi casa
Mensajes: 255
Antigüedad: 11 años, 10 meses
Puntos: 0
Hola Stickmaster04...

Creo que entiendo lo que quieres...
mira, para hacer un sistema de usuarios en PHP, puedes usar las sessiones.
busca información sobre eso...

por lo del combobox imagino que son bases de datos diferentes no?
y cada base de datos (de cada empresa) tiene sus propios usuarios y passwords...

sería que obtuvieras con $_POST el valor del combo box y decidir mediante un If a que base de datos conectar y obtener los usuarios
ya después de las comparaciones de usuario y password y autentificar, iniciar la sessión (session_start)

como ejemplo de manejo de sessiones te dejo un script que codie el día de hoy:

Código:
<?php
if(!isset($_POST['submit'])){
    include("header.inc");
    include("menu.inc");
    include("secciones/login.htm");
} else {
       include("infodb.php");
        $query = "SELECT * FROM usuarios WHERE login='".$_POST['usuario']."'";
        $link  = mysql_connect($db_host,$usuario_db,$password_db);
        $resul = mysql_db_query("basededatos",$query,$link);
        if(mysql_num_rows($resul) == 0){
            include("header.inc");
            include("menu.inc");
            echo "<center><strong>Nombre de usuario o contraseña inválidos</strong></center>";
        } else {
            $arrayx = mysql_fetch_array($resul);
            if(($_POST['usuario'] == $arrayx["login"]) && (md5($_POST['password']) == $arrayx["password"])) {
               session_name('logged');
               session_start();
               mysql_free_result($resul);
               $_SESSION['auth']="1";
               $_SESSION['usuario']=$_POST['usuario'];
                  
                   }

            header("Location: http://****/cpanel.php");
            } else {
                 mysql_free_result($resul);
                 include("header.inc");
                 include("menu.inc");
                 echo "<center><strong>Nombre de usuario o contraseña inválidos</strong></center>";
            }
        }
  }
    include("footer.inc");
?>
también te aconsejo buscar en maestrosdelweb que hay un buen articulo sobre eso.
  #3 (permalink)  
Antiguo 07/06/2006, 00:06
Avatar de Stickmaster2004  
Fecha de Ingreso: septiembre-2004
Ubicación: Barranquilla
Mensajes: 567
Antigüedad: 13 años, 2 meses
Puntos: 0
si........., pero.........

bueno entendi el codigo, pero..........., como hago esa comparacion que dices, por que tenia la misma logica que ti, pero, no se como comparar esa variable recojida de post con el nombre de la base de datos que hay, como hago esto????
y bueno a partir de alli pues que busque el nombre de usuario y contraseña de ese usuario eso si es sencillo, pero me inquieta esa parte que te comente alli arriba.
__________________
Solo el que se basa en conocimiento basico y cultiva el aprendizaje obtendra sabiduria
  #4 (permalink)  
Antiguo 07/06/2006, 00:25
 
Fecha de Ingreso: junio-2006
Ubicación: Jáltipan Veracruz, México
Mensajes: 150
Antigüedad: 11 años, 6 meses
Puntos: 1
a ver si te entendí, en tu primerscript tienes algo semenjante a:
<form name='f1' action='pab2.php' method='post'>
Nombre:<input type='text' name='nom'>
Password:<input type='password' name='pass'>
<select name='base'>
<?
$dbd=mysql_connect('localhost','root','');
$res=mysql_list_dbs($dbd);
while($fila=mysql_fetch_array($res,MYSQL_NUM))
if(strcasecmp($fila[0],'information_schema')!=0 &&
strcasecmp($fila[0],'mysql')!=0 &&
strcasecmp($fila[0],'test')!=0)
echo"<option value='$fila[0]'>$fila[0]</option>";
?>
<input type='submit' value='Enviar'>
</form>

entonces en tu siguiente script obtienes el valor, nombre, password y la base a usar, de ahí a como tu la quieres usar, incluso si quieres la base la colocas en una sesión para que cuando hagas tu conexion a la base la obtengas de la sesión y así sea más fácil.
  #5 (permalink)  
Antiguo 07/06/2006, 01:37
Avatar de Stickmaster2004  
Fecha de Ingreso: septiembre-2004
Ubicación: Barranquilla
Mensajes: 567
Antigüedad: 13 años, 2 meses
Puntos: 0
me perdi en algunas lineas, por ejemplo en MYSQL_NUM, a que hace referencia????


'information_schema')!=0 &&
strcasecmp($fila[0],'mysql')!=0 &&
strcasecmp($fila[0],'test')!=0)
//tampoco entiendo que hace este bloque???


while($fila=mysql_fetch_array($res,MYSQL_NUM))
if(strcasecmp($fila[0],'information_schema')!=0 &&
strcasecmp($fila[0],'mysql')!=0 &&
strcasecmp($fila[0],'test')!=0)
echo"<option value='$fila[0]'>$fila[0]</option>";

podrias explicarme???
__________________
Solo el que se basa en conocimiento basico y cultiva el aprendizaje obtendra sabiduria
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:44.