Erro variavel php [RESOLVIDO]

1. Erro variavel php [RESOLVIDO]

Manassés nascimento de sousa
manasses_sousa

(usa Debian)

Enviado em 19/04/2012 - 15:06h

Salve galera, estou com um problema com meu codigo php, ele esta funcionando normalmente mas no navegador ele da um erro dizendo que a variavel não foi declarada, o programa funciona perfeitamente só que fica aparecendo a mensagem pro usuario:
39- <li>
40- <a href="?logout=sim">Sair</a>
41- <?
42- if($_GET["logout"]){
43- session_destroy();
44- header("Location:index.php");
45- }
46- ?>
47- </li>

o erro é o seguinte

Notice: Undefined index: logout in C:\xampp\htdocs\xxx\cadastro.php on line 42


Aparentemente bastaria eu declarar a variavel e pronto, eu testei mas não deu certo, alguem sabe como resolvo isso???


  


2. MELHOR RESPOSTA

Vinicius Miqueloti
Miqueloti

(usa Lubuntu)

Enviado em 20/04/2012 - 11:45h

Muito simples amigo, a variavel $_GET não está sendo iniciada com a pagina. Eu não vi o código inteiro da página, mais esta pagina irá chamar ela mesma né? Caso afirmativo o que está ocorrendo é que $_GET sempre tenta pegar o parâmetro passado, só que apenas é passado o parâmetro quando o usuário clica em logout. Conclusão: Sua página irá gerar o alerta na maior parte do tempo.

Tem 2 soluções. A primeira (e ideal) e melhorar este código de login. Trabalhe com padrões de projeto MVC. Evite códigos php junto com paginas HTML. Aprimore o tratamento de erros de sua página.

A segunda é ocultar a mensagem, vc pode fazer isto utilizando no inicio da pagina a função error_reporting(E_ERROR). Ela irá configurar que erros serão exibidos na página, no caso do E_ERROR só mostrará erros cruciais que impedem a execução do script.

Para consultar todos os tipos de erros que podem ser configurados na função: http://br.php.net/manual/pt_BR/function.error-reporting.php

Duvidas no PHP? Os melhores locais nesta exata ordem são: php.net e google (retorna muitos blogs com dicas de casos que podem ser iguais ou semelhantes ao seu.)



3. Re: Erro variavel php [RESOLVIDO]

White Hawk
WhiteHawk

(usa Ubuntu)

Enviado em 19/04/2012 - 17:12h

Olá.

Nunca programei em PHP, mas posso tentar lhe ajudar.

Primeiramente, gostaria de lhe dizer que, ao postar códigos, podes utilizar as tags [ code ] e [ /code ] sem espaços.

Sobre o seu programa, faça o seguinte teste:


<li>
<a href="?logout=sim">Sair</a>
<?
if(isset($var = $_GET["logout"]))
{
session_start();
session_destroy();
header("Location:index.php");
}
?>
</li>



4. comando session

Paulo
henbran

(usa Debian)

Enviado em 20/04/2012 - 11:32h

na 1ª linha do arquivo php, coloque o seguinte comando:

session_start();

verifique se o arquivo refenciado na instrução header("Location:index.php"); encontra-se na mesma pasta do arquivo cadastro.php, senão ... nessa instrução, precisa indicar o diretório.

Boa Sorte



5. Re: Erro variavel php [RESOLVIDO]

Manassés nascimento de sousa
manasses_sousa

(usa Debian)

Enviado em 21/04/2012 - 13:59h

Caros, muito obrigado pelo empenho em me ajudar, sou novo em programação e to aprendendo na raça mesmo, na verdade sou de infra-estrutura de Redes... eu testei todas as soluções postada na sequencia porem só obtive o resultado esperado com a segunda dica do Miqueloti, valeu pelas dicas e até a proxima.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts