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

Login Com Administração + Mysql + Sessions


VOM

Pergunta

Galera sou iniciante na área e tou querendo criar um sistema de cadastro de usuários para acesso a área restrita com sessions. Quando o usuário se cadastrar a sua conta deverá ficar bloqueada até que seja liberada pelo administrador do site. Pois bem, para isso fiz uma tabela em Mysql com vários campos, entre eles LOGIN, SENHA, STATUS.

O Status recebrá inicialmente o valor (int) 0, para quando cadastrado e 1 para quando liberado pelo administrador.

Até aí está tudo funcionando, porém não conseguir fazer o principal.

1- Verificar se a senha do user esta liberada ou não antes do login.

2- Quando acesso a página de administração em Listar usuários ele me mostra todos usuários cadastrados e quais contas já estão liberadas ou não. Como faço para inserir um botão (um link) para que quando clique nele altere o status de um usuário específico para liberado (para se o valor do STATUS for 0), ou seja, preciso de um botão que só apareça quando o usuário ainda não esta com sua conta liberada e que quando clique nele altere o valor do campo STATUS para 1, que siginifcará conta deste usuário liberada. Daí dá um refesh nesta página e este botão agora aparece um novo Link ou Botão, que se clicar mudará o status para 0 novamente, que bloqueará a conta deste usuário.

Abaixo segue os códigos que estou usando:

Página de login:

<?php
// inclui o arquiv o de configuração do sistema
include "Config/config_sistema.php";
// revebe dados do formulario
$login = htmlspecialchars($_POST['login']);
$senha = $_POST['senha'];




// verifica se o usuario existe
$consulta = mysql_query("select * from dados_usuarios where Login='$login'");
$campos = mysql_num_rows($consulta);
if($campos != 0) {
// se o usuario existi verifica a senha dele
if($senha != mysql_result($consulta,0,"Senha")) {
echo "<font color=red><b>
Senha incorreta!
</font></b>";
exit;
}

else {
// estiver tudo certo vamos ver se ele é o administrador
if($login == $login_admin) {
// se for o login do administrador vamos verificar a senha dele
// se é igual a do administrado
if($senha == $senha_admin) {
// se for o administrador vomos criar a sessão
session_start();
$_SESSION['login_usuario'] = $login;
$_SESSION['senha_usuario'] = $senha;

// redireciona o link para uma outra pagina
header("Location: Admin/listar_usuarios.php");

}
}

else {
// se o login não for do administrado vamos criar a sessão dele
session_start();
$_SESSION['login_usuario'] = $login;
$_SESSION['senha_usuario'] = $senha;


// redireciona o link para uma outra pagina
header("Location: Usuario/dados_usuario.php");
}
}
}
else {
echo "<font color=red><b>
O usuario não existe!
</font></b>";
exit;
}
?>[/codebox]

Página de listagem de usuários:

[codebox]<?php
// inclui o arquivo de validar sessão
include "../validar_session.php";
// inclui o arquivo de configuração do sistema
include "../Config/config_sistema.php";

// faz consulta no banco de dados

?>
<html>
<head>
<title>Página PHP</title>
</head>
<style>
b2{
color:#FF0000;
}
</style>
<body>

<?php
$consulta = "select * from dados_usuarios";
$resultado = mysql_query($consulta)
or die("Falha na execução da consulta");
while($linha = mysql_fetch_assoc($resultado)){
$Login = $linha["Login"];
$Senha = $linha["Senha"];
$status = $linha["status"];



echo "<b> Login:</b> $Login";
echo "<b> Senha:</b> $Senha";
if ($status==0){
echo "<b2> Não Liberado</b2><br/>";
}
else{
echo "<b>Liberado</b><br/>";
}
}
?>
</body>
</a>
</html>

Como é visualizado os usuários

Obrigado pela ajuda.

Abs

VOM

Editado por VOM
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Primeiro depois da parte onde você verifica a senha, coloca um elseif e verifica qual o status do cara...

if($senha != mysql_result($consulta,0,"Senha")) {
echo "<font color=red><b>
Senha incorreta!
</font></b>";
exit;
}
elseif (mysql_result($consulta,0,"Status") != 1){
echo "<font color=red><b>
Usuário bloqueado!
</font></b>";
exit;

}else {
// estiver tudo certo vamos ver se ele é o administrador
Segundo, coloca algo assim:
$id = ...//Pega o id do cara na hora de lista os dados

if ($status == 0){
echo "<a href=\"libera.php?$id\"><b2> Não Liberado</b2></a><br/>
}else{
echo "<b>Liberado</b><br/>";
}

Na página libera.php você pega o ID do cara e dá um update na tabela... ai pode redirecionar para a página que exibe os cadastros ou outra coisa que você queira...

Link para o comentário
Compartilhar em outros sites

  • 0
Primeiro depois da parte onde você verifica a senha, coloca um elseif e verifica qual o status do cara...

if($senha != mysql_result($consulta,0,"Senha")) {
echo "<font color=red><b>
Senha incorreta!
</font></b>";
exit;
}
elseif (mysql_result($consulta,0,"Status") != 1){
echo "<font color=red><b>
Usuário bloqueado!
</font></b>";
exit;

}else {
// estiver tudo certo vamos ver se ele é o administrador
Segundo, coloca algo assim:
$id = ...//Pega o id do cara na hora de lista os dados

if ($status == 0){
echo "<a href=\"libera.php?$id\"><b2> Não Liberado</b2></a><br/>
}else{
echo "<b>Liberado</b><br/>";
}

Na página libera.php você pega o ID do cara e dá um update na tabela... ai pode redirecionar para a página que exibe os cadastros ou outra coisa que você queira...

Cara vlw mesmo, agora sim conseguir adpatar meu código a estas necesidades. Brigadão mesmo pela ajuda.

Abs

VOM

Link para o comentário
Compartilhar em outros sites

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,4k
    • Posts
      652,2k
×
×
  • Criar Novo...