Ir para conteúdo

POWERED BY:

Arquivado

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

Diéssica

[Resolvido] Fatal error no arquivo restrito PHP "isAuthorized

Recommended Posts

Estou com um problema URGENTE na autorização / arquivo restrito do meu sistema em PHP.

 

Quando eu entro na pagina "excluir_albuns.php" aparece apenas o seguinte erro:

Fatal error: Cannot redeclare isAuthorized() (previously declared in /home2/th132210/public_html/new/galeria/admin/index.php:37) in /home2/th132210/public_html/new/galeria/admin/excluir_albuns.php on line 33

 

Eu vi na internet que seria pq existem 2 funçoes "isAuthorized()" no meu arquivo excluir_albuns.php e REALMENTE EXISTE. Mas nao sei oq fazer.

 

A funçao se repete na primeira linha e depois da linha $MM_restrictGoTo = "login.php";

 

function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup)
{ 
 // For security, start by assuming the visitor is NOT authorized. 
 $isValid = False; 

 // When a visitor has logged into this site, the Session variable MM_Username set equal to their username. 
 // Therefore, we know that a user is NOT logged in if that Session variable is blank. 
 if (!empty($UserName)) { 
   // Besides being logged in, you may restrict access to only certain users based on an ID established when they login. 
   // Parse the strings into arrays. 
   $arrUsers = Explode(",", $strUsers); 
   $arrGroups = Explode(",", $strGroups); 
   if (in_array($UserName, $arrUsers)) { 
     $isValid = true; 
   } 
   // Or, you may restrict access to only certain users based on their username. 
   if (in_array($UserGroup, $arrGroups)) { 
     $isValid = true; 
   } 
   if (($strUsers == "") && true) { 
     $isValid = true; 
   } 
 } 
 return $isValid; 
}

$MM_restrictGoTo = "login.php";
if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {   
 $MM_qsChar = "?";
 $MM_referrer = $_SERVER['PHP_SELF'];
 if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&";
 if (isset($QUERY_STRING) && strlen($QUERY_STRING) > 0) 
 $MM_referrer .= "?" . $QUERY_STRING;
 $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer);
 header("Location: ". $MM_restrictGoTo); 
 exit;
}

 

O que eu faço?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Retirado o trecho "AJUDEM POR FAVOR" do título do tópico por ir contra as regras do fórum:

 

Regra do Fórum: 01ª - Conteúdo fora de contexto

 

Evite entitular os tópicos com palavras como: "ME AJUDE", "PELO AMOR DE DEUS", "ESTOU DESESPERADO", "URGENTE", "SOCORRO", "HELP", "PEDIDO", "IMPLORO", "PLEASE", "DÚVIDA", ou qualquer coisa similar, assim como utilizar Caixa Alta (letras todas em maiúsculas) no título ou mesmo no corpo do tópico ou post. Utilize títulos curtos e claros, que condigam com o contexto do tópico, por favor.

 

As funções fazem a mesma coisa?

Se sim, deixe só uma.

Se não, simplesmente altere o nome de uma das funções.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Retirado o trecho "AJUDEM POR FAVOR" do título do tópico por ir contra as regras do fórum:

 

 

 

As funções fazem a mesma coisa?

Se sim, deixe só uma.

Se não, simplesmente altere o nome de uma das funções.

 

Peço desculpas pela minha ignorância, mas estou realmente desesperada.

Enfim, no código pelo o que eu sei (sou iniciante), a primeira linha que eu mostrei está determinando a função do isAuthorized e a segunda está acionando o isAuthorized. O código tem tudo já, se não fizer sentido peço que leia-o pq você deve entender mais que eu hehe

Então, não tem como eu tirar nenhum dos dois. Daí fica esse paradoxo, com o erro.

 

Se quiser te mando todo meu codigo.

 

Seguem as linhas que repetem o ISAUTHORIZED

function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup)

 

if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {   

Compartilhar este post


Link para o post
Compartilhar em outros sites
Fatal error: Cannot redeclare isAuthorized() (previously declared in /home2/th132210/public_html/new/galeria/admin/index.php:37) in /home2/th132210/public_html/new/galeria/admin/excluir_albuns.php on line 33

Não, você não entendeu...

 

Uma coisa é a DECLARAÇÃO da função. Você só declara ela uma vez.

Outra coisa é CHAMADA da função. Você pode chamar quantas vezes quiser.

 

O problema é que você definiu 2 funções com mesmo nome, o que é proibido.

Verifique os arquivos

/home2/th132210/public_html/new/galeria/admin/index.php na linha 37 e

/home2/th132210/public_html/new/galeria/admin/excluir_albuns.php na linha 33

 

Se são 2 funções que fazem a mesma coisa, você precisa excluir uma das declarações. Recomendo excluir do segundo arquivo.

Se fazem coisas diferentes, mude o nome de uma delas...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não, você não entendeu...

 

Uma coisa é a DECLARAÇÃO da função. Você só declara ela uma vez.

Outra coisa é CHAMADA da função. Você pode chamar quantas vezes quiser.

 

O problema é que você definiu 2 funções com mesmo nome, o que é proibido.

Verifique os arquivos

/home2/th132210/public_html/new/galeria/admin/index.php na linha 37 e

/home2/th132210/public_html/new/galeria/admin/excluir_albuns.php na linha 33

 

Se são 2 funções que fazem a mesma coisa, você precisa excluir uma das declarações. Recomendo excluir do segundo arquivo.

Se fazem coisas diferentes, mude o nome de uma delas...

 

Linha 37 index.php

function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) { 

 

Linha 33 Excluir_albuns.php

function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) {

 

E nesse index.php, está incluido o excluir_albuns.php. Ou seja, INTEIRAMENTE se repete, sem necessidade.

Isso é porque antigamente esse sistema usava iframe e fazia o trabalho independente.

 

Apaguei toda a função que começava na linha 33 do excluir_albuns, pois o index.php era o principal do sistema administrativo e deixaria todas as páginas linkadas a ele restritas.

 

Resultado: funcionou perfeitamente.

 

VOCÊ É UM G Ê N I O! Muito obrigada! Já estava desistindo!

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.