Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Salve salve galera,
vamos vê nesse mini cursinho.
(Uma forma básica de utilização de sessão para identificação de login :)
vamos.
Vou separar alguns blocos que usaremos para desenvolver esse tutorial.
Vamos começar pela parte da consulta
PHP
/ seguindo dica do script postado pelo fabyo, vamos dar duas opções para comparar o login, nesse usaremos a padrão, mais seria mencionado outra forma /
$sql = [mysql_query](http://br.php.net/mysql_query)(“select [count](http://br.php.net/count)(*) as total from usuarios where user=’$usuario’ and senha=’$senha’”);
//essa é uma forma que pode ser usada para buscar e verificar se as informações são verdadeiras.
//vamos agora para opção que será usada nesse tutorial.
$sql = [mysql_query](http://br.php.net/mysql_query)(“select * from usuários where user=’$usuario’ and senha=’$senha’”);
//bem essa parte já foi comentada.
primeiro vamos desenvolver a pagina de login.
[color= #009900;][url="http-~~-//december.com/html/4/element/html.html"][color= #0000BB;]<html>[/url]
[color= #009900;][url="http-~~-//december.com/html/4/element/body.html"][color= #0000BB;]<body>[/url]
[color= #009900;][url="http-~~-//december.com/html/4/element/form.html"][color= #0000BB;]<form[/url] [color= #000066;]action=[color= #ff0000;]"efetuaLogin.php" [color= #000066;]method=[color= #ff0000;]"post" [color= #000066;]name=[color= #ff0000;]"form"[color= #0000BB;]>
[color= #009900;][url="http-~~-//december.com/html/4/element/table.html"][color= #0000BB;]<table[/url] [color= #000066;]width=[color= #ff0000;]'400' [color= #000066;]align=[color= #ff0000;]'center'[color= #0000BB;]>
[color= #009900;][url="http-~~-//december.com/html/4/element/tr.html"][color= #0000BB;]<tr>[/url]
[color= #009900;][url="http-~~-//december.com/html/4/element/td.html"][color= #0000BB;]<td[/url] [color= #000066;]colspan="2">Efetue o login</td>
</tr>
[url="http-~~-//december.com/html/4/element/tr.html"]<tr>[/url]
[url="http-~~-//december.com/html/4/element/td.html"]<td[/url] width='150'>Usuário:</td>
[url="http-~~-//december.com/html/4/element/td.html"]<td>[/url][url="http-~~-//december.com/html/4/element/input.html"]<input[/url] type="text" name="usuario" size="30"></td>
</tr>
[url="http-~~-//december.com/html/4/element/tr.html"]<tr>[/url]
[url="http-~~-//december.com/html/4/element/td.html"]<td[/url] width='150'>Senha:</td>
[url="http-~~-//december.com/html/4/element/td.html"]<td>[/url][url="http-~~-//december.com/html/4/element/input.html"]<input[/url] type="password" name="senha" size="10"></td>
</tr>
[url="http-~~-//december.com/html/4/element/tr.html"]<tr>[/url]
[url="http-~~-//december.com/html/4/element/td.html"]<td>[/url][url="http-~~-//december.com/html/4/element/input.html"]<input[/url] type="submit" name="buttom" value="Logar"></td>
</tr>
</table>
</form>
</body>
</html>
vamos agora para a pagina efetuaLogin.php
PHP
<?php[/color] //inicio a sessão
[session_start](http://br.php.net/session_start)();
//include da conexão com o banco.
inclide "conexao.php";
//recebo as variáveis.
$usuarios = $_POST["usuario"];
$senha = $_POST["senha"];
// verifico se estão preenchidos.
if(empty($usuaruio) || empty($senha)){
echo "você deve informar o usuário e a senha.";
$erro +=1; //informo que ocorreu um erro.
}
//verifico se o usuário e a senha possuem mais que 5 caracteres
if(strlen($usuario) < 6 || strlen($senha) < 6){
[echo](http://br.php.net/echo) "Usuário e a senha deve possuir mais de 5 caracteres.";
$erro +=1;
}
// agora verifico se ocorreu erro ou não.
if($erro !=0){
[echo](http://br.php.net/echo) "$erro";
[echo](http://br.php.net/echo) "<br>";
[echo](http://br.php.net/echo) "<a href='#' onclick='java script:history.go(-1)'>Voltar</a>";
}
//se não ocorreu erro
else{
$sql = [mysql_query](http://br.php.net/mysql_query)("select * from usuarios where usuario='$usuario' and senha='$senha'");
$rows = [mysql_num_rows](http://br.php.net/mysql_num_rows)($sql);
//verifico se existe registros na consulta
if($rows!=0){
//a consulta nao for 0
$mostra = mysql_fetch_array($sql); // busco todas as informações da consulta.
//incremento as variáveis.
$nome = $mostra["nome"];
$id = $mostra["id"];
//crio as sessoes
$_SESSION["usuario"] = $usuario; //sessão do usuario
$_SESSION["senha"] = $senha; //crio a sesão da senha
$_SESSION["nomeUsuario"] = $nome; //crio tb a sessão do nome para ser exibido
$_SESSION["idUsuario"] = $id; //crio tb e levo junto a sessão do id para que seja usado se precisar
//apresento uma mensagem de boas vindas usando o alert e puxando o php dentro do javascript
[echo](http://br.php.net/echo) "<script>
alert('Seja bem Vindo, " . $nome . " ');
</script>";
//redireciono para a pagina padrão
[echo](http://br.php.net/echo) "<script> window.location='paginaProt.php'; </script>";
}//fecho o if
else{
//por algum motuivo for 0 a consulta
[echo](http://br.php.net/echo) "<script>alert('Usuário e senha Não reconhecidos.'); history.back()</script>";
//se for 0 mostro mensagem e utilizo a função js para voltar para a pagina.
}//fecho o else da consulta
}//fecho o else de verificação
[mysql_close](http://br.php.net/mysql_close)($con);
?>
pronto gente, agora ja construimos as pagina e vamos apenas detalhar algumas funções.
session_start(); //função é responsável em inicializar a sessão da página, por isso deve ser usuada em todas as paginas que necessitem que as mensmas sejam verificadas.
empty(); função que verifica se uma determinada variável está vazia, se for verdadeiro ele retorna o erro;
strlen(); função que verifica o tamanho de uma string, se for menos que o informado ele retorna o erro.
vamos agora para a pagina para verificar se foi criada ou não a sessão.
pagina Proteger.php
PHP
<?php [session_start](http://br.php.net/session_start)(); //inicio a sessão.
if(!$_SESSION["usuario"] and !$_SESSION["senha"]){
[header](http://br.php.net/header)("location: login.html");
//não existir a sessão ele redireciona para a pagina de login.
}
?>
vamos Agora para a pgina protegina.
paginaProt.php
PHP
<?php //antes de qualquer tag html devo primeiro iniciar a sessão
[session_start](http://br.php.net/session_start)();
//indico o arquivo que verifica se é verdade ou não,.
require("Proteger.php");
?>
<html>
<head>
<title>Pagina Protegida</title>
</head>
<body>
<h1 align="center">Está pagina é protegida</h1>
</body>
</html>
vamos adivionar aqui a página do lougot que foi esqueci da :)
PHP
<? [session_start](http://br.php.net/session_start)();
$_SESSION = [array](http://br.php.net/array)();
//aqui ele pega todas as sessoes e inclui num array
//aqui ele destroy todas as sessoes.
//REDIRECIONA PARA A TELA DE LOGIN
[header](http://br.php.net/header)("Location: login.php");
?>
Bem gente
bastante simples.
agora vamos para a parte do banco de dados.
sua tabela de no banco de dados deve conte
CREATE TABLE usuario ( [/color]
id[/color] INT NOT NULL ,
nome VARCHAR( 50 ) NOT NULL ,
usuario VARCHAR( 20 ) NOT NULL ,
senha VARCHAR( 32 ) NOT NULL [/color]
) ENGINE = innodb;[/color]
Fonte para busca das funções usadas.[/color]
SESSION_START(); [/color][http://www.php.net/manual/pt_BR/function.session-start.php[/color]](http://www.php.net/manual/pt_BR/function.session-start.php)
Strlen(); [/color][http://www.php.net/manual/pt_BR/function.strlen.php[/color]](http://www.php.net/manual/pt_BR/function.strlen.php)
Empty(); [/color][http://www.php.net/manual/pt_BR/function.empty.php[/color]](http://www.php.net/manual/pt_BR/function.empty.php)
Mysql_query(); [/color][http://www.php.net/manual/pt_BR/function.mysql-query.php[/color]](http://www.php.net/manual/pt_BR/function.mysql-query.php)
Require(); [/color][http://www.php.net/manual/pt_BR/function.require.php[/color]](http://www.php.net/manual/pt_BR/function.require.php)
$_SESSION[]; [/color][http://www.php.net/manual/pt_BR/ref.session.php[/color]](http://www.php.net/manual/pt_BR/ref.session.php)
Mysql_num_rows(); [/color][http://www.php.net/manual/pt_BR/function.mysql-num-rows.php[/color]](http://www.php.net/manual/pt_BR/function.mysql-num-rows.php)
Bem gente é isso ae simples.[/color]
Se algueem quiser alterar ou melhorar comentar . esteja avontade.; [/color]
Qualquer duvida é so postar. [/color]
Abraço a todos. [/color]
http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif [/color]
Carregando comentários...