Ir para conteúdo
Fórum Script Brasil
  • 0

Login De Usuário Com Session


bigao

Pergunta

Olá amigos,

ca estou iniciante em PHP e também neste fórum.

Gostaria de contar com a ajuda de vocês pois tenho um grande problema e preciso resolve-lo urgente.

O site que estou criando precisa ter sessões restritas à usuários cadastrados e logados.

Andei procurando alguns scripts e consegui fazer a conexao com o banco de dados, consegui fazer o form com os inputs serem verificados no banco e como estavam de acordo com o registro no banco, o usuário seria redirecionado para um determinado link.

Agora eu lhes pergunto:

Como eu faço pra ter uma pagina dinamica?

Eu gostaria de, como ali no topo do fórum, poder dizer: Olá fulano!

Segue então os codigos que tenho e o que venho fazendo até o presente momento:

Form de login

<form name="frmAutentica" method="post" action="autentica.php">

  <table border="0" cellpading="0" cellspacing="0" width="50%">

  <tr>

      <td width="10%"><img src="images/index_12.gif"></td>

</tr>

<tr>

  <td width="40%"><img src="images/index_17.gif" width="16" height="18">

    <input type="text" name="txtUser" size="21" maxlength="12" height="12"></td>

  </tr>

  <tr>

      <td width="10%"><img src="images/index_16.gif"></td>

</tr>

<tr>

  <td width="40%"><img src="images/index_17.gif" width="16" height="17">

    <input type="password" name="txtSenha" size="21" maxlength="12" height="12"></td>

  </tr>

  <tr>

      <td colspan="2" align="center">

  <input type="submit" name="btnLogar" value="Logar" style="width: 50; font-family: Arial; font-size: 10 px; color: #FFFFFF; font-weight: bold; border: 3px double #007CC2; padding-left: 4; padding-right: 4; padding-top: 1; padding-bottom: 1; background-color: #007CC2; height:20; text-align:center; line-height:100%; margin-top:0; margin-bottom:0">

  <input type="button" name="btnSenha" value="Esqueci minha Senha" align="top" width="12" height="9" style="width: 150; font-family: Arial; font-size: 10 px; color: #FFFFFF; font-weight: bold; border: 3px double #007CC2; padding-left: 4; padding-right: 4; padding-top: 1; padding-bottom: 1; background-color: #007CC2; height:20; word-spacing:0; text-align:center; line-height:100%; margin-top:0; margin-bottom:0">

  </td>

  </tr>

  </table>

</form>

Script de consulta

<?

//CONECTA COM O BANCO DE DADOS

require_once("conecta.php");

//RECEBE OS DADOS DO FORMULÁRIO

$usuario  =  $_POST[txtUser];

$senha    =  $_POST[txtSenha];

//VERIFICA

$sql  =  mysql_query("

          SELECT A.ID_USUARIO, A.NOME_USUARIO FROM tb_usuarios A

    WHERE  A.USUARIO  =  '$usuario'

        AND A.SENHA    =  '$senha'") or die("ERRO NO COMANDO SQL");

//LINHAS AFETADAS PELA CONSULTA

$row  =  mysql_num_rows($sql);

//VERIFICA SE RETORNOU ALGO

if($row == 0) echo "Usuário/Senha inválidos";

else {

    //PEGA OS DADOS

  $id  =  mysql_result($sql, 0, "ID_USUARIO");

  $nome =  mysql_result($sql, 0, "NOME_USUARIO");

    //INICIALIZA A SESSÃO

  session_register("nome");

  $id_sess = session_id();

  //GRAVA AS VARIÁVEIS NA SESSÃO

  $_SESSION[id]    =  $id;

  $_SESSION[nome]  =  $nome;

 

  //REDIRECIONA PARA A PÁGINA QUE VAI EXIBIR OS PRODUTOS

  Header("Location: index2.php?id_sess=$id_sess");

}//FECHA ELSE

?>

Logo após ser verificado que estão corretos, login e senha, o usuário é redirecionado para página index2.php, que contem um iframe, aonde seria colocada a informação: Olá 'usuário'

Então amigos?

Como eu poderia fazer isso ?

Desculpe pelo tamanho do texto, mas estou muito confuso.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Olá, Seja bem vindo...

de uma olhadinha no manual http://br.php.net/manual/pt_BR/ref.session.php

Irá tirar muitas de suas dúvidas, você fez praticamente tudo certo, mas te recomendo usar session_start() ao invés de session_registe(). e registre uma variavel com a senha do usuário.

Para colocar uma mensagem tipo Olá, Usuário.

if (isset($_SESSION['nome'])){
echo "Ola, $_SESSION['nome']";
}

Não sei se você fez, mas em todas as paginas protegidas você deve fazer uma verificação para proteger a execução da pagina.

Qualquer duvida posta ae...

Link para o comentário
Compartilhar em outros sites

  • 0

Olá jeferson,

obrigado pela saudação.

Bom, realmente, eu não fiz, até porque eu estou coletando informações aqui e ali.

Foi me dito e eu não sei até que ponto é verdade, que por eu usar no Header um link e este conter um iframe que busca um outro arquivo, e eu querer colocar a saudação neste ultimo, eu preciso salvar a ID da sessão e transpassar no link da iframe como foi feito no link do header.

até aí foitudo feito e mesmo assim não consigo efetuar isto.

Eu estou completamente perdido, pois cada lugar que eu vou se tem uma opinião diferente sobre o assunto.

Será que existe algum script 'perdido' por aí que pudesse dar uma base?

Será que alguém poderia disponibilizar algo do genero?

Pois eu tenho visto algumas pessoas com a mesma duvida mas os mesmos não quotam seus script, assim quem tem a mesma duvida, continua na duvida.

Então, como fazer?

bigao

Link para o comentário
Compartilhar em outros sites

  • 0

Olá, Aí vai:

pagina_1.php

<? session_start(); //inicia a session
$a = "Tetsndo 1 2 3 ...";    //carrega a variável como se fosse um result do BD
$_SESSION['teste'] = $a;  // registra a session
header("Location: pagina_2.php");  //redireciona para pagina2.php
exit;
?>
pagina_2.php
<? session_start();
$b = $_SESSION['teste']; // poderia dar um echo $_SESSION['teste'];
print $b;
?>

Copie esses dois códigos e vê se aparece algum erro.... se aparecer pode ser q você tenha de configurar seu php.ini

Se funcioner, vê se você entende e post aí...

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,5k
    • Posts
      652,3k
×
×
  • Criar Novo...