Ir para conteúdo

Arquivado

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

Junior Varoni

Erro php

Recommended Posts

Boa noite, estou com um problema de session, porem o que está quebrando minha cabeça é que meu codigo funciona perfeitamente em um computador com uma versão do php 5.3.2, agora em outro pc com a versao 5.5.12 aparece o erro, e o que estou achando mais estranho é que estou utilizando metodo PDO para fazer as conexões com o banco de dados

 

E erro é esse:

 

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at C:\wamp\www\pracar3\index.php:336) in C:\wamp\www\pracar3\inc\login.php on line 2

 

Porem se eu atualizar a pagina ele permanece logado, mas continua o erro

 

Notice: A session had already been started - ignoring session_start() in C:\wamp\www\pracar3\function\funcoes.php on line 16

 

ja removi o sessions das paginas do include e não resolveu.

E o que mais me deixa grilado é que em outro pc esse mesmo codigo funciona.

 

codigo para logar


<?php
session_start();
require_once "function/funcoes.php";
require_once "conexao/conexao.php";
 
 
/* Logar no sistema */
if(isset($_POST['ok']) AND $_SERVER['REQUEST_METHOD'] ==  'POST') {
 
$login = $_POST['login'];
$senha = $_POST['senha'];
 
if(logarSistema($login, $senha)){
redimerencionaLogado($pagina.carrinho);
 
}else{ 
$erro = "Login ou senha inválidos !";
}
 
}
 
 
 
/* logar no sistema */
 
?>

Agora consegui resolver o problema.

Sempre me falaram de duas maneiras de resovler isso,

Retirando qualquer linha, espaço ou caracter antes da tag php <?php..

 

A segunda maneira era codificar o arquivo para utf-8 sem BOM.

 

Agora encontrei uma terceira que resolveu o problema, ativando o buffer de saida,

<?php
ob_start();
session_start();

 

Se alguem quiser, pode marcar como resolvido.

 

Obrigado pela atenção, rs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, só uma dica...

 

Esse ob_start(); pode de causar problemas depois, pois ele inicia um buffer de saida, ou seja, tudo que iria sair para a tela do navegador passa a ser jogado para o buffer até que você o limpe com ob_get_clean (que irá limpar o buffer e jogar seu conteúdo em uma variável).

 

Esta linha que você mandou está apontando o local onde o erro ocorreu:

Notice: A session had already been started - ignoring session_start() in C:\wamp\www\pracar3\function\funcoes.php on line 16

 

Veja, você está iniciando a sessão (session_start()) no script que loga, e está tentando iniciá-la novamente no script funcoes.php na linha 16, o ideal seria colocar um if, tipo:

if(!isset($_SESSION)) {
     session_start();
}

Espero te ajudado,

 

Abraços,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, só uma dica...

 

Esse ob_start(); pode de causar problemas depois, pois ele inicia um buffer de saida, ou seja, tudo que iria sair para a tela do navegador passa a ser jogado para o buffer até que você o limpe com ob_get_clean (que irá limpar o buffer e jogar seu conteúdo em uma variável).

 

Esta linha que você mandou está apontando o local onde o erro ocorreu:

Notice: A session had already been started - ignoring session_start() in C:\wamp\www\pracar3\function\funcoes.php on line 16

 

Veja, você está iniciando a sessão (session_start()) no script que loga, e está tentando iniciá-la novamente no script funcoes.php na linha 16, o ideal seria colocar um if, tipo:

if(!isset($_SESSION)) {
     session_start();
}

Espero te ajudado,

 

Abraços,

 

Cara, obrigado pela diga, farei exatamente isso agora. muito obrigado mesmo :)

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.