Ir para conteúdo

Arquivado

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

victor_iroski

Erro no REQUIRE_ONCE

Recommended Posts

Boa tarde ,
Estou com um problema no meu site e não sei como resolver.
Pois bem, tenho um arquivo de conexão.php que faz a conexão com o banco de dados e com meu servidor WEB e, em todas as páginas do meu site, eu uso na primeira linha o require_once "conexão.php" (já tentei colocar com aspas simples e com parenteses e mesmo assim não adiantou). Logo depois dessa linha, uso a função session_start() para inicializar uma sessão.
O fato é que, quando subimos o arquivo pro servidor Web, ele dá erro, e não grava as informações certas na sessão, então, ao trocar de login e senha, ao acessar o sistema com outro usuário, aparece as informações do último usuário que acessou. ( o logout tem as funções session_destroy e session_unset), além de aparecer o erro "Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at ". (para desaparecer essa mensagem colocamos um @ na frente da session_start, o erro desapareceu, porém o problema persistiu)
Porém, se eu coloco a linha do require_once abaixo do session_start(), desaparece a mensagem de erro da session, e a sessão volta a funcionar normalmente, porém aparece um problema de layout, onde as páginas HTML, depois que ocupa 100% da tela, fica em branco quando descemos o scroll.
Não sei o que pode solucionar esses meus dois problemas.
OBS: Quando testado localmente, no servidor WAMPP, ele não dá problema na session e o login funciona normalmente, mesmo com o require_once na primeira linha de cada página.
Meu servidor Web é o Advanced Host. Alguém pode ajudar ?
Desde já, obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Repare em Cannot send session cache limiter - headers already sent. Isto significa que o seu script já enviou os cabeçalhos ao navegador e eles não podem mais ser modificados. Com a magia do PHP5, basta que você adiciona um ob_start(); na primeira linha do seu código e um ob_end_flush(); na última linha dele para armazenar todo o seu código em buffer e lançá-lo de uma só vez, evitando esses erros com cabeçalhos.

 

Isto acontece muito porque funções como o session enviam cabeçalhos ao navegador, e normalmente as colocamos DEPOIS de nossas tags HTML, que também enviam cabeçalhos e com prioridade maior. Por isso o erro, já que não se pode modificar os cabeçalhos depois que são enviados.

 

Teste e diga o que houve.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado Diego. Essa parte resolveu.

Porém, as páginas continuam aparecendo no rodapé, uma parte branca. Vê se consegue me ajudar a resolver essa questão.

Fui recomendado a colocar o require_once no começo da página e de fato parou de aparecer o branco embaixo das páginas. Porém agora voltou a aparecer e eu não sei o que pode ser.

É só nas páginas que possuem pouco conteúdo e quanto mais zoom dá na página, mais branco ela fica no final da página.

OBS: localmente funciona sem problema nenhum. É só no servidor web.

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode ser simplesmente um erro na sua folha de estilos ou um HTML com o Height muito grande, não tem como saber sem ver o código. Procure por esse tipo de falha e, se achar necessário e tiver vontade, me mande o código que eu dou uma olhada.

 

Eu particularmente gosto muito de testar meus códigos no servidor local antes de enviá-los para o servidor Web. Mas nunca construo toda a estrutura de uma página no servidor local. Recomendo que utilize um programa FTP como o FileZilla para enviar os seus arquivos para o servidor Web, porque além disso, ele lhe dá a possibilidade de editar os arquivos diretamente no servidor web. Basta clicar com o botão direito do mouse sobre o arquivo que deseja editar (após tê-lo enviado para o servidor web, é obvio; não adianta editar o arquivo local) e clique sobre Ver/Editar, no caso do FileZilla. Ele abrirá o arquivo no seu editor de códigos padrão do seu sistema (defina um, se preferir, nas configurações do programa).

 

Dessa forma, poderá editar as suas páginas diretamente no servidor web, evitando alguns possíveis (e eu diria a´te prováveis) erros de formatação ocasionados pela troca de servidor.

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.