Ir para conteúdo
Fórum Script Brasil
  • 0

login multi usuário


Mayck May

Pergunta

Bom dia,

Estou desenvolvendo um sistema de login onde o usuário após logado passa por redirecionamento, já que cada usuário tem sua página especifica no sistema e não pode ser feito uso de busca dos dados desse usuário por banco de dados, porque cada página tem seu próprio layout, porem estou tendo dificuldades.

O sistema deveria funcionar assim:

1° O cliente coloca seu login e senha

2° O sistema faz a verificação normal no banco de dados desse usuário se confirmado a existência do usuário no db ele envia o id do usuário para uma página de redirecionamento

3° Essa página de redirecionamento pega o id do usuário e compara aos existentes no "case", localizando o id ele redireciona para a página que estiver indicada

Segue os códigos

index.php

<form action="validar.php" method="post">
<fieldset>
<legend>Dados de Login</legend>
    <label for="txUsuario">Usuário</label>
    <input type="text" name="usuario" id="txUsuario" maxlength="25" />
    <label for="txSenha">Senha</label>
    <input type="password" name="senha" id="txSenha" />

    <input type="submit" value="Entrar" />
</fieldset>
</form>
validar.php
<?php

// Verifica se houve POST e se o usuário ou a senha é(são) vazio(s)
if (!empty($_POST) AND (empty($_POST['usuario']) OR empty($_POST['senha']))) {
    header("Location: index.php"); exit;
}

// Tenta se conectar ao servidor MySQL
mysql_connect('localhost', 'root', '') or trigger_error(mysql_error());
// Tenta se conectar a um banco de dados MySQL
mysql_select_db('database') or trigger_error(mysql_error());

$usuario = mysql_real_escape_string($_POST['usuario']);
$senha = mysql_real_escape_string($_POST['senha']);

// Validação do usuário/senha digitados
$sql = "SELECT `id`, `nome`, `nivel` FROM `usuarios` WHERE (`usuario` = '". $usuario ."') AND (`senha` = '". sha1($senha) ."') AND (`ativo` = 1) LIMIT 1";
$query = mysql_query($sql);
if (mysql_num_rows($query) != 1) {
    // Mensagem de erro quando os dados são inválidos e/ou o usuário não foi encontrado
    echo "Login inválido!"; exit;
} else {
    // Salva os dados encontados na variável $resultado
    $resultado = mysql_fetch_assoc($query);

    // Se a sessão não existir, inicia uma
    if (!isset($_SESSION)) session_start();

    // Salva os dados encontrados na sessão
    $_SESSION['UsuarioID'] = $resultado['id'];
    $_SESSION['UsuarioNome'] = $resultado['nome'];
    $_SESSION['UsuarioNivel'] = $resultado['nivel'];

    // Redireciona o visitante
    header("Location: redirecionar.php"); exit;
}

?>
redirecionar.php
<?
$dbh = mysql_connect("localhost","usuario","senha");
mysql_select_db("banco de dados",$dbh);

$id = $_POST["id"];
$usuario = $_POST["usuario"];

$select = ("SELECT * FROM 'cliente' WHERE id='$id',$dbh");
$resultado = mysql_query($select);
$linhas = count($resultado);

if ($linhas > 0){

session_start();
$_SESSION["id_usuario"] = $id;
$_SESSION["usuario_usuario"] = $usuario;

$login = $_POST["id"];
switch($login)
{
case '1':
header ("location: alex.php");
break;

case '2':
header ("location: ana.php");
break;

default
header ("location: erro.php");
}}

mysql_close($dbh);
?>
página do alex.php
<?php

// A sessão precisa ser iniciada em cada página diferente
if (!isset($_SESSION)) session_start();

$nivel_necessario = 2;

// Verifica se não há a variável da sessão que identifica o usuário
if (!isset($_SESSION['UsuarioID']) OR ($_SESSION['UsuarioNivel'] < $nivel_necessario)) {
    // Destrói a sessão por segurança
    session_destroy();
    // Redireciona o visitante de volta pro login
    header("Location: index.php"); exit;
}

?>

<h1>Página restrita</h1>
<p>Olá, <?php echo $_SESSION['UsuarioNome']; ?>!</p>
página da ana.php
<?php

// A sessão precisa ser iniciada em cada página diferente
if (!isset($_SESSION)) session_start();

$nivel_necessario = 3;

// Verifica se não há a variável da sessão que identifica o usuário
if (!isset($_SESSION['UsuarioID']) OR ($_SESSION['UsuarioNivel'] < $nivel_necessario)) {
    // Destrói a sessão por segurança
    session_destroy();
    // Redireciona o visitante de volta pro login
    header("Location: index.php"); exit;
}

?>

<h1>Página restrita</h1>
<p>Olá, <?php echo $_SESSION['UsuarioNome']; ?>!</p>

Já passei dias buscando fazer esse processo funcionar, sem sucesso!

Agradeço desde já pela força de todos

Sds

Maycke

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...