Ir para conteúdo

POWERED BY:

Arquivado

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

mbb

Alerta PHP

Recommended Posts

Pessoal,

 

:( Estou levando um pau desse cara aqui :

 

Notice: A session had already been started - ignoring session_start()

 

Sendo que criei uma pagina para atenticar o usuario e outra verificar a session, e dou um "require_once("verifica.php");" nas paginas que devem trabalhar com as session ...

 

como eu resolvou isso ?

 

 

abs

Mauricio

Compartilhar este post


Link para o post
Compartilhar em outros sites

pelo erro reportado, aparecemente você deve ter chamado a funcao session_start() 2 vezes no mesmo script, verifica isso ai

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rico_araujo, ola, sim no arquivo verifica.php a primeira linha é session_start();..Wilker: Sim realmente ele chama a pagina novamente , pois fiz select com array e mostrando os dados. nessa pagina (lista_dados.php) eu tenho o incluide do verifica.php; porem essa pagina tem um link para excluir(excluir.php) determinado dado, e da um incluide novamente para lista_dados.php, tem como resolver isso ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

na segunda página q você for incluir, tenta colocar isso no lugar do session_start...if (session_start()) {...}assim se a função retornar erro ele vai ignorar ela... 'teoricamente'.... não testei.. mas ve se funciona..ou @session_start();dessa forma, com o @ antes, ele não mostrará os erros q a função possa retornar...ve se alguma das duas formas funciona..

Compartilhar este post


Link para o post
Compartilhar em outros sites

@session_start();dessa forma o erro é ocultado mas continua.a função session_start(); não precisa estar na primeira linha de código, não tem nada a ver.session_start(); utiliza headers, isso quer dizer que não pode haver nenhuma saída antes de usar tal função.o problema do mbb é organização e estrutura de programação.para resolver do modo como está basta colocar uma condicional para verificar se já foi usado o session_start();ou reorganizar a estrutura do código.

Compartilhar este post


Link para o post
Compartilhar em outros sites

hinom, realmente fiz o teste aqui se ssesion_start(); não estiver na primeira linha não funciona...

 

O codigo que eu tenho e o seguinte são 4 PHP´s para fazer a bricadeira: http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

LOGIN.PHP:

 

<?

session_start();

include("inc/lib.php");

//RECEBE OS DADOS DO FORMULÁRIO

$usuario=$_POST['user'];

$senha=$_POST['senha'];

 

//VERIFICA

$sql=pg_exec("SELECT usu_codigo, usu_nome, usu_setor FROM tb_user WHERE usu_login ='$usuario' AND usu_senha ='$senha'")or die("ERRO NO COMANDO SQL");

 

//LINHAS AFETADAS PELA CONSULTA

$row=pg_fetch_row($sql);

 

//VERIFICA SE RETORNOU ALGO

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

 

else {

//PEGA OS DADOS

$id=pg_result($sql, 0, "USU_CODIGO");

$nome=pg_result($sql, 0, "USU_NOME");

$setor=pg_result($sql, 0, "USU_SETOR");

 

//GRAVA AS VARIÁVEIS NA SESSÃO

$_SESSION['id']=$id;

$_SESSION['nome']=$nome;

$_SESSION['setor']=$setor;

 

//REDIRECIONA PARA A PÁGINA DE ABERTURA

include("resultado.php");

//Header("Location: teste.php");

}

?>

 

VERIFICA.PHP

 

// O "@" ouculta a menssagem de de verificação de ssesion

session_start();

//SE NÃO TIVER VARIÁVEIS REGISTRADAS RETORNA PARA A TELA DE LOGIN

if( (!isset($_SESSION['id'])) AND (!isset($_SESSION['nome'])) )

header("location: index.html");

?>

 

Logout.PHP

 

<?

session_start();

 

//DESTRÓI AS VARIÁVEIS DE SESSÃO

unset($_SESSION['id']);

unset($_SESSION['nome']);

unset($_SESSION['setor']);

 

//REDIRECIONA PARA A TELA DE LOGIN

header("Location: index.html");

?>

 

RESUTADO.PHP

<?

//VERIFICA SE A SESSÃO ESTÁ ATIVA

require_once("verifica.php");

include ("inc/lib.php");

$setor = $_SESSION['setor'];

 

?>

 

Pela estrutura que esta deveria funcionar correto ?

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.