Ir para conteúdo

Arquivado

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

kamikaze19971997

[Resolvido] SESSION como usar ?

Recommended Posts

Boas pessoa tudo bem ? estou precisando muito da ajuda de vocês... já tem 4 dais que estou quebrando a cabeça nesse assunto e ainda não consegui resolver...

* Só para deixar claro desculpa minha ignorância mas não manjo muito de PHP.

 

Meu problema é o seguinte pessoa... eu estou desenvolvendo um sistema bastante simples para ser usado pela minha pessoa e mas 4 amigos... o sistema trata-se de; Pagina de Login, Pagina de Cadastro e um Painel...  só que estou com uma pequena dificuldade em usar "SESSION" para que cada usuário possa ver suas informações... gostaria de uma orientação de como fazer isso.

 

Meu projeto tem as seguintes pasta..

 

index.html

config.php

login.php

cadastro.php

 e um banco de dados com a tabala com USUARIO e SENHA.

 

Segue o código abaixo:

LOGIN e CADASTRO

 

index.php

<!DOCTYPE html>
<html >
<head>
  <meta charset="UTF-8">
  <title>BetCoins - Login</title>
  
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css">

  <link rel='stylesheet prefetch' href='http://fonts.googleapis.com/css?family=Roboto:400,100,300,500,700,900|RobotoDraft:400,100,300,500,700,900'>
<link rel='stylesheet prefetch' href='http://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css'>

      <link rel="stylesheet" href="css/style.css">

  
</head>

<body>
  
<!-- Mixins-->
<!-- Pen Title-->
<div class="pen-title">
  <h1>Painel de Controle</h1><span>
</div>
<div class="container">
  <div class="card"></div>
  <div class="card">
    <h1 class="title">Login</h1>
    <form action="Login.php" method="post">
      <div class="input-container">
	  
        <input type="#{type}" id="#{label}" type="text" name="usuario"/>
		
        <label for="#{label}">Usuário</label>
        <div class="bar"></div>
      </div>
      <div class="input-container">
	  <input type="password" id="#{label}" name="senha" required="required"/>
        		
        <label for="#{label}">Senha</label>
		
        <div class="bar"></div>
      </div>
      <div class="button-container">
	  <button><span> ENTRAR</span></button>
	   
      </div>
      <div class="footer"><a href="#">Esqueceu a senha?</a></div>
    </form>
  </div>
  <div class="card alt">
    <div class="toggle"></div>
    <h1 class="title">Cadastrar
      <div class="close"></div>
    </h1>
    <form action="Cadastro.php" method="post">
      <div class="input-container">
        <input type="#{type}" id="#{label}" type="text" required="required" name="novo_usuario"/>
        <label for="#{label}">Usuário</label>
        <div class="bar"></div>
      </div>
      <div class="input-container">
        <input type="password" id="#{label}"  required="required" name="nova_senha"/>
        <label for="#{label}">Senha</label>
        <div class="bar"></div>
      </div>
      <div class="input-container">
        <input type="password" id="#{label}" required="required" name="nova_senha2"/>
        <label for="#{label}">Repitir Senha</label>
        <div class="bar"></div>
      </div>
      <div class="button-container">
        <button><span>CADASTRAR</span></button>
      </div>
    </form>
  </div>
</div>
  <script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>

    <script src="js/index.js"></script>

</body>
</html>

 

Login.php

<?php
include ("Config.php"); // INCLUINDO INFORMAÇÕES DO CONDIG.PHP

@mysql_connect("$host", "$user", "$pass") or die(mysql_error()); // CONECTANDO-SE AO MYSQL DA MAQUINA
mysql_select_db($database) or die(mysql_error()); // CONECTANDO-SE A DATA BASE

$usuario = ($_POST['usuario']); // ESSA VARIAVEL IRÁ GUARDAR INFORMAÇÕES FORNECIDAS PELO CAMPO DE TEXTO LOGIN DO FORMULARIO
$senha = ($_POST['senha']); // ESSA VARIAVEL IRÁ GUARDAR INFORMAÇÕES FORNECIDAS PELO CAMPO DE TEXTO SENHA DO FORMULARIO

$analisar = "SELECT * FROM login WHERE usuario = '$usuario' AND senha = '$senha'"; // ESSA VARIAVEL IRÁ ANALISAR NO BANCO DE DADOS NA TABELA LOGIN SE USUARIO E SENHA ESTAO CORRETOS
$resultado = mysql_query($analisar); // ESSA VARIAVEL IRÁ GUARDAR INFORMAÇÕES FORNECIDAS PELA VARIAVEL $ANALISAR 

$iniciar = mysql_num_rows($resultado); // ESSA VARIAVEL SERVIRÁ PARA CHECAR SE EXISTE UM USUARIO COM ESSE LOGIN (NOTE QUE ELA BUSCA INFORMAÇÕES DE OUTRAS VARIAVEIS)

