Diéssica 140 Denunciar post Postado Novembro 15, 2011 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
Henrique Barcelos 290 Denunciar post Postado Novembro 15, 2011 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
Diéssica 140 Denunciar post Postado Novembro 15, 2011 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
Henrique Barcelos 290 Denunciar post Postado Novembro 15, 2011 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
Diéssica 140 Denunciar post Postado Novembro 15, 2011 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