PHP5: Session não funciona.

1. PHP5: Session não funciona.

Luciano Alexandre de Farias Silva
LucianoAlexandre

(usa Ubuntu)

Enviado em 20/08/2015 - 19:45h

Olá galera,

estou criando um pequeno sistema de login onde testo se um login e senha digitado estão no banco de dados, caso esteja salvo esses valores em uma variável de sessão, no entanto, quando vou utilizar essa variavel em outro arquivo do meu projeto não consigo, o php diz que o index da minha variavel de sessão não existe.

Alguém poderia me ajudar? Desde já obrigado!


  


2. session_start

Saulo Gomes
saulobr88

(usa Ubuntu)

Enviado em 20/08/2015 - 21:26h


Oi Luciano,

Eu utilizo sessions do PHP também, muita coisa pode ser feita seguindo os exemplos do link < http://php.net/manual/pt_BR/function.session-start.php >. Um maneira simples para utilizar é criar uma variável (array) bidimensional, onde para cada linha é atribuído uma quantidade de colunas com as informações necessárias (Nome, email, hash da senha etc). Também há implementações mais complexas.

Os dados das sessões são guardados no servidor e podem ser acessadas enquanto os arquivos de sessão estão presentes no diretório que foi indicado para guardar as sessões. No php.ini da sua instalação deve haver uma parte referente à sessions onde é possível saber mais detalhes do comportamento.

Se você quiser pode compartilhar uma parte do seu código para discutirmos.

Abraços.


3. Re: PHP5: Session não funciona.

Luciano Alexandre de Farias Silva
LucianoAlexandre

(usa Ubuntu)

Enviado em 07/09/2015 - 13:53h

Explicando melhor o meu cenário:

Estou desenvolvendo um sistema de login em um computador com ubuntu, usando o IDE Netbeans, tenho instalado o php 5.5.9.

Não estou conseguindo utilizar uma sessão em duas páginas diferentes, por exemplo, se eu criar um arquivo chamado arquivo.php e colocar o seguinte código:

<?php
session_start();

$_SESSION['nome'] = 'luciano'

echo $_SESSION['nome'];
?>

Minha variável será impressa corretamente, no entanto, se eu criar um segundo arquivo chamado arquivo2.php e digitar o seguinte código:

<?php
session_start();

echo $_SESSION['nome']; // tentando usar a variavel de sessão criada no arquivo anterior.
?>

O php imprime a seguinte mensagem: Notice: Undefined index: nome in /var/www/teste/arquivo2.php on line 4.

Acredito que o problema não seja especificamente com o $_SESSION, mas com as veriáveis super globais de forma geral já que também não consigo usar o $_COOKIE[] nem na mesma página. Quando eu rodo o código:

<?php
setcookie('usuario', 'Fulano');
$valor = $_COOKIE['usuario'];

echo $valor;
?>

O retorno é: Notice: Undefined index: usuario in /var/www/teste/arquivo1.php on line 3.

Vi em alguns foruns que o problema poderia ser no campos register_globals do arquivo php.ini , pois, ela poderia estar com o valor Off, no entanto, já alterei para On e mesmo assim não funcionou.

Se alguem puder me ajudar, desde já obrigado!


4. Verifique o endereço e o redirecionamento

Ricardo Henrique Andrade Bamberg
rbamberg

(usa Ubuntu)

Enviado em 14/01/2016 - 10:05h

Passei pela mesma situação, a sessão sumia ao redirecionar para outra tela.

No meu caso o problema foi mesmo o redirecionamento. Em algumas telas redirecionava com o "www", e outras sem.
Padronizei os redirecionamentos do meu sistema web e funcionou.

Atenciosamente
Ricardo Bamberg


5. Re: PHP5: Session não funciona.

Saulo Gomes
saulobr88

(usa Ubuntu)

Enviado em 04/02/2016 - 21:51h

