Ir para conteúdo

POWERED BY:

Arquivado

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

Renato =)

session_start(): Cannot send session cache limiter - headers

Recommended Posts

bem, fiz meu sistema de login com as paginas EDITAR e VER, blokiei a página editar só para o usuario dono da ID do $_GET (?id=1) e deu tdo certin...

 

mas, depois de passear pelas páginas para ver se estava tudo certo mesmo, começou a dar erros

 

são eles

 

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\arquivos de programas\easyphp1-8\www\confirmar_login.php:3) in c:\arquivos de programas\easyphp1-8\www\confirmar_login.php on line 4Warning: Cannot modify header information - headers already sent by (output started at c:\arquivos de programas\easyphp1-8\www\confirmar_login.php:3) in c:\arquivos de programas\easyphp1-8\www\confirmar_login.php on line 25Warning: Cannot modify header information - headers already sent by (output started at c:\arquivos de programas\easyphp1-8\www\confirmar_login.php:3) in c:\arquivos de programas\easyphp1-8\www\confirmar_login.php on line 27
Notice: Undefined index: login in c:\arquivos de programas\easyphp1-8\www\acesso.php on line 25Notice: Undefined index: senha in c:\arquivos de programas\easyphp1-8\www\acesso.php on line 27Notice: Undefined index: login in c:\arquivos de programas\easyphp1-8\www\editar.php on line 10

o que significam eles?

no que vocês acham que errei?

 

obrigado

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem, fiz meu sistema de login com as paginas EDITAR e VER, blokiei a página editar só para o usuario dono da ID do $_GET (?id=1) e deu tdo certin...

 

mas, depois de passear pelas páginas para ver se estava tudo certo mesmo, começou a dar erros

 

são eles

 

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\arquivos de programas\easyphp1-8\www\confirmar_login.php:3) in c:\arquivos de programas\easyphp1-8\www\confirmar_login.php on line 4

Warning: Cannot modify header information - headers already sent by (output started at c:\arquivos de programas\easyphp1-8\www\confirmar_login.php:3) in c:\arquivos de programas\easyphp1-8\www\confirmar_login.php on line 25

Warning: Cannot modify header information - headers already sent by (output started at c:\arquivos de programas\easyphp1-8\www\confirmar_login.php:3) in c:\arquivos de programas\easyphp1-8\www\confirmar_login.php on line 27
Notice: Undefined index: login in c:\arquivos de programas\easyphp1-8\www\acesso.php on line 25

Notice: Undefined index: senha in c:\arquivos de programas\easyphp1-8\www\acesso.php on line 27

Notice: Undefined index: login in c:\arquivos de programas\easyphp1-8\www\editar.php on line 10

o que significam eles?

no que vocês acham que errei?

 

obrigado

[]s

Olá cara!

 

Eu estava tendo o mesmo problema! Então descobri que o "session_start();" deve vir antes de qualquer código HTML!

 

então se você tiver uma página:

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Painel</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../propriedades/config/painel.css" rel="stylesheet" type="text/css">
</head>

o "session_start();" deve vir em primeiro de qualquer HTML, sendo que se for include, por exemplo:

 

<?php include("../propriedades/config/config.php"); ?>
<?php include("inc/verifica.php"); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Painel</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../propriedades/config/painel.css" rel="stylesheet" type="text/css">
</head>

Aqui resolveu!

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salve engano, o session_start deve estar na primeira linha após o <? ou de uma condicional:

 

Errado:

<?

session_start();

?>

Certo:

<? 
session_start();

?>

Errado:

<?

if(<condição>) {

session_start();

}
?>

Certo:

<?
if(<condição>) {
session_start();

}
?>

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

os erros de undefined, você pode resolver da seguinte forma:

 

$var = isset($_POST['var']) ? ($_POST['var']) : false;

com isso ele fará uma verificação, se existir a variável, ele atribui o valor do POST a variável, evitando o erro de index indefinida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloque session_start();

antes dos códigos html.

 

 

Notei que existe função HEADER...

 

 

para isso, coloque no topo:

 

<?

session_start();

 

ob_start();

?>

 

e no final da página

 

<?php

 

ob_end_flush();

 

?>

 

 

 

 

resolverá sem dúvida seus problemas abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não vai resolver problema algum colocando isso, vai apenas ocultar os erros de warning para com header, não é o recomendado, o recomendado é seguir as dicas do pessoal, sempre coloque session_start() antes de qualquer função.

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.