Jump to content
Kaio Augusto de Castro

Duvida com a Sessão (session) no php

Recommended Posts

e ai pessoal blz?

Bom sou novo em PHP e estou com umas duvidas aqui no assunto $_SESSION['  ']; e a minha duvida é o seguinte:

Se eu cria a session pra ela me retornar uma resposta de uma outra pagina que foi executada, obrigatoriamente eu teria que limpar essas session para que o usuário não pudesse ter acesso as informações que ele sou anteriormente nos campos. Até ai eu meio que compreendi, o que não me entra na cabeça é:

 

Se eu acabar de usar o código para limpar/fechar a sessão ele tbm vai limpar as informações que ficam guardados o usuário que esta acessando aquela pagina?(no caso a pagina só pode ter acesso quem esta logado)

Caso limpe tudo é possível criar mais de uma session?Ex "$_SESSION_LOGIN['  '] e $_SESSION['  ']" ?

se for possível como faço pra limpar os dados de uma sem mexer nas outras sessions?

 

Lembre-se eu sou iniciante por isso tenham paciência! :)

Share this post


Link to post
Share on other sites
1 hora atrás, Kaio Augusto de Castro disse:

Caso limpe tudo é possível criar mais de uma session?

 

Você pode fazer subgrupos na session, exemplo:

 

$_SESSION['login'] = array( 'email' => 'email@domain.com' , 'senha' => 'userpassword' );
$_SESSION['games'] = array( 'palavra' => 'Helicóptero' , 'letra' => 'a' );

 

1 hora atrás, Kaio Augusto de Castro disse:

como faço pra limpar os dados de uma sem mexer nas outras sessions?

 

Assim:

unset( $_SESSION['palavra'] );

 

Share this post


Link to post
Share on other sites
1 hora atrás, Jesse&Francinete disse:

 

Você pode fazer subgrupos na session, exemplo:

 


$_SESSION['login'] = array( 'email' => 'email@domain.com' , 'senha' => 'userpassword' );
$_SESSION['games'] = array( 'palavra' => 'Helicóptero' , 'letra' => 'a' );

 

 

Assim:


unset( $_SESSION['palavra'] );

 

 

Obrigado, foi de grande ajuda e muito clara sua explicação!

Share this post


Link to post
Share on other sites

Valeu!!! :smiley:

Share this post


Link to post
Share on other sites
2 horas atrás, Jesse&Francinete disse:

 

Você pode fazer subgrupos na session, exemplo:

 


$_SESSION['login'] = array( 'email' => 'email@domain.com' , 'senha' => 'userpassword' );
$_SESSION['games'] = array( 'palavra' => 'Helicóptero' , 'letra' => 'a' );

 

 

Assim:


unset( $_SESSION['palavra'] );

 

 

 

mais uma coisa, se eu quiser dar um echo dentro de um sub grupo eu tenho que usar o foreach ou tem outro modo mais simples?

Share this post


Link to post
Share on other sites

O foreach serve para você percorrer cada um dos valores do array.

Ou seja, se você quer printar vários ao mesmo tempo, use foreach, senão, faça assim:

echo $_SESSION[ 'chave' ][ 'subchave' ];

 

Lembrando que essa sintaxe vale para qualquer array (não apenas sessions).

Share this post


Link to post
Share on other sites
<?php
session_start();

$_SESSION['login'] = array( 'email' => 'email@domain.com' , 'senha' => 'userpassword' );
$_SESSION['games'] = array( 'palavra' => 'Helicóptero' , 'letra' => 'a' );

echo $_SESSION['login']['email']; //No primeiro você escolhe qual session, no segundo, qual coluna.
?>

Resultado:

image.png.64a72871a4559d7afd909f001720ddeb.png

Share this post


Link to post
Share on other sites
2 minutos atrás, Jesse&Francinete disse:

<?php
session_start();

$_SESSION['login'] = array( 'email' => 'email@domain.com' , 'senha' => 'userpassword' );
$_SESSION['games'] = array( 'palavra' => 'Helicóptero' , 'letra' => 'a' );

echo $_SESSION['login']['email']; //No primeiro você escolhe qual session, no segundo, qual coluna.
?>

Resultado:

image.png.64a72871a4559d7afd909f001720ddeb.png

 

 

Caraca, bem mais simples, vlw mesmo... espero intender mais no futuro pra ajudar a turma aqui tbm.

Share this post


Link to post
Share on other sites
1 minuto atrás, Kaio Augusto de Castro disse:

 

 

Caraca, bem mais simples, vlw mesmo... espero intender mais no futuro pra ajudar a turma aqui tbm.

 

