Rodrigo01 1 Denunciar post Postado Novembro 22, 2013 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
jnrdesign 6 Denunciar post Postado Novembro 22, 2013 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