Ir para conteúdo

POWERED BY:

Arquivado

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

refamelli

Session não funciona

Recommended Posts

Boa noite a todos!

estou com um problema que é o seguinte, tenho um formulário que passa um ID que precisa gravar em uma Session

session_start();
$id = $_POST["id"];
$_SESSION["id"] = $id ;
Porém a página que captura esse ID só pode ser mostrada para quem está logado.
Entao faço a verificação, se não está logado redireciona para a página de login. Até aí ok, a pessoa faz o login e volta para a página de restrita, certo?
Porém o ID acima, não grava quando passo por esse processo.
O que estou fazendo errado?
No arquivo coloquei antes de fazer a verificação, mas mesmo assim não guarda:
<?php
session_start();
$id= $_POST["id"];
$_SESSION["id"] = $id;
include_once 'verifica-login.php';
Se alguém puder me ajudar, agradeço.
Super obrigada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem-vindo ao fórum! :)
Recomendo que leia as regras e orientações de participação

Você está usando session_start() em todos os scripts que usam sessão?

Faça debug. Dê echo nas variáveis e acompanhe os valores delas para verificar se estão sendo enviadas ou vai valor vazio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigada Beraldo!

estou usando sim o session_start(), e assim: retorna o ID quando não coloco arquivo de verificação_login, e não retorna nada quando incluo o arquivo de verificação_login...

arquivo area_restrita

session_start();
$id = $_POST["id"];
$_SESSION["id"] = $id ;
include_once 'verifica-login.php';
 

arquivo verificao_login

<?php
session_start();            // Inicia a sessão PHP 
session_cache_expire(10);
$httponly = true;
session_name(md5('seg'.$_SERVER['REMOTE_ADDR'].$_SERVER['HTTP_USER_AGENT']));
 
if(!isset($usuario_id)):
header("Location: login.php");
endif;

o arquivo de verificao redireciona para fazer o login, aí eu faço o login e ele volta pra página area_restrita sem o ID que preciso...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tome cuidado com session_start(). Essa função só pode ser chamada uma vez por requisição. Se você der include em um arquivo que também chama session_start(), um erro é gerado.

Habilite todas as exibições de erro, como mostrado neste tópico, na Orientação No. 3 e teste novamente.

A sessão só pode ser iniciada uma vez, antes de qualquer saída ao navegador

Veja este meu tutorial completo sobre Sessões: http://blog.ultimatephp.com.br/como-usar-sessoes-php/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Legal! valeu pela dica.

está dando realmente o erro

Undefined index: ID

já alterei o código deixando apenas uma session_start(). mas dá o mesmo erro, quando redireciona para a página de login, e volta para a área restrita.,

..

O que estou esquecendo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo,

o erro está realmente aqui:

$id= $_POST['id'];
$_SESSION["id"] = $id;
tenho o formulário que seleciona um dos ids atraves de um radiobutton que passa esse valor. E funciona, quando não preciso que essa página seja restrita entende?
o que eu não consegui entender, é como fazer quando verifico se o usuario está logado. Porque aí ele redireciona para fazer o login e quando volta pra área restrita, vem se o valor do ID, dando esse erro que não existe...

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.