Luciano,
Nos sistemas que eu tenho que implementar o $_SESSION, faço com o seguinte código:

session_start();
$_SESSION['logado'] = array(
'id'=>$s_id,
'login' =>$s_login,
'comment'=>$s_comment,
'password'=>$s_password,
);

// Agora redireciona:
header("Location: index.php"); // Redireciona para a página inicial.

Assim sempre que eu solicitar $_SESSION['logado'] o PHP irá poder acessar os dados salvos, sempre é necessário executar o session_start().
Eu adiciono o seguinte código nos projetos, assim sempre que uma página é requisitada o PHP verifica se é uma solicitação de alguém que está logado ou não:

<?php
/*
* Arquivo: sessao.php
* Verifica se o usuário está logado,
* se estiver prossegue com o carregamento da página solicitada.
* senão redireciona para a tela de login.
*/
session_start();

//Se não está logado redireciona
if( !isset($_SESSION['logado']) ){
header('Location: page_login.php');
}

?>


Espero que isso ajude você.
Boa sorte nos projetos.




6. Problema: Session não funciona em alguns Navegadores/PCs

enio
eniodefarias

(usa Ubuntu)

Enviado em 20/09/2016 - 20:10h

Olá,

Gostaria de alguma orientação, ou a direção do caminho que devo seguir para resolver meu problema.

Estou tendo problema com o Session em alguns PCs e celulares.

Por exemplo:
PC-A (Ubuntu): funciona
PC-B (Win7): funciona
PC-C (WinXP): NÃO funciona
celular-D (android): NÃO funciona


Segue os códigos fontes do que eu estou testando:
[index.html]

<html>
<head>
<title>FORM</title>
</head>
<body>
<form action="salvar.php" method="post">
Nome<br />
<input type="text" name="nome" /><br />
E-mail<br />
<input type="text" name="email" /><br /><br />
<input type="submit" value="Enviar" />
</form>
</body>
</html>


[salvar.php]

<?php
// iniciar a session
session_start();
// pegando os dados do input
// para pegar o valor do input nome
$nome = $_POST['nome'];
// colocando a variavel nome na session
$_SESSION['nome'] = $nome;
// para pegar o valor do input nome
$email = $_POST['email'];
// colocando a variavel email na session
$_SESSION['email'] = $email;
// vamos imprimir os valores dgitados dos campos na pagina
echo "Nome: $nome<br />";
echo "E-mail: $email<br />";
?>



[teste.php]

<?php
// vamos iniciar a session
session_start();
// vamos imprimir a variavel nome
echo $_SESSION['nome'] . '<br />';
// vamos imprimir a variavel email
echo $_SESSION['email'];
?>



Em resumo, primeiro preencho os dados no index.html, ele me encaminha para o salva.php e aparece os dados. Até aqui funciona em todos os lugares que teste.

Agora se eu abrir o teste.php nos PCs A e B aparece os dados memorizados pelo Session.


MAS se eu abrir o teste.php no PC-C ou no celular-D, o Session não memorizou os valores das variáveis.



Alguma dica do que eu devo procurar/verificar/pesquisar, ou alguma solução pra isso.

É triste achar o erro e não conseguir corrigir.



Obrigado a todos.


7. Re: PHP5: Session não funciona.

Paulo Dias
di4s

(usa XUbuntu)

Enviado em 20/09/2016 - 20:54h

Oi, tudo bem?

Como funciona em alguns dispositivos e em outros não, penso que onde o problema ocorre o navegador não deve estar com cookies ativados.

Apesar da session ser armazenada no servidor, um cookie de identificação precisa ser armazenado no cliente e enviado a cada requisição( PHPSESSID ).


Linux Professional Institute - LPIC-1
Novell Certified Linux Administrator - CLA
Oracle Certified Associate, Java SE Programmer - OCA

http://twitter.com/p4ulodi4s
http://www.prminformatica.com.br/






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts