Bom dia, estou iniciando em PHP e estou com problemas. Preciso resolve-lo URGENTEMENTE. Se alguém puder me ajudar ficarei agradecido.
O erro é o seguimte:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /var/homologacao/www/html/desenvolvimento/gitcmd/csi/secreta.php:1) in /var/homologacao/www/html/desenvolvimento/gitcmd/csi/includes/sessao.php on line 2
Após me logar no sistema a partir da página index.php, sou redirecionado para a página secreta.php, onde aparece este erro. O mais estranho é que o sistema estava funcionando sem nenhm problema e do nada começou a dar este erro.
ALGUMA SUGESTÃO??????
sequem os códigos:
index.php
<? require_once "includes/sessao.php"; //require_once("sessao.php"); /* // Checa se a sessao é valida checar_sessao(); // Recebe as variaveis usuario e senha $usuario = strtolower($_POST["usuario"]); $senha = $_POST["senha"]; // Include da classe SCAA require_once("SCAA.php");
// Estanciando uma nova classe SCAA $scaa = new SCAA();
// Metodo de autenticacao da classe SCAA no qual o numero é o respectivo numero da // aplicacao pre-cadastrada $retorno = $scaa->auth(50,$usuario,$senha);
// Se o retorno for falso, o usuario é submetido novamente a tala de login com uma //mensagem de erro
if($_GET['erros']){ die('chega de loop'); } if ($retorno['sucesso'] == false) { $erro=$retorno['erro']; header("Location: loga.php?erro=$erro&usuario=$usuario"); }
// Se o retorno for verdadeiro retorna as variaveis atreladas ao usuario logado com o //registro,nome,area e nivel de acesso, //a partir dai ele é submetido para o sistema else { $_SESSION['registro']= $retorno['registro']; $_SESSION['nome']= $retorno['nome']; $_SESSION['area']= $retorno['area']; $_SESSION['acesso']= $retorno['acesso']; header('Location: adm/consulta_busca.php'); exit;
} */ if($_POST['usuario'] && $_POST['senha']){ $usuario = $_POST['usuario']; $senha = $_POST['senha']; $sessao = new Autentica($usuario,$senha); } /*Felipe Cunha 06/08/2007 versão 1.0 Esta página receberá o login e a senha do usuário.*/ ?>
<html> <head><title> XDA - Cadastro de Sistemas</title> <style type="text/css"> <!-- p { font-size: 12px; /* ponto-e-vírgula é facultativo */ }
[codebox] <?php session_start(); require_once "SCAA.php"; /*** Funcao que atribui um nome a sessao, deve ser usado como nome de sessao a sigla da aplicacao, Caso o registro não esteja armazenado para a aplicacao o usuario sera direcionado para uma tela de timeout. Todas as paginas da aplicacao deve ter como 'include' o sessao.php, pois é atraves dele que é verificado se o usuario estao autenticado corretamente ***/ /** * Void */ final class Autentica extends scaa{ private $sessao = array(); protected $scaa; protected $aplicacao = 50; private $usuario; private $senha; private $ret;
$this->dados_funcionario(); } public function __get($p){ $this->sessao = & $this->ret; return $this->sessao[$p]; } private function dados_funcionario(){ $this->ret = & $this->auth($this->aplicacao,$this->usuario,$this->senha); if($this->sucesso){ //print_r($this->ret); $_SESSION['XDA'] = serialize($this); $this->redireciona(); }else{ $this->alerta($this->erro); } } public function redireciona($alvo="secreta.php"){ header("Location: " . $alvo); } public function alerta($msgId){ echo "<script> alert('" .$msgId . "')</script>"; } public function desconecta(){ session_name('XDA'); unset($_SESSION['XDA']); session_destroy; $this->redireciona("index.php"); } public function estou_conectado(){ return $this->sucesso; } } /*Felipe Cunha 06/08/2007 versão 1.0 Esta página verifica se o login e a senha inseridos em index.php tem permissaõ para acessar o sistema*/ ?>
secreta.php
<?php require_once "includes/sessao.php"; $dump = unserialize($_SESSION['XDA']); if(!is_object($dump)){ header("Location: index.php"); } switch($_GET['m']){ case "desconectar": $dump->desconecta(); break; } ?> <html> <? if($dump->estou_conectado()): switch($dump->acesso){ case 1: $mostra =<<<HTML <head><title> XDA - Cadastro de Sistemas</title> <style type="text/css"> <!-- p { font-size: 12px; /* ponto-e-vírgula é facultativo */ }
/*Felipe Cunha 06/08/2007 versão 1.0 É a partir desta página que o usuário terá acesso a todas as funcionalidades do sistema.*/ ?> </body> </html> [/codebox]
Pergunta
Guest Felipe.cunnha
Bom dia, estou iniciando em PHP e estou com problemas. Preciso resolve-lo URGENTEMENTE. Se alguém puder me ajudar ficarei agradecido.
O erro é o seguimte:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /var/homologacao/www/html/desenvolvimento/gitcmd/csi/secreta.php:1) in /var/homologacao/www/html/desenvolvimento/gitcmd/csi/includes/sessao.php on line 2
Após me logar no sistema a partir da página index.php, sou redirecionado para a página secreta.php, onde aparece este erro. O mais estranho é que o sistema estava funcionando sem nenhm problema e do nada começou a dar este erro.
ALGUMA SUGESTÃO??????
sequem os códigos:
index.php
sessao.php
<?php
session_start();
require_once "SCAA.php";
/*** Funcao que atribui um nome a sessao, deve ser usado como nome de sessao a sigla da
aplicacao,
Caso o registro não esteja armazenado para a aplicacao o usuario sera direcionado para
uma tela de timeout.
Todas as paginas da aplicacao deve ter como 'include' o sessao.php, pois é atraves dele
que é verificado se
o usuario estao autenticado corretamente ***/
/**
* Void
*/
final class Autentica extends scaa{
private $sessao = array();
protected $scaa;
protected $aplicacao = 50;
private $usuario;
private $senha;
private $ret;
public function __construct(){
$_args = func_get_args();
$this->usuario = $_args[0];
$this->senha = $_args[1];
$this->sessao['usuario'] = $_args[1];
$this->sessao['centro_custo'] = $_args[2];
$this->dados_funcionario();
}
public function __get($p){
$this->sessao = & $this->ret;
return $this->sessao[$p];
}
private function dados_funcionario(){
$this->ret = & $this->auth($this->aplicacao,$this->usuario,$this->senha);
if($this->sucesso){
//print_r($this->ret);
$_SESSION['XDA'] = serialize($this);
$this->redireciona();
}else{
$this->alerta($this->erro);
}
}
public function redireciona($alvo="secreta.php"){
header("Location: " . $alvo);
}
public function alerta($msgId){
echo "<script> alert('" .$msgId . "')</script>";
}
public function desconecta(){
session_name('XDA');
unset($_SESSION['XDA']);
session_destroy;
$this->redireciona("index.php");
}
public function estou_conectado(){
return $this->sucesso;
}
}
/*Felipe Cunha
06/08/2007
versão 1.0
Esta página verifica se o login e a senha inseridos em index.php tem permissaõ para acessar o sistema*/
?>
secreta.php
:blink:
Link para o comentário
Compartilhar em outros sites
16 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.