..:: MX Studio Fóruns ::..: login multi usuário - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




ATENÇÃO

Para evitar posts desnecessários e que não influam para o andamento e desenvolvimento do fórum, clique aqui e leia todas as regras.
Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

login multi usuário Sistema de login multi usuário usando case

#1 User is offline   mayck 

  • Group: Membros
  • Posts: 7
  • Joined: 23-December 10

Posted 19 January 2011 - 01:39 AM

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
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic



Publicidade




1 User(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)