• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

asworm

Variaveis de sessao[resolvido]

9 mensagens neste tópico

Boa noite maltaa...

tenho aqui um problemazito que me tem atormentado....

no codigo que vou mostrar asseguir ao executar diz-me sempre que a variavel de sessao "logado" nao esta defenida

Notice: Undefined variable: _SESSION in C:\Documents and Settings\Admin\Ambiente de trabalho\Escola\projecto_bp\index.php on line 40

Notice: Undefined variable: _SESSION in C:\Documents and Settings\Admin\Ambiente de trabalho\Escola\projecto_bp\index.php on line 41

<html>
<?
session_start();
if (! isset($_SESSION["logado"])){
$_SESSION["logado"]=0;
};
?>
<head>

<style type=text/css>
.logo{font-size : 90 ; }
.text{color : #aaaaaa; font-family : Arial;}
.textlink{color : #777777; font-family : Arial; text-decoration : none;}
.textlinkover{color : #aaaaaa; font-family : Arial;}
.lololo{visibility : hidden; text-decoration : none;}
</style>

</head>

<script>
function menuefect(){
if(document.getElementById('lol').style.visibility=='hidden'){
document.getElementById('pesquisa').src='btn_down.png';
document.getElementById('lol').style.visibility='visible';
document.getElementById('lol1').style.visibility='visible';
document.getElementById('lol2').style.visibility='visible';
document.getElementById('lol3').style.visibility='visible';
document.getElementById('lol4').style.visibility='visible';
}else{
document.getElementById('pesquisa').src='btn_up.png';
document.getElementById('lol').style.visibility='hidden';
document.getElementById('lol1').style.visibility='hidden';
document.getElementById('lol2').style.visibility='hidden';
document.getElementById('lol3').style.visibility='hidden';
document.getElementById('lol4').style.visibility='hidden';
}
}
</script>
<?php
echo($_SESSION["logado"]);
if( $_SESSION["logado"] == 1 ){
echo('<p>logado</p>');
}else{
echo('<div align="left"><font class="text">Ola visitante, </font><a class="textlink" href="login.php"><b>Entre</b></a><font class="text"> ou </font><a href="login.php" class="textlink"><b>Registre-se</b></a></div>');
}
?>


<div align='right'>
<!-- Search Google -->
<form action="http://www.google.pt/search?" id="cse-search-box">
  <div>
    <input type="hidden" name="cx" value="partner-pub-5902541268823551:cdzykahpjqd" />
    <input type="hidden" name="cof" value="FORID:10" />
    <input type="hidden" name="ie" value="ISO-8859-1" />
    <input type="text" name="q" size="25" />
    <input type="submit" name="sa" value="Google" />
  </div>
</form>
<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=cse-search-box&lang=pt"></script>
<!-- Search Google -->
</div>
<br>
<table align=center border="1" cellpadding="0" cellspacing="0" width="1055" height="605" >
<tr>
	<td id="logoaety" valign="top" colspan="2" align=center background=fundologo.png height="140">
	<font class=logo face=Esquisito color=#000000>AetyNews</font>
	 </td>
</tr>
<tr>

	<td valign="top" align=center>
	<br><br>
        <img id="pesquisa" src="btn_up.png" onclick=" menuefect()">

	<a id="lol" class="lololo" href='desporto.php' target='frme'>Desporto</a><br>
	<a id="lol1" class="lololo" href='economia.php' target='frme'>Economia</a><br>
	<a id="lol2" class="lololo" href='saude.php' target='frme'>Saúde</a><br>
	<a id="lol3" class="lololo" href='lazer.php' target='frme'>Lazer</a><br>
	<a id="lol4" class="lololo" href='capahome.php' target='frme'>Noticias de Capa</a><br>
	</td>
	<td valign="top" height="474">
	<iframe name='frme' width='100%' height='100%' src='capahome.php'></iframe>
        </tr>
<tr>
	<td width="180"></td>
	<td height="2" width="869"></td>
</tr>
</table>
</p>
<body bgcolor =#000000 background="fundohtml.png" bgproperties="fixed">

</body>
</html>

malta agradecia mesmo se me podessem ajudar...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Quando chama o session_start() já vais tarde, as sessões do PHP recorrem aos cabeçalhos, pelo que se enviares o que quer que seja para o output antes de a chamares, já não vai funcionar porque os headers já foram enviados.

No teu caso tens esse '<html>' aí a estragar-te o esquema.

Não podes deixar sequer um espaço em branco.

Para esclarecimento deste e doutros erros consulta o nosso wiki

http://wiki.portugal-a-programar.pt/dev_web:php:problemas_comuns_em_php#headers_already_sent

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

mas o meu erro nao se encontra no link que referiste... o que é suposto eu fazer?

aonde posso meter o "session_start();"

tipo eu ja ando nisto há horas... a ver exemplos e não vejo nada de errado...

cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

<?php
session_start();
?>
<html>
<?php
if (! isset($_SESSION["logado"])){
$_SESSION["logado"]=0;
}
?>
<head>

<style type=text/css>
.logo{font-size : 90 ; }
.text{color : #aaaaaa; font-family : Arial;}
.textlink{color : #777777; font-family : Arial; text-decoration : none;}
.textlinkover{color : #aaaaaa; font-family : Arial;}
.lololo{visibility : hidden; text-decoration : none;}
</style>

</head>

<script>
function menuefect(){
if(document.getElementById('lol').style.visibility=='hidden'){
document.getElementById('pesquisa').src='btn_down.png';
document.getElementById('lol').style.visibility='visible';
document.getElementById('lol1').style.visibility='visible';
document.getElementById('lol2').style.visibility='visible';
document.getElementById('lol3').style.visibility='visible';
document.getElementById('lol4').style.visibility='visible';
}else{
document.getElementById('pesquisa').src='btn_up.png';
document.getElementById('lol').style.visibility='hidden';
document.getElementById('lol1').style.visibility='hidden';
document.getElementById('lol2').style.visibility='hidden';
document.getElementById('lol3').style.visibility='hidden';
document.getElementById('lol4').style.visibility='hidden';
}
}
</script>
<?php
echo($_SESSION["logado"]);
if( $_SESSION["logado"] == 1 ){
echo('<p>logado</p>');
}else{
echo('<div align="left"><font class="text">Ola visitante, </font><a class="textlink" href="login.php"><b>Entre</b></a><font class="text"> ou </font><a href="login.php" class="textlink"><b>Registre-se</b></a></div>');
}
?>


<div align='right'>
<!-- Search Google -->
<form action="http://www.google.pt/search?" id="cse-search-box">
  <div>
    <input type="hidden" name="cx" value="partner-pub-5902541268823551:cdzykahpjqd" />
    <input type="hidden" name="cof" value="FORID:10" />
    <input type="hidden" name="ie" value="ISO-8859-1" />
    <input type="text" name="q" size="25" />
    <input type="submit" name="sa" value="Google" />
  </div>
</form>
<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=cse-search-box&lang=pt"></script>
<!-- Search Google -->
</div>
<br>
<table align=center border="1" cellpadding="0" cellspacing="0" width="1055" height="605" >
        <tr>
                <td id="logoaety" valign="top" colspan="2" align=center background=fundologo.png height="140">
                <font class=logo face=Esquisito color=#000000>AetyNews</font>
                 </td>
        </tr>
        <tr>

                <td valign="top" align=center>
                <br><br>
        <img id="pesquisa" src="btn_up.png" onclick=" menuefect()">
               
                <a id="lol" class="lololo" href='desporto.php' target='frme'>Desporto</a><br>
                <a id="lol1" class="lololo" href='economia.php' target='frme'>Economia</a><br>
                <a id="lol2" class="lololo" href='saude.php' target='frme'>Saúde</a><br>
                <a id="lol3" class="lololo" href='lazer.php' target='frme'>Lazer</a><br>
                <a id="lol4" class="lololo" href='capahome.php' target='frme'>Noticias de Capa</a><br>
                </td>
                <td valign="top" height="474">
                <iframe name='frme' width='100%' height='100%' src='capahome.php'></iframe>
        </tr>
        <tr>
                <td width="180"></td>
                <td height="2" width="869"></td>
        </tr>
</table>
</p>
<body bgcolor =#000000 background="fundohtml.png" bgproperties="fixed">

</body>
</html>

E sim, o teu problema está descrito no link que o pedrotuga te deu ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Solução: A solução, igualmente simples, poderá passar por colocar o session_start no topo do ficheiro:

session_start();

echo "oi";

nao reparei nesta frase...

nao sabia que era preciso usar sempre a palavra php "<?php ?>" e prontinhos obrigado por tudo pessoal...

cumps

PS: quando um gajo entra em desepero por nao conseguir resolver um problema experimenta-se tudo...

foio o caso do ; asseguir à chaveta do if...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Clica em Topic Solved no fim da página para marcar o tópico como resolvido.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Clica em Topic Solved no fim da página para marcar o tópico como resolvido.

:wallbash:

Done!!!  ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora