Jump to content


Photo

Sistema De Login


  • Faça o login para participar
4 replies to this topic

#1 Elsonlima

Elsonlima

    Novato no fórum

  • Usuários
  • 11 posts
  • Sexo:Não informado

Posted 08/10/2009, 15:04

Ola pessoal!

Eu sou novo por aqui, e se eu tiver postando em lugar errado por favor Sr. ADM, mova para a área correta

Esse é meu primeiro tuto aqui no WMO, e vou postar um script simples de login e senha.

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

1 - Primerio Crie uma tabela com os seguintes capos:

id, nome, login e senha.

ou use o codigo abaixo:

CREATE TABLE `login` (
`id` int(10) NOT NULL auto_increment,
`nome` varchar(100) NOT NULL,
`login` varchar(100) NOT NULL,
`senha` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

2 - para se conectar com o mysql crie um novo arquivo e salve com o nome de "config.php", cloque nele o codigo:

<?php
$bd = mysql_connect ("localhost","root","");
$dado = mysql_select_db("login",$bd); // no caso o banco tem o nome de "login", coloque o nome do seu banco de dados
?>

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Abra o phpmyadmin e insira na tabela criada um valor para os campos, para que tenha pel menos um login cadastrado.

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
3 - vamos criar agora a pagina com o nome de "index.php" e colocar nela o form por onde será feito o login, o codigo deve vir dentro da tag <body>

<?php
// pega a mensagen de erro e exibe na pagina de login caso o usuario erre o login
$erro = $_GET['login_errado'];
if($erro == "erro"){
echo "Login ou Senha não conferem. Tente outra Vez";
}
?>
<form action="login.php" method="post">
Login <br/>
<input name="login" type="text" /><br/>
Senha<br/>
<input name="senha" type="password" id="senha" />
<br/>
<input name="Submit" type="submit" value="Login" />
</form>

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

4 - Crie um nova pagina e salve como "login.php" com o codigo abaixo. Esse e o arquivo que loga o usuario.

<?php
/// abre a sessao
session_start();
// conexao com o banco
include "config.php";
/// pega o valor vindo do campo login
$login = $_POST['login'];
/// pega o valor vindo do campo senha
$senha = $_POST['senha'];
//seleciona a tabela
$sql = mysql_query("SELECT * FROM login WHERE login='$login' AND senha='$senha'");
// confere se exixte no banco
if(mysql_num_rows($sql) == 1){
// se existir registra a session com o login e senha e vai para a pagina_principal
$_SESSION['login_session'] = $login;
$_SESSION['senha_session'] = $senha;
header("Location:pagina_principal.php");
// se nao existir destroi a sessao existente e manda a mensagen de erro para a pagina do form
}else{
unset($_SESSION['login_session']);
unset($_SESSION['senha_session']);
header("location:index.php?login_errado=erro");
}

?>

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

5 - Vamos criar entao uma pagina principal pra onde o usuario será direcionado quando logar no sistema, crei e salve com o nome de "pagina_principal.php"

<?php
#### verificando de a session existe ou nao #####

// inicia a sessiom
session_start();
//se nao existir volta para a pagina do form de login
if(!isset($_SESSION['login_session']) and !isset($_SESSION['senha_session'])){
header("Location:index.php");
exit;
}
//// a parte acima deve estar em todas as paginas onde houver restrições de acesso no site
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR...nsitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>sistema de login</title>
</head>

<body>
<?php
// conexao com o banco ESSA PARTE SERVE PARA EXIBIR O NOME DO USUARIO LOGADO
include "config.php";
// resgata os valores da session
$login = $_SESSION['login_session'];
$senha = $_SESSION['senha_session'];
// seleciona o nome no campo da tabela
$sql = mysql_query("SELECT * FROM login WHERE login='$login' AND senha='$senha'");
$linha = mysql_fetch_array($sql);
$nome = $linha['nome'];
?>
Bemvindo a pagina principal - <strong><?php echo $nome ?></strong><br/><br/>

<a href="sair.php">Sair</a>
</body>
</html>

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

6 - Vamos criar agora a pagina que destroi a sessao quando o usuario clicar no link "Sair", crie uma nova pagina e salve com o nome de "sair.php".

<?php
// desttroi a sessao
session_start();
unset($_SESSION['login_session']);
unset($_SESSION['senha_session']);
header("location:index.php");
?>

Bom Pessoal é isso... Espero que tenha ajudado.
Valeu!! Abraço e até a próxima...

Voce pode baixar os aquivos que estou disponibilizando. "DESCULPEM SE TIVER ERROS E ORTOGRAFIA rsrsr"

Attached Files



#2 Silencioso

Silencioso

    Novato no fórum

  • Usuários
  • 2 posts
  • Sexo:Masculino

Posted 14/10/2009, 21:34

Vlw Elsonlima, me ajudou muito a firmar como fazer um sistema de login. To estudando um código que lembra mto esse tbm, só que ele valida a senha depois de ter validado o login:









<?php

	 include "config.php";

		 $login = $_POST['login'];
	 $senha = $_POST['senha'];
	 
	 $sql = mysql_query("select * from adm where login='$login' ");
	 
	 $conta_registros = mysql_num_rows($sql);
	 
	 while($linha = mysql_fetch_array($sql))
	 {
		  $senha_bd = $linha['senha'];		  
	 }

	 if ($conta_registros == 0)
	 {
		   echo "&lt;script type='text/javascript'>";
		  
		   echo "alert('Nome de usuário não permitido');";
		  
		   echo "</script>";
		   
		   echo "<meta http-equiv='refresh' content='0; url=login.php'>";
	 }
	 else if($conta_registros != 0)
	 {
		  if($senha_bd != $senha)
		  {
				echo "&lt;script type='text/javascript'>";
		  
				echo  "alert('Usuário e senha não permitido');";
		  
				echo "</script>";
				
				echo "<meta http-equiv='refresh' content='0; url=login.php'>";
		  }
		  else
		 {
			   session_start();	  
			   $_SESSION['login_adm'] = $login;
			   $_SESSION['login_senha'] = $senha;
			   echo "<meta http-equiv='refresh' content='0; url=index.php'>";
			  // include("location:index.php");
		 }
	 }

	 
?>

In the silence...

#3 caiçara_MG

caiçara_MG

    Novato no fórum

  • Usuários
  • 17 posts
  • Sexo:Feminino
  • Localidade:uberaba

Posted 16/05/2010, 20:47

Elson Lima,
vim só te agradecer, seu código me salvou hehe
Abraços

#4 dinheiroconsciente

dinheiroconsciente

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Masculino
  • Localidade:Stuttgart

Posted 20/05/2010, 10:11

Muito bom o Post Elsonlima, também vim te agradecer por aqui!

#5 edero

edero

    Turista

  • Usuários
  • 53 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte
  • Interesses:PHP, DOT.NET, FLEX, SQL-SERVER, TDD, Agilidade, RAILS

Posted 15/07/2010, 17:51

Apenas uma contribuição para evitar ataques de SQL-INJECTION:
include "config.php";

	 $login = $_POST['login'];
     $senha = $_POST['senha'];
	 
	 $sql = mysql_query("select * from adm where login=%s", mysql_real_escape_string($login));
	 
	 $conta_registros = mysql_num_rows($sql);
	 
	 while($linha = mysql_fetch_array($sql))
	 {
		  $senha_bd = $linha['senha'];		  
	 }

	 if ($conta_registros == 0)
	 {
		   echo "&lt;script type='text/javascript'>";
		  
		   echo "alert('Nome de usuário não permitido');";
		  
		   echo "</script>";
		   
		   echo "<meta http-equiv='refresh' content='0; url=login.php'>";
	 }
	 else if($conta_registros != 0)
	 {
		  if($senha_bd != $senha)
		  {
				echo "&lt;script type='text/javascript'>";
		  
				echo  "alert('Usuário e senha não permitido');";
		  
				echo "</script>";
				
				echo "<meta http-equiv='refresh' content='0; url=login.php'>";
		  }
		  else
		 {
			   session_start();	  
			   $_SESSION['login_adm'] 	= $login;
			   $_SESSION['login_senha'] = $senha;
			   echo "<meta http-equiv='refresh' content='0; url=index.php'>";
			  // include("location:index.php");
		 }
	 }





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq