Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 25 postagens
Mais de 25 postagens
Tópico Autor
Mensagens: 39

Problema com session start require once

21-12-2010 03:55

Olá a todos gostaria de pedir uma orientação um pouco mais amigável do que sites do que php manual e blogs...

Fiz um sistema site com um sistema de login usando session e funcionou perfeitamente em wamp acontece que quando publico no servidor de hospedagem retorna este erro:

Warning: session_start() [FUNCTION.session-START]: Cannot send SESSION cookie - headers already sent BY (output started at CAMINHO/DO/ARQUIVO) IN CAMINHO/DO/ARQUIVO

Li em alguns foruns que para resolver o problemas devo iniciar o "start_session();" antes de tudo mas nao sei se posso usar isso bem no começo uma vez que na verdade a pagina que executa a permissao para acesso com start_session() começa já com "<hml> <head> <tittle> " e assim por diante a pergunta é:

1-Como acerto essas questão da session_start ?

2-Estou usando o comando Include, mas existe também require_once
qual vocês acham melhor usar ?
qual diferença ?

uma duvida extra:
3 - ao dar logout gostaria de destruir a sessao acabar com elas como se elas nao existissem é melhor usar Unset ou Session_destroy

Agradeço desde já :hai:
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17637
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problema com session start require once

21-12-2010 09:03

A dúvida do session_start você tem que basear-se pelo carregamento dos arquivos, ou seja, quando a pessoa digita:

http://www.site.com/pagina.php

Essa pagina.php que é a página raiz, ou seja, o session_start deve ser lido primeiro nesse documento:

pagina.php <?php session_start(); // includes... ?> html normal

Agora, o problema do Cannot send session cookie é porque a criação de cookie deve estar geralmente antes de qualquer echo ou código html. Com base no exemplo acima, deveria estar logo após o session_start.

Uma forma de contornar isso, é carregar o arquivo raiz dessa forma, usando o ob_start()

<?php ob_start(); session_start(); // includes... ?> html normal

Para destruir a session veja em
http://www.codigosnaweb.com/forum/Sair- ... _2392.html

O include é assim, imagina que você tem um menu, em um documento.php, e você precisa carregar ele 2 vezes no mesmo documento, no caso você vai usar o include, já que esse comando não verifica se o conteúdo já foi carregado ou não.

Já o require_once, seria mais indicado usar para carregar arquivos de configuração, porque geralmente são usados uma vez só no documento.

Se desejar mais dicas veja esse post
http://www.codigosnaweb.com/forum/duvid ... _5201.html

* Dê preferência em abrir os posts separados.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado