asworm Posted May 19, 2009 at 09:18 PM Report #265545 Posted May 19, 2009 at 09:18 PM 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... Got it?
pedrotuga Posted May 19, 2009 at 09:26 PM Report #265551 Posted May 19, 2009 at 09:26 PM 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 https://wiki.portugal-a-programar.pt/dev_web/php/problemas_comuns_em_php/#headers-already-sent
asworm Posted May 19, 2009 at 09:35 PM Author Report #265560 Posted May 19, 2009 at 09:35 PM 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 Got it?
Solution anolsi Posted May 19, 2009 at 09:36 PM Solution Report #265562 Posted May 19, 2009 at 09:36 PM <?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 😉 "Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."Não respondo a questões por PM que possam ser colocadas no fórum!
mohican Posted May 19, 2009 at 09:38 PM Report #265565 Posted May 19, 2009 at 09:38 PM tens ali um ; a mais, no inicio
anolsi Posted May 19, 2009 at 09:41 PM Report #265569 Posted May 19, 2009 at 09:41 PM tens ali um ; a mais, no inicio Pois tinha 😉 "Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."Não respondo a questões por PM que possam ser colocadas no fórum!
asworm Posted May 19, 2009 at 09:50 PM Author Report #265575 Posted May 19, 2009 at 09:50 PM 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... Got it?
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now