Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá Pessoal!
Fiz um sistema de login, baseado em um já pronto. Testei no computador, com Windows XP, e estava funcionando corretamente. Agora estou testando em um computador com Linux e parou de funcionar. Quando tento logar dá o seguinte erro:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /var/www/sistemas/ouvidoria/administracao/admouvidoriaentrar.php:5) in /var/www/sistemas/ouvidoria/administracao/admouvidoriaentrar.php on line 63
Warning: Cannot modify header information - headers already sent by (output started at /var/www/sistemas/ouvidoria/administracao/admouvidoriaentrar.php:5) in /var/www/sistemas/ouvidoria/administracao/admouvidoriaentrar.php on line 65
Esse é o código da página de login:
<link href="../stilo.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
.style1 {
color: #FFFFFF;
font-weight: bold;
font-family: Arial, Helvetica, sans-serif;
}
body {
background-image: url(imagens/3.jpg);
}
-->
</style>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="31" background="imagens/faixa_superior.jpg"><div align="center"><span class="style1">PREFEITURA DO MUNICÍPIO DE VARGINHA</span> </div></td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td><table width="800" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><?php
require_once("../ouvidoriaconecta.php");
$login = strip_tags($_POST['login']);
$senha = strip_tags($_POST['senha']);
$md5senha = md5($senha);
$sql = "select login, senha from usuarios where login = ('$login') and senha = ('$md5senha')";
$busca = mysql_query($sql);
if(!$busca)
{
echo"<p align='center' class='titulo'>Ocorreu um ERRO!</p>";
echo"<p align='center' class='aviso'>A consulta no banco de dados não pôde ser realizada porque não foi possível estabelecer uma conexão com o banco de dados.</p>";
echo"<p align='center' class='aviso'><a href='admouvidorialogin.php'>Voltar para a Página de Login</a></p>";
exit;
}
$total = mysql_num_rows($busca);
if ($total == 0)
{
echo"<p align='center' class='titulo'>Ocorreu um ERRO!</p>";
echo"<p align='center' class='aviso'>O sistema não pôde ser inicializado porque o usuário e/ou senha informados não foram encontrados no banco de dados.</p>";
echo"<p align='center' class='aviso'><a href='admouvidorialogin.php'>Voltar para a Página de Login</a></p>";
exit;
}
else
{
$autent = mysql_result($busca, 0, "login");
session_start();
$_SESSION[a] = $autent;
Header("Location: index.php");
}
?></td>
</tr>
</table></td>
</tr>
</table>
<p> </p>
Como tenho pouco conhecimento, não estou conseguindo descobrir o erro. Será que poderiam me dar uma ajuda.
Obrigado!
Se não me engano você não pode iniciar uma sessão depois de uma saída de dados.
Abra a sessão no início da página.
Como o erro foi de migração, veja as configurações do seu servidor no Linux.
Veja se estas páginas te ajudam:
2º problema: http://www.tech-recipes.com/rx/1489/solve-php-error-cannot-modify-header-information-headers-already-sent/
Bom, espero que isso te ajude, até mais!
Este comando: session_start();, deve ser a primeira linha do seu código.
<?php session_start(); ?>