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]
é isso ae irmão..esse script ae é para efetuar login.. não cadastrar :D
mt bom bruno, simples objetivo!
alguns errinhos se der um CTRL+v :P
mas kem tem o basico axo q desenrrola...
agora uma coisa q você eskeceu bom eu fiz assim:
um link na pagina protegida para LOGOUT.php
<? session_start(); session_destroy();//REDIRECIONA PARA A TELA DE LOGIN header("Location: login.php"); ?>
è pode crer Mike,esqueci mesmo, vou acrescentar acima o logout.:)mais qual erro você encontrou no Ctrl + v :)
bem explicado...;Pparabens!!
Olá....
Criei uma pagina no Dreamweaver e agora precisor colocar logine senha para acesso restrito, ja instalei o php+mysql+apache esta tudo funcionando perfeitamente.
Porém não entendo nda de php, nem com esse "cursinho" consegui implementar, gostaria de saber em que parte devo fazer a conexão com o bando de dados e se a "form"(Login.html) fica no mesmo efetuarLogin.php, pois para conectar com o BD no DW a form não pode ser html????
http://forum.imasters.com.br/public/style_emoticons/default/upset.gif
Alguém entendeu? Pode me ajudar?
Obrigada
Si
você pode fazer 1 pagina para cada coisa. do mesmo jeitoq ue está no cursinho. no caso de tentar fazer alguma coisa e não conseguiposta no forum principal. sua duvida. que te ajudamos la Simone
qual dessas é a login.php?
qual dessas é a login.php?
O Bruno nomeou o script que efetua login como efetuaLogin.php. Não precisa, necessariamente, ser chamado de login.php. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
só um detalhe muito importante, no arquivo efetualogin.php
alterar para:
PHP
$usuarios = addslashes(htmlentities($_POST["usuario"]));$senha = addslashes(htmlentities($_POST["senha"]));
para melhorar a segurança do script
Olá, sou novato tb no .php.
Tenho algumas duvidas, essa primira parte da conexão é feita em um .php?
e como mando os dados do MySQL pro host?
Agradecido :blink:
Primeiramente, bem-vindo ao iMasters, kioske! :D
A conexão com o servidor MySQL é feita com PHP.
Sobre conexão com MySQL:
http://forum.imasters.com.br/index.php?showtopic=158364
http://br.php.net/mysql_connect
Para enviar as informações do banco de dados do seu servidor local para o servidor remoto você pode usar o Exportar e o Importar, do PHPMyAdmin.
Leia este artigo:
Este sistema é pra cadastrar e em seguida ter acesso a uma página restrita?Caso eu queira apenas consultar login e senha (sendo que os autorizados já então cadastrados no bd) e dar acesso a uma página restrita caso os dados estejam corretos?aguardooo (e desculpe a ignorância noa ssunto)