if ($iniciar == 1)// ESSA CONDIÇÃO IRÁ VERIFICAR SE OS DADOS FORNECIDOS NÃO IGUAIS AOS DO BANCO DE DADOS
{ // APÓS A CONDIÇÃO FOR ACEITA, ACONTECE UMA AÇÃO, E ESSA AÇÃO SERÁ O RESULTADO DO LOGIN EFETUADO
?> <!-- NOTE QUE ISSO JÁ É UM COMENTARIO EM HTML, ISSO ACONTECEU PORQUÊ EU FECHEI A TAG DO PHP PARA QUE EU POSSA TRBALHAR COM CODIGOS EM HTML APÓS EU TER EFETUADO O LOGIN -->

<center>
Bem Vindo ao seu Painel <font style="font-weight:bold;"><?php echo $usuario ?></font> <!-- MENSAGEM QUE APARECERÁ CASO ESTA LOGADO -->
</center>

<?php // AQUI JA COMEÇA COMENTARIOS EM PHP, OU SEJA EU ABRI NOVAMENTE A TAG DO PHP PARA QUE MEU CODIGO CONTINUE PROCESSANDO SEM ERRO ALGUM 
}
else // EXCEÇÃO CASO LOGIN OU SENHA ESTIVEREM ERRADOS
{
echo "Login ou Senha Invalido"; // MENSAGEM QUE APARECERÁ CASO OS DADOS FORNECIDOS ESTAJAM ERRADOS
}

?>

 

 

Cadastro.php

 

<?php
require_once ("Config.php"); // INCLUINDO INFORMAÇÕES DO CONDIG.PHP
@mysql_connect("$host", "$user", "$pass") or die(mysql_error()); // CONECTANDO-SE AO MYSQL DA MAQUINA
mysql_select_db($database) or die(mysql_error()); // CONECTANDO-SE A DATA BASE
$novo_usuario = ($_POST['novo_usuario']); // ESSA VARIAVEL IRÁ GUARDAR INFORMAÇÕES FORNECIDAS PELO CAMPO DE TEXTO LOGIN DO FORMULARIO
$nova_senha = ($_POST['nova_senha']); // ESSA VARIAVEL IRÁ GUARDAR INFORMAÇÕES FORNECIDAS PELO CAMPO DE TEXTO SENHA DO FORMULARIO
$nova_senha2 = ($_POST['nova_senha2']); // ESSA VARIAVEL IRÁ GUARDAR INFORMAÇÕES FORNECIDAS PELO CAMPO DE TEXTO COMFIRME A SENHA DO FORMULARIO

$selecionar = "SELECT usuario FROM login WHERE usuario = '$novo_usuario'"; // ESSA VARIAVEL IRÁ SELECIONAR A TABELA E A COLUNA PARA QUE SEJA CHECADO SE NÃO EXISTE UM MESMO LOGIN
$verificar = mysql_query($selecionar); // ESSA VARIAVEL IRÁ GUARDAR INFORMAÇÕES FORNECIDAS PELA VARIAVEL $SELECIONAR 

$enviar = mysql_num_rows($verificar); // ESSA VARIAVEL SERVIRÁ PARA CHECAR SE JA EXISTE UM USUARIO COM ESSE LOGIN (NOTE QUE ELA BUSCA INFORMAÇÕES DE OUTRAS VARIAVEIS)

if ($enviar == 1) // ESSA CONDIÇÃO IRÁ VERIFICAR SE OS DADOS FORNECIDOS DESDE A PRIMEIRA VARIAVEL $SELECIONAR ATÉ ENVIAR SE NÃO HÁ NENHUM CONFRONTO (A CONDIÇÃO A SER CUMPRIDA AQUI É QUE O VALOR DO LOGIN DO USUARIO TEM QUE SER DIFERENTE DE 1 PARA CONTINUAR, SE O POR ACASO ALGUEM JA ESTIVER UTILIZANDO O MESMO LOGIN, DE ALGUMA FORMA ESSE NOME SERÁ COMPARADO COM O Nº 1, E APARECERÁ A MENSAGEM DE ERRO ABAIXO)
{
echo "O Nome do Usuario Já Existe"; // MENSAGEM DE ERRO QUE IRÁ APARECER CASO A CONDIÇÃO SEJA CUMPRIDA, OU SEJA, A CONDIÇÃO SE CUMPRE QUANDO O LOGIN JA ESTIVER SENDO USADO
} 
else // EXCEÇÃO CASO NÃO SEJA CUMPRIDA AS CONDIÇÕES ( ESSA EXCEÇÃO ELA SERÁ PROCESSADA QUANDO OS DADOS FORNECIDOS PELA PESSOA AINDA NÃO ESTIVER SENDO UTILIZADA)
{
if ($nova_senha == $nova_senha2) // ESSA CONDIÇÃO IRÁ VERIFICAR SE A SENHA PRINCIPAL É A MESMA FORNECIDA PELA CONFIRMAÇÃO DA SENHA, SE AS DUAS SENHAS ESTIVEREM CORRETAS O CADASTRO IRÁ SER CONCLUIDO.
{
$sqlEnviando = mysql_query("INSERT INTO login (usuario,senha) VALUES ('$novo_usuario','$nova_senha')") or die(mysql_error()); /* AQUI O CODIGO IRÁ INSERIR OS DADOS FORNECIDOS PELA PESSOA NO BANCO DE DADOS, FUNCIONA +/- ASSIM ESSA LINHA:
"INSIRA DENTRO DA TABELA LOGIN NAS COLUNAS USUARIO E SENHA OS VALORES $NOVO_USUARIO E $NOVA_SENHA" */
echo "Cadastro Efetuado com Sucesso"; // MENSAGEM QUE IRÁ APARECER CASO O CADASTRO SEJA EFETUADO COM SUCESSO!
}
else // ESSA EXCEÇÃO SE APLICA QUANDO A SENHA PRINCIPAL FOI DIGITA DIFERENTE DA CONFIRMAÇÃO DA SENHA
{
echo "As Senhas não Conferem"; // MENSAGEM QUE IRÁ APARECER CASO AS SENHA NÃO FOREM CORRETAS
}
}
?>

 

 

