Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Bruno Capella

Efetuando login utilizando sessão para a identificação

Recommended Posts

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(“select 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(“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();

//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 "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 "$erro";

echo "<br>";

echo "<a href='#' onclick='java script:history.go(-1)'>Voltar</a>";

}

//se não ocorreu erro

else{

$sql = mysql_query("select * from usuarios where usuario='$usuario' and senha='$senha'");

 

$rows = 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 "<script>

                  alert('Seja bem Vindo, " . $nome . " ');

         </script>";

 

//redireciono para a pagina padrão

 

echo "<script> window.location='paginaProt.php'; </script>";

 

          }//fecho o if

      else{

    //por algum motuivo for 0 a consulta

    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($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(); //inicio a sessão.

 

if(!$_SESSION["usuario"] and !$_SESSION["senha"]){

  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();

//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();

 

$_SESSION = array();

//aqui ele pega todas as sessoes e inclui num array

 

session_destroy();

//aqui ele destroy todas as sessoes.

 

//REDIRECIONA PARA A TELA DE LOGIN

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]

 

 

 

Strlen(); [/color]http://www.php.net/manual/pt_BR/function.strlen.php[/color]

 

 

 

Empty(); [/color]http://www.php.net/manual/pt_BR/function.empty.php[/color]

 

 

 

Mysql_query(); [/color]http://www.php.net/manual/pt_BR/function.mysql-query.php[/color]

 

 

 

Require(); [/color]http://www.php.net/manual/pt_BR/function.require.php[/color]

 

 

 

$_SESSION[]; [/color]http://www.php.net/manual/pt_BR/ref.session.php[/color]

 

 

 

Mysql_num_rows(); [/color]http://www.php.net/manual/pt_BR/function.mysql-num-rows.php[/color]

 

 

 

 

 

 

 

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]

Compartilhar este post


Link para o post
Compartilhar em outros sites

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)

Compartilhar este post


Link para o post
Compartilhar em outros sites

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"); ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem explicado...;Pparabens!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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:

Compartilhar este post


Link para o post
Compartilhar em outros sites

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:

http://forum.imasters.com.br/index.php?showtopic=192408

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.