Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marcel_br

[Problema]Query de titulo dinamico dando erro!

Recommended Posts

Bem pessoal baixei um curso de php muito bom porém, com um unico erro.

devido ao curso ser um pouco antigo, talvez o codigo php, abaixo esteje dando erro, pois no professor da video aula roda sem nenhum erro.

<?php

$pgatual = strtolower(end(explode('/', $_GET[topicos])));

?>

<title>UpInside | <?php echo $pgatual;?></title>

Esse codigo está dando erro já tentei mudar, tentei tirar o end, o explode, não sei o mais o que fazer =(

se algum puder me passar algum link de tutorial ou alguma dica de como arrumar o meu problema ficaria extremamente grato!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele simplismente fala que o código da linha 6 que aquele lá.

é errado.

Como disse não sei se é algum erro meu no codigo ou se é meu php que é mais novo.

pois no cara da video aula funciona 100%, e parece que não é só aqui o erro parece que muita gente tambem está tendo o mesmo erro

Porem ninguem esclareceu o problema procurei no google, alguam solução e não achei nada...

PS: esse codigo é pra aparecer o titulo da pagina dinamicamente, porem ele da erro e só se eu clicar nos links ele muda o nome, se eu ficar na index o nome fica errado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

não vi nenhum erro aparentemente

a não ser que o $_GET[topicos] usa-se $_GET['tópicos']

de qualquer forma

usa assim

<?php
$pgatual = isset($_GET['topicos']) ? strtolower(end(explode('/', $_GET['topicos']))) : "Sem título";
?>
<title>UpInside | <?php echo $pgatual;?></title>

pode ser que não está sendo passado nada pela URL

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exato Victor, esse é o problema. Deixe-me explicar o porquê.

 

Cada palavra, símbolo ou número programado é denominado token, existe uma seção do Manual destinada a listá-los.

 

Pois bem, quando o interpretador "lê" seu código, vai tentar interpretá-lo, token por token.

 

Acontece que quando ele encontra algo que DEVERIA ser uma T_CONSTANT_ENCAPSED_STRING, isto é, string encapsulada entre aspas, e encontra tudo exceto as aspas, ele define como sendo uma constante e justamente por isso na seção geral sobre arrays (já que $_GET nada mais é do um array superglobal), logo no primeiro item de Array do's and dont's (Arrays - Faça e não faça) há a explicação Why is $foo[bar] wrong? (Por que $foo[bar] é errado)?

 

Resumindo:

 

Quando você fez $_GET[topicos] o interpretador procurou por uma constante topicos dentro do array superglobal $_GET

 

Se você fizesse:

 

define( 'topicos', 'algum valor' );

echo $_GET[topicos];

Não seria exibido esse erro, porém, caso nesse array superglobal não existisse um índice chamado alguma coisa, que é o valor da constante, haveria um outro tipo de erro, de menor impacto pois seria apenas um lembrete (E_NOTICE) d tipo Undefined index, istoé, índice indefinido.

 

Certinho?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.