Então gostaria de cria um painel para os usuários... mas como fazer o usuário ver apenas os dados dele e nao dos outros, andei vendo vídeos e observei que pode ser resolvido por essa função SESSION.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aconselho aprender também sobre as psr, poo e pdo.

Com os conceitos acima você irá conseguir lhe oferecer uma manutenção e uma extensão melhor em seu código.

Além de oferecer uma boa leitura de código quando precisar de ajuda.

Boa sorte e sucesso amigo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por landerbadi
      Boa tarde pessoal. Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades. Tenho uma tabela chamada "itens" com os seguintes campos: id, item, ativo. Nela tem cadastrado vários itens. No campo ativo eu coloco a letra "S" para informar que este item está ativo no sistema. Por exemplo: 1, casa, S 2, mesa, S 3, cama, S 4, moto S 5, rádio O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "produtos" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, mesa, moto 2, mesa, casa, cama 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela produtos da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "mesa". Preciso fazer com que o php me liste todos os registros da tabela "produtos" que contenham a palavra "mesa". Até aqui tudo bem eu consigo listar. Estou fazendo assim: <?php $item = "mesa" $sql = mysqli_query($conn, "SELECT * FROM produtos WHERE item1 LIKE '$item' OR item2 LIKE '$item' OR item3 LIKE '$item' LIMIT 10"); while($aux = mysqli_fetch_assoc($sql)) { $id = $aux["id"]; $item1 = $aux["item1"]; $item2 = $aux["item2"]; $item3 = $aux["item3"]; echo $id . " - " . $item1 . ", " . $item2 . ", " $item3 . "<br>"; } ?> O problema é que está listando todos os registros que contém o item mesa. Eu preciso que o php verifique os demais item e me liste somente os registro em que todos os registros estejam ativos no sistema. No exemplo acima ele não deveria listar o registro 3. pois nesse registro contém o item "radio" e este item não está ativo no sistema. Ou seja, o registro "radio" na tabela itens não possui um "S" na coluna "ativo". Alguém sabe como resolver isso?
    • Por ILR master
      Fala galera.
      Espero que todos estejam bem.
      Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
       
      <item>
      <title>
      d sa dsad sad sadasdas
      </title>
      <link>
      dsadas dsa sad asd as dsada
      </link>
      <pubDate>sadasdasdsa as</pubDate>
      <dc:creator>
      d sad sad sa ad as das
      </dc:creator>
      </item>
       
      Meu código:
       
      $link = "noticias.xml"; 
      $xml = simplexml_load_file($link); 
      foreach($xml -> channel as $ite) {     
           $titulo = $ite -> item->title;
           $urltitulo = $ite -> item->link;
           print $urltitulo = $ite -> item->dc:creator;
      } //fim do foreach
      ?>
       
      Esse campo dc:creator eu não consigo ler. Como faço?
       
      Agradeço quem puder me ajudar.
       
      Abs
       
       
    • Por First
      Olá a todos!
       
      Eu estou criando um sistema do zero mas estou encontnrando algumas dificuldades e não estou sabendo resolver, então vim recorrer ajuda de vocês.
      Aqui está todo o meu código: https://github.com/PauloJagata/aprendizado/
       
      Eu fiz um sistema de rotas mas só mostra o conteúdo da '/' não sei porque, quando eu tento acessar o register nada muda.
      E eu também quero que se não estiver liberado na rota mostra o erro de 404, mas quando eu tento acessar um link inválido, nada acontece.
      Alguém pode me ajudar com isso? E se tiver algumas sugestão para melhoria do código também estou aceitando.
       
       
      Desde já, obrigado.
×

Informação importante

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