Ir ao conteúdo
  • Cadastre-se

PHP ERRO SESSÃO


caike245

Posts recomendados

Boa tarde, hoje ja pesquisei em diversos sites/forums e tópicos mais não consegui achar uma solução para o erro que está dando em 2 arquivos php, um destes é o arquivo sessao.php ele eu inicio em todas as paginas logo depois da conexao.php (através de include) ....

 

quando eu estava fazendo toda a programação offline(wamp server) estava tudo funcionando 100% mais quando passei para o servidor(hostgator) começou os bilhões de erros alguns já resolvi mais estes estou a mais de 3h tentando e não consegui espero que alguém possa me dar uma luz.

 

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/guiac846/public_html/gadm/adminicio.php:1) in/home/guiac846/public_html/gadm/sessao.php on line 6

 

esse erro está dando quando eu faço o login e tento carregar a pagina inicial do CPanel (eu mesmo fiz de php) 

 

o codigo do arquivo sessao.php é este:

 

<?phpob_start();  // A sessão precisa ser iniciada em cada página diferenteif (!isset($_SESSION)) session_start();{$cods = $_SESSION['codlogin']; $nome = $_SESSION['login']; $senha = $_SESSION['senha']; }// Verifica se não há a variável da sessão que identifica o usuárioif (!isset($_SESSION['login'])) {// Destrói a sessão por segurançasession_destroy();// Redireciona o visitante de volta pro loginheader("Location: index.html"); exit;}?>
 
 
Offline a sessão estava funcionando perfeitamente e a verificação de sessão também...mais no servidor online da o erro que citei acima.
 
 
 
o segundo erro é no arquivo sair.php
 
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/guiac846/public_html/gadm/sair.php:1) in /home/guiac846/public_html/gadm/sair.php on line 2

Warning: Cannot modify header information - headers already sent by (output started at /home/guiac846/public_html/gadm/sair.php:1) in /home/guiac846/public_html/gadm/sair.php on line 4
 
 
ao que me parece se trata do mesmo erro ou algo parecido...mais não consigo resolver...
 
 
codigo do sair.php:
 
<?php session_start();session_destroy();header("Location: index.html"); exit;?>
 
realmente não sei como consertar...pois já fiz a conversão pra utf-8 já tirei qualquer espaço que tenha antes do php então...
 
segue o codigo da pagina inicial(adminicio.php) não sei se servirá para algo...
 
 
<?php include ('../conexao.php');include ('sessao.php');include ('menu.php');?>
 
segue também o código da pagina de conexão.php(este está alterado para conectar com o servidor deixei assim por motivos de segurança):
 
<?php$conexao = mysql_connect ("localhost" , "root") or die ("Falha conexao DB");$db = mysql_select_db("bdguia",$conexao) or die ("Banco Inesistente");?>
 
 
ja vou colocar a pagina de login (a anterior da pagina inicial pode ser que tenha algo a ver) login.php:
 
 
<?phpob_start();  //conecta com o bancoinclude ('../conexao.php');//busca dados pagina inicial$login =$_POST['login'];$senha =$_POST['senha'];//faz a confirmação no banco$busca=("select * from login where login='".$login."' and senha='".$senha."';");$confirmabusca = mysql_query($busca) or die("Erro de busca");//verifica se foram encontrados os dados no bancoif (mysql_num_rows($confirmabusca)!=1){echo "Usuario ou senha incorretos!";exit;}else{//pega todas as linhas escontradas com o resultado (no caso 1 sempre)while($linha=@mysql_fetch_array($confirmabusca)){if (!isset($_SESSION)) session_start();{ $_SESSION['codlogin'] = $linha['codlogin']; $_SESSION['login'] = $linha['login']; $_SESSION['senha'] = $linha['senha'];header('Location: adminicio.php'); }}}?>
 
 
 
Pronto espero que alguem possa me iluminar pois estou empacado neste erro desde ja obrigado a todos.
 
 
 
Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

primeiro erro = session_start() . no arquivo sessao.php colocar desta forma:

<?phpob_start();   session_start();// A sessão precisa ser iniciada em cada página diferenteif (!isset($_SESSION['login'])){$cods = $_SESSION['codlogin'];$nome = $_SESSION['login'];$senha = $_SESSION['senha']; }// Verifica se não há a variável da sessão que identifica o usuárioif (!isset($_SESSION["login"])) {// Destrói a sessão por segurança$_SESSION = array();//session_destroy();// Redireciona o visitante de volta pro loginheader("Location: index.html"); exit;}?>

quando há mais de uma sessão iniciada é necessário colocar todos num array antes de destruir ou destruir apenas uma sessão específica.

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

Bom dia

 

Eu resolvi este erro da seguinte forma. Coloquei a tag <php exatamente a esquerda e ao topo e converti o arquivo para UTF8 sem BOM pelo Notepad++.

 

Utilzei este cabeçaho. (Importante)

<?php session_start();   if (!isset($_SESSION['nome']) && !isset($_SESSION['email'])) {header("Location:login_painel.php");} 	$nome=$_SESSION['nome'];      ?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html lang="en"><head><meta charset=utf-8><meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1" /><title>Seu Site</title></head>
Link para o comentário
Compartilhar em outros sites

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...