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


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216
Nome: Luan
Sexo: Masculino
Localização: De traz do PC
Contato:

uso do session_start

21-07-2009 13:23

Eu fiz um sistema de login... como varios outros que eu ja havia feito, mas este está dando erro na session_star();. O erro é o seguinte:


Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/luanwg/public_html/index.php:1) in /home/luanwg/public_html/index.php on line 1   Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/luanwg/public_html/index.php:1) in /home/luanwg/public_html/index.php on line 1

Se alguem puder me ajudar... Grato.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

uso do session_start

21-07-2009 13:25

Provavelmente está chamando HTML antes do session_start. Faça essa verificação.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216
Nome: Luan
Sexo: Masculino
Localização: De traz do PC
Contato:

uso do session_start

21-07-2009 13:31

Não, não o session ta no inicio de tudo como no exemplo:

<? session_start(); ?> <html> <head> ...

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

uso do session_start

21-07-2009 13:36

Mas, o documento que usa o session_start não está sendo chamado por include?

Uma alternativa para isso seria usar o

ob_start();

No começo do documento base.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216
Nome: Luan
Sexo: Masculino
Localização: De traz do PC
Contato:

uso do session_start

21-07-2009 13:49

não entendi direito... é pra mim por este ob_start(); embaixo da session?
tipo:

<? session_start();
ob_start(); ?>

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

uso do session_start

21-07-2009 13:52

Tipo, tem o documento base, que é o que você acessa pelo URL, e geralmente você faz uns includes dentro desse documento base, se esse documento que foi incluído no documento base tem session_start, dá esse problema.

Para solucionar. Você adicionar o seguinte no documento base

<?php ob_start(); session_start(); ?> continua..

Ai se no caso o documento que tinha a session for incluído no documento base, você tira a session_start de lá, porque já está no documento base.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216
Nome: Luan
Sexo: Masculino
Localização: De traz do PC
Contato:

uso do session_start

21-07-2009 22:22

não deu não... cololokei em todas paginas... em uma só em uma por uma e mesmo assim não deu... continua o mesmo erro.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

uso do session_start

21-07-2009 22:24

A página que tem o formulário do login, é chamada direto ou carregada via include?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216
Nome: Luan
Sexo: Masculino
Localização: De traz do PC
Contato:

uso do session_start

21-07-2009 22:30

isso ta na minha index:

    <? $login = $_SESSION['logUser']; if (session_is_registered('logado') || $sloga == 2) { echo "<strong> Bem vindo,<br />"; ?>  <span class="style6"> <? echo "".$login." <br />"; ?> </span>  <? echo "<a href=\"http://www.maximumro.com/logout.php\"> Sair </a></strong> "; } else {     ?>          <form method="post" action="logar.php"> <table style="width: 100%"> <tr> <td style="width: 114px; height: 35px;" class="style1">Login:</td> <td style="height: 35px"><font color="#0C0468">  <input name="login" style="font-weight: 700; border: 3px double #008080; width: 145px;" size="40" value=""></font></td> </tr> <tr> <td style="width: 114px; height: 37px;" class="style1">Senha:</td> <td style="height: 37px"><font color="#0C0468">  <input name="senha" type="password" style="font-weight: 700; border: 3px double #008080; width: 145px;" size="40" value=""></font></td> </tr> <tr> <td style="width: 114px; height: 31px;" class="style4"><strong> <span class="style3"> <a class="style2" href="http://www.maximumro.com/registro.php"> <span class="style5">Registro</span></a></span></strong></td> <td style="height: 31px"> <input name="Submit1" type="submit" value="Logar" style="width: 145px"></td> </tr> </table> </form> <? } ?>

e no formulario chama o logar.php e nele está assim:

<? session_start();     $errmsg_arr = array();     $errflag = false; include("conn.php");     $login = $_POST['login'];     $senha = $_POST['senha'];          $qry = "SELECT count(*) AS c FROM login WHERE userid='$login' and user_pass='$senha'";     $result = mysql_query($qry);     if($result) {         $result_array = mysql_fetch_assoc($result);         if($result_array['c'] > 0) { $data=date("dmY"); $_SESSION["logado"] = $data; $_SESSION[logUser] = $_POST[login]; $sloga=2; ?> <head> <p class="style1">    <span class="style2"> <? echo "Você logou-se com sucesso!"; ?> </span> </p>  <meta http-equiv="Content-Language" content="pt-br"> <META HTTP-EQUIV="REFRESH" CONTENT="3; URL=http://www.maximumro.com"> <?                    } else { ?> <p class="style1"> <span class="style3"> <? echo "Você errou seu login ou sua senha!"; ?> </span> </p> <META HTTP-EQUIV="REFRESH" CONTENT="3; URL=http://www.maximumro.com"> <style type="text/css"> .style1 {     font-size: xx-large; } .style2 {     color: #008000; } .style3 {     color: #FF0000; } </style> </head> <?     }         @mysql_free_result($result);     } ?>

Neste conn.php está as informações para conectar no banco de dados..
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

uso do session_start

21-07-2009 22:38

Isso que você fez já não é possível, no index.php você não pode tentar ver se uma session existe tem antes definir o session_start()

Quando falo primeira linha, é antes de tudo, inclusive HTML

<?php session_start(); // CORRETO $login = $_SESSION['logUser']; if (session_is_registered('logado') || $sloga == 2) { .. 

Na linha acima, $sloga é o que? nem está definido na página.

Também de prefência a usar o isset ao invés do session_is_registered

isset($_SESSION['nome_da_session']) 

Como disse, cada página que a session passa tem que ter o session_start "ANTES DE TUDO"
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216
Nome: Luan
Sexo: Masculino
Localização: De traz do PC
Contato:

uso do session_start

21-07-2009 23:19

Nuss pra quem tiver com o ploblema tbm ve se nãoo ta usando o Sharepiont pra salvar em php se não fosse o WEB eu passaria a vida toda com esse problem... xD

vvllllwww!!!!!!
nusss resolveu de mais minha vida!!!
muito grato web!!!
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

uso do session_start

21-07-2009 23:20

:) :wink
0
A melhor hospedagem para o seu site HostGator!

Quem está online

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