Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rodrigo01

formulario de login

Recommended Posts

Pois bem pessoal eu fiz esse script de login so que estou com um problema e que eu quero impedir que após o usuário estiver logado seja bloqueado caso outra pessoa tenha o login e senha do cara e ele esteja logado a outra pessoa não consiga no caso efetuar o acesso pois avise no caso que o usuário tal esta logado no momento. Gostaria de pedir também auxilio para que coloca-se um botão de lembrar login e senha assim quando o usuário clicar nele sempre que entrar no site ate limpar o navegador o acesso seja direto sem precisar passar pelo painel de login.

Lembrando que caso ele limpe o navegador ou efetue o logout do site o acesso ao login e senha seja permitido.

<?
include("config.php");
session_start();
if ($_GET["page"] == "login"){
if ($_POST["login"] != ""){
$senha = md5($_POST["senha"]);
$senha1 = $_POST["senha"];
$usuario = $_POST["login"];
$select = mysql_query("SELECT * FROM `userPremium` WHERE `login`='$usuario' AND `senha`='$senha'");
$users = mysql_num_rows($select);
if ($users == 1){
session_register("premium");
setcookie("login","$usuario");
setcookie("senha","$senha1");

echo "<script>window.location=('userpremium.php');</script>";
} else {
echo "<script>window.alert('Aviso o login e senha colocados não estão cadastrados em nosso sistema favor tentar mais uma vez.');</script>";
}
} else {
echo "<script>window.alert('Campo de Login/Senha não podem ficar vazios.');</script>";
}
}
if ($_GET["page"] == "logout"){
session_destroy();
}
?>

<?
if (session_is_registered("premium")){
?>

Bem vindo ao site


<? } else { ?>
Area de login
<form method="POST" action="?page=login">
<input name="login" type="text" /></td>
<input name="senha" type="password" /></td>
<input type="image"  name="B1" class="entrar" /></td>
</form>
<?
}

?>


Abaixo eu deixo também a MySQL que fiz para esse script. Sendo que eu adicionei no caso um campo ip

 CREATE TABLE `userPremium` (
  `id` int(255) NOT NULL AUTO_INCREMENT,
  `login` varchar(8) COLLATE latin1_general_ci NOT NULL,
  `senha` varchar(25) COLLATE latin1_general_ci NOT NULL,
  `data` date NOT NULL,
  `contaPremium` varchar(4) COLLATE latin1_general_ci NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;

INSERT INTO `userPremium` VALUES(1, '', 'admin', '21232f297a57a5a743894a0e4', '2013-11-22', 'ativada');


Espero que alguém possa me ajudar desde já agradeço a todos os presentes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para a situação de impedir que após o usuário estiver logado seja bloqueado caso outra pessoa tenha o login e senha do cara e ele esteja logado a outra pessoa não consiga no caso efetuar o acesso pois avise no caso que o usuário tal esta logado no momento.

 

Sugiro que você faça essa tratativa em conjunto com o DataBase exemplo:

 

- Adicione mais uma coluna em sua tabela userPremium com o nome de "conectado"

- implemente um instrução Update ao validar se o login e senha informados são válidos ficando algo mais ou menos assim

 

$select = mysql_query("SELECT * FROM `userPremium` WHERE `login`='$usuario' AND `senha`='$senha'"); 
$users = mysql_num_rows($select); 
if ($users == 1){ 
$verificar_login = mysql_fetch_object($select); 
if($verificar_login->conectado === "SIM"){ 
echo "<script>window.alert('Usuário já conectado no site.');</script>";

echo "<script>window.location.reload();</script>";    

}else{

$sql = mysql_query("UPDATE userPremium SET conectado = 'SIM' WHERE login = '$login' AND   senha = '$senha'"); 

session_register("premium");
setcookie("login","$usuario");
setcookie("senha","$senha1");

echo "<scrip>window.location=('userpremium.php');</script>";

}


 

 

E no logout do sistema novo Update porém setando o valor 'NAO' para o campo conectado

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.