Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fala pessoal, tudo na boa?
Eu uso o wamp para desenvolver e testas meu site antes de jogar no servidor.
A dúvida é o seguinte:
No servidor, eu consigo ler as variáveis numa boa, mas no localhost não. Meu código no index está assim:
$atual = (isset($_GET['pg'])) ? $_GET['pg'] : 'principal';
$permissao = array('principal','contribua','quem-somos','politica-de-privacidade','termos-de-uso','evento','busca','galeria','galerias','clickbanner','noticia','noticias','contato','video');
if(substr_count($atual, '/') > 0){
$atual = explode('/', $atual);
$pagina = (file_exists($atual[0]. '.php') && in_array($atual[0], $permissao)) ? $atual[0] : 'erro';
$pg1 = $atual[1];
$pg2 = $atual[2];
$pg3 = $atual[3];
$urltitulo = $atual[3];
}else{
$pagina = (file_exists($atual. '.php') && in_array($atual, $permissao)) ? $atual : 'erro';
$codigo =0;
};
No servidor, quando chamo: dominio.com.br/pagina/variavel
ele já identifica as variáveis $pg1 = $atual[1]; e $pg2 = $atual[2];
print $pg1 = pagina
print $pg2 = variavel
Ele me tras os resultados
No localhost não. Ele não reconhece as variáveis
Alguém sabe como arrumo isso no wamp?
At,Meio esquisito essa lógica aí... mas em fim...
Primeiro é o seguinte, seu servidor está bem relaxado deixando que erros de código sejam ignorados, o que é muito perigoso
E seu localhost no caso o wampp ele está mais rigoroso enquanto a permitir erros, até arisco dizer que os erros estão omitidos caso você seria informado dos erros e o código seria interrompido
>
Em 30/05/2025 at 17:43, ILR master disse:
$atual = explode('/', $atual);
$pagina = (file_exists($atual[0]. '.php') && in_array($atual[0], $permissao)) ? $atual[0] : 'erro';
$pg1 = $atual[1];
$pg2 = $atual[2];
$pg3 = $atual[3];** // erro de código aqui, o terceiro indice não existe**
$urltitulo = $atual[3];**// erro de código aqui, o terceiro indice não existe**
>
Em 30/05/2025 at 17:43, ILR master disse:
else{
$pagina = (file_exists($atual. '.php') && in_array($atual, $permissao)) ? $atual : 'erro';
$codigo =0;
}; **// Erro aqui tbm fechamento de clausulas não levam ponto-e-virgula ^^**
Veja:
$permissao = [
'principal',
'contribua',
'quem-somos',
'politica-de-privacidade',
'termos-de-uso',
'evento',
'busca',
'galeria',
'galerias',
'clickbanner',
'noticia',
'noticias',
'contato',
'video'
];
function UrlIndex() {
$filter = filter_input(INPUT_GET, 'pg', FILTER_DEFAULT);
$setUrl = empty($filter) ? 'principal' : $filter;
$explode = explode('/', $setUrl);
$arr = array_filter($explode);
return ($arr);
}
$url = UrlIndex();
$page = 'erro.php';
foreach ($permissao as $value) {
if ($url[0] == $value) {
$page = (file_exists($value . '.php') ? $value : '404') . '.php';
break;
}
}
var_dump($page);
Ao caso das variáveis, não as use!
Você já vai possuir um array com esses dados caso necessite, mas sempre verifique se o valor existe antes de usar
if (isset($url[3])) {
// somente se obtiver a url dominio.com.br/A/B/C/D
}
No mais requer analise do htaccess para saber exatamente como a manipulação de
dominio.com.br?pg=pagina/variavel
Obrigado por me responder.
Mas não entendi muito bem.
Coloquei i seu código mas não deu certo. A pg principal não é chamada, nem outras páginas.
Na verdade não entendi sua lógica.
Se não for pedir demais, pode escrever o código inteiro da página index, por favor?
>
Em 04/06/2025 at 15:55, Omar~ disse:
Meio esquisito essa lógica aí... mas em fim...
Primeiro é o seguinte, seu servidor está bem relaxado deixando que erros de código sejam ignorados, o que é muito perigoso
E seu localhost no caso o wampp ele está mais rigoroso enquanto a permitir erros, até arisco dizer que os erros estão omitidos caso você seria informado dos erros e o código seria interrompido
Veja:
$permissao = [
'principal',
'contribua',
'quem-somos',
'politica-de-privacidade',
'termos-de-uso',
'evento',
'busca',
'galeria',
'galerias',
'clickbanner',
'noticia',
'noticias',
'contato',
'video'
];
function UrlIndex() {
$filter = filter_input(INPUT_GET, 'pg', FILTER_DEFAULT);
$setUrl = empty($filter) ? 'principal' : $filter;
$explode = explode('/', $setUrl);
$arr = array_filter($explode);
return ($arr);
}
$url = UrlIndex();
$page = 'erro.php';
foreach ($permissao as $value) {
if ($url[0] == $value) {
$page = (file_exists($value . '.php') ? $value : '404') . '.php';
break;
}
}
var_dump($page);
Ao caso das variáveis, não as use!
Você já vai possuir um array com esses dados caso necessite, mas sempre verifique se o valor existe antes de usar
if (isset($url[3])) {
// somente se obtiver a url dominio.com.br/A/B/C/D
}
No mais requer analise do htaccess para saber exatamente como a manipulação de
dominio.com.br?pg=pagina/variavel
>
Em 24/06/2025 at 09:43, ILR master disse:
Coloquei i seu código mas não deu certo. A pg principal não é chamada, nem outras páginas.
Sim já sabia que certamente não funcionaria somente adicionando isso no código, por isso disse:
>
Em 04/06/2025 at 15:55, Omar~ disse:
No mais requer analise do htaccess para saber exatamente como a manipulação de
dominio.com.br?pg=pagina/variavel
Tudo é uma arquitetura depende de outros aspectos do código. Apenas apresentei a base ao qual o restante do código deve ser apoiado em cima.
>
Em 24/06/2025 at 09:43, ILR master disse:
Se não for pedir demais, pode escrever o código inteiro da página index, por favor?
Lembrei que tinha um repositório com um esquema.
Comecei a escrever e até hoje não dei continuidade
Alguém?