wtomtom 0 Denunciar post Postado Julho 10, 2016 Pessoal estou com uma dúvida na parte de login e logout, criei uma pagina que para acessar ela tem que ter um cadastro só que não sei como que faço para criar uma sistema de logout, no sistema toda vez que recarrego a pagina ela volta para a pagina de login onde tenho que cadastrar os dados de login novamente não quero isso quero o sistema tipo igual desse site que só faz o logout depois que clico no link sair. segui o código. Desde já agradeço a todos que me ajudarem. <?php include("conecta/config.php"); include("conecta/restrito.php"); require 'conecta/conexao.php'; $login = $_POST['login']; $senha = $_POST['senha']; /* Verifica se existe usuario, o segredo ta aqui quando ele procupa uma linha q contenha o login e a senha digitada */ $sql_logar = "SELECT * FROM user WHERE login = '$login' && senha = '$senha'"; $exe_logar = mysql_query($sql_logar) or die (mysql_error()); $fet_logar = mysql_fetch_assoc($exe_logar); $num_logar = mysql_num_rows($exe_logar); //Verifica se n existe uma linha com o login e a senha digitado if ($num_logar == 0){ header("Location:login.php"); echo "Login ou senha invalido."; echo "<br><a href='login.php'>Clique aqui para volta.</a>"; } elseif($fet_logar['activo'] == "N"){ header("Location:login.php"); echo "Usuario não ativado, verifique seu e-mail para ativa a conta."; echo "<br><a href='login.php'>Clique aqui para volta.</a>"; } else{ //Cria a sessão e manda pra pagina principal.php session_start(); $_SESSION['login'] = $login; $_SESSION['senha'] = $senha; $termo = (isset($_GET['termo'])) ? $_GET['termo'] : ''; // Verifica se o termo de pesquisa está vazio, se estiver executa uma consulta completa if (empty($termo)): $conexao = conexao::getInstance(); $sql = 'SELECT id, nome, compra_venda, valor_moeda, valor_reais, email, carteira, telefone, status, foto FROM tab_clientes order by id DESC'; $stm = $conexao->prepare($sql); $stm->execute(); $clientes = $stm->fetchAll(PDO::FETCH_OBJ); else: // Executa uma consulta baseada no termo de pesquisa passado como parâmetro $conexao = conexao::getInstance(); $sql = 'SELECT id, nome, compra_venda, valor_moeda, valor_reais, email, carteira, telefone, status, foto FROM tab_clientes WHERE nome LIKE :nome OR email LIKE :email'; $stm = $conexao->prepare($sql); $stm->bindValue(':nome', $termo.'%'); $stm->bindValue(':email', $termo.'%'); $stm->execute(); $clientes = $stm->fetchAll(PDO::FETCH_OBJ); endif; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Julho 10, 2016 Verifique se você está iniciando a session em todas as páginas que exibem login. Se não usar session_start() nelas, a sessão não é reconhecida e o usuário é considerado não logado Sugiro que siga este tutorial: http://blog.ultimatephp.com.br/sistema-de-login-php/ Seu sistema está vulnerável a SQL Injection. Veja como resolver: http://rberaldo.com.br/seguranca-em-sistemas-de-login-protecao-contra-sql-injection/ PS: funções mysql_* estão obsoletas desde o PHP 5.5 e já foram removidas no PHP 7. Prefira usar MySQLi ou PDO. Veja mais aqui: http://rberaldo.com.br/mysql-obsoleto-php/ Compartilhar este post Link para o post Compartilhar em outros sites
wtomtom 0 Denunciar post Postado Julho 10, 2016 Beraldo, muito obrigado pela ajudar consegui fazer o sistema funcionar com o tuturial que me indicou mas não tutorial não mostra como edito os dados de login e senha você sabe como faço isso? http://blog.ultimatephp.com.br/sistema-de-login-php/ Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Julho 10, 2016 Você se refere à função de alterar senha? Se for isso, é só uma tela onde o usuário digita a senha atual e a nova senha. Compare se a senha digitada é igual à salva no banco (lembre-se de usar hash). Se for igual, salve o hash da nova senha no banco e pronto :) Compartilhar este post Link para o post Compartilhar em outros sites
wtomtom 0 Denunciar post Postado Julho 10, 2016 ok, mas tem como você me passar o código pois sou iniciante ainda e não sei como fazer essa função. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Julho 11, 2016 Existem inúmeros tutoriais sobre isso na Internet Você só deixará de ser iniciante se estudar e se dedicar. O propósito do fórum é orientar, não entregar código pronto. Estude, tente fazer. Se tiver dúvidas, volte aqui e pergunte, que ajudaremos sempre que possível Compartilhar este post Link para o post Compartilhar em outros sites