mbb 0 Denunciar post Postado Novembro 10, 2004 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
Rico_araujo 0 Denunciar post Postado Novembro 10, 2004 você esta startando a sessãosession_start();isso tem que ser a sua primeira linha do código..sem isso você nao usa sessão.. ok? Compartilhar este post Link para o post Compartilhar em outros sites
Wilker 3 Denunciar post Postado Novembro 10, 2004 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
mbb 0 Denunciar post Postado Novembro 10, 2004 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
fast 0 Denunciar post Postado Novembro 10, 2004 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
hinom 5 Denunciar post Postado Novembro 11, 2004 @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
mbb 0 Denunciar post Postado Novembro 11, 2004 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