A dica do @Matheus Tavares é boa. Espero que entenda o assunto, até. o/

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Diego-SLP
      Boa tarde,
       
      Tenho um while retornando alguns dados do meu banco e gostaria que nessa tabela a ultima linha fosse a soma da coluna, como posso fazer isso ?
       
      Obrigado
    • By Camilavip
      Oi, faço uma consulta no banco de dados para trazer os valores como: Nome, email, telefone, cidade... e se o usuário está ativo ou não
      No campo ativo ele grava 0 se não tiver ativo e 1 se tiver ativo, mas queria que ele trouxesse se for 0 a palavra Não e se for 1 a palavra Sim
      Faço a consulta como abaixo.
      <?php $sql = "SELECT * FROM clientes"; $result = $sqli->query($sql); if ($result->num_rows) { while ($dados = $result->fetch_assoc()) { $id_cliente = $dados['id_cliente']; $cliente = $dados['cliente']; $email = $dados['email']; $ativo = $dados['ativo']; ?> E em seguida apenas chamo os dados.
      <?= $cliente; ?> <?= $email; ?> <?= $ativo; ?> Que me traz os resultados
      Ricardo
      xxxx@xxxx.com
      0 ou 1 de acordo se ele está ativo ou não. Mas aqui eu queria que ele trouxesse de acordo Não ou Sim e não 0 ou 1
    • By Marcos PP
      Tenho uma tabela onde pego todos pedidos realizados no dia, porem mostro todos em uma tabela, ate ai tudo bem, mas o cliente precisa que seja agrupado por quem pediu, vou dar um exemplo,

      Na minha tabela tenho 

      ID_PEDIDO  |  ID_USER_PEDIDO |  PEDIDO
      1                   |   20                           |   524
      5                   |   52                           |   258
      2                   |   35                           |   525
      6                   |   52                           |   253
      3                   |   20                           |   658
      4                   |   20                           |   358

      No resultado me aparece conforme consulta e me mostra todos os pedidos em ordem de pedido
      SELECT * FROM pedidos  ORDER BY ID_PEDIDO ASC
       
      Se eu colocar um GROUP BY ID_USER_PEDIDO vai agrupar os pedidos de acordo com o usuário e mo mostrar apenas 1


      Eu preciso que seja mostrado todos eles porem agrupados na mesma linha da tabela
       
      <table id="datatable1" class="table display responsive "> <thead> <tr> <th class="">ID</th> <th class="">ID do usuario</th> <th class="">Pedido</th> </tr> </thead> <tbody> <?php $sql = "SELECT * FROM pedidos  ORDER BY ID_PEDIDO ASC"; $result = $conn->query($sql); while($row = $result->fetch_assoc()) { ?> <tr> <td><?php echo $row["ID_PEDIDO"];?></td> <td><?php echo $row["ID_USER_PEDIDO"];?></td> <td><?php echo $row["PEDIDO"];?></td> </tr> <?php } ?> </tbody> </table> E que seja exibido conforme esta imagem
       

    • By gersonab
      Bom dia, tenho 2 tabelas editáveis em uma div, estas funcionam normalmente, o problema é que o loop não acontece , só carrega sobre 1 item, sendo que este eu posso ter mais itens.
       na página principal tenho:
      <div class="carregadados"></div> function fetch_data() { $.ajax({ url:"../lista/finan.php", method:"POST", success:function(data){ $('.carregadados').html(data); } }); } fetch_data(); a página a ser carregada esta assim:
      <?php session_start(); require_once('config.php'); $output = ''; $idc1=$_SESSION['idc']; $sql01 = "SELECT * FROM porcent WHERE idfcli='$idc1'"; $result = mysqli_query($con, $sql01); while($user41 = mysqli_fetch_array($result)){ // primeiro while onde seleciono os itens da pessoa podendo ter vários $output .= ' <div class="table-responsive mb-4 mt-4"> Aqui vem os dados da pessoa '; $id1= $user41["idproc"]; $sqladv = "SELECT * FROM poradv WHERE procav='$id1'"; $resulta = mysqli_query($con, $sqladv); $output .= ' <table class="table table-bordered table-hover table-striped" style="width:100%"> <thead> <tr> </tr> </thead> <tbody>'; if(mysqli_num_rows($resulta) > 0) { while($usera = mysqli_fetch_array($resulta)){ //segundo while onde tenho os dados de venda em uma tabela editavel $output .= ' <tr> </tr>'; } $output .= ' <tr> // insiro linhas caso precise </tr> '; } else { $output .= '<tr> // caso não tenha nada inserido, posso fazer por aqui </tr> '; } $output .= '</tbody> </table>'; $id2= $user41["idproc"]; $sql = "SELECT * FROM parcelas WHERE procid='$id2' ORDER BY datapar, idpar ASC"; $result = mysqli_query($con, $sql); $output .= ' <table class="table table-bordered table-hover table-striped" style="width:100%"> <thead> <tr> // tabela de pagamentos editavel </tr> </thead> <tbody>'; if(mysqli_num_rows($result) > 0) { while($row = mysqli_fetch_array($result)) { //terceiro while , tabela referente a pagamentos $output .= ' <tr> // tabela pagamentos </tr>'; } $output .= ' <tr> // insiro linhas caso precise </tr> '; } else { $output .= '<tr> // caso não tenha nada inserido, posso fazer por aqui </tr> '; } $output .= '</tbody> </table> </div> '; } echo $output; ?> só esta carregando uma vez , tudo dentro da parte editável esta funcionando, porém no primeiro while só faz 1 loop, os demais estão funcionando perfeitamente.
      desde já agradeço qualquer ajuda.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.