Restrito
<?php $conexao = mysql_connect("host", "username", "password") or die ("Erro na conexão ao banco de dados."); $db = mysql_select_db("database") or die ("Erro ao selecionar a base de dados."); if (!isset($_SESSION)) session_start(); if (!isset($_SESSION['UsuarioID']) OR ($_SESSION['UsuarioNivel'] < $nivel_necessario)) { session_destroy(); $sql = "INSERT INTO usuario VALUES ('$_SESSION[UsuarioNome]')"; $sql = mysql_query($sql) or die ("Houve erro na gravação dos dados."); } ?> <?php echo $_SESSION['UsuarioNome']; ?>Validação
<?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('host', 'username', 'password') 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']; $usuario = $_SESSION['UsuarioNome']; // Redireciona o visitante header("Location: restrito.php"); exit; } ?>OBS: Sei que a parte do restrito pode conter erro!
Edição feita por: Édipo Costa Rebouças, 04/06/2010, 13:02.