Jump to content


Photo

Sistema De Administração


  • Faça o login para participar
4 replies to this topic

#1 franklinho

franklinho

    Normal

  • Usuários
  • 97 posts
  • Sexo:Não informado

Posted 12/03/2010, 02:35

Boa noite galera seguinte...

Estou com um script aqui de administração, no arquivo abaixo eu tenho o código que chama as páginas por include,
acontece que quando deixo meu register globals do meu servidor ON ele puxa as paginas numa boa mas quando deixo o register globals OFF ele nao puxa a pagina fica tudo branco...

Eu gostaria de saber se existe alguma forma de consertar isso


<?

// A sessão precisa ser iniciada em cada página diferente
if (!isset($_SESSION)) session_start();

$nivel_necessario = 1;

// Verifica se não há a variável da sessão que identifica o usuário
if (!isset($_SESSION['UsuarioID']) OR ($_SESSION['UsuarioNivel'] < $nivel_necessario)) {
	// Destrói a sessão por segurança
	session_destroy();
	// Redireciona o visitante de volta pro login
	header("Location: index.php"); exit;
}

?>


<? 

if($_SESSION['UsuarioNivel'] == 1){
$sql = mysql_query("SELECT * FROM usuarios");

if($acao == "cadastra"){ include("users_cadastra.php"); }
if($acao == "cadastra_db"){ include("users_cadastra_db.php"); }
if($acao == "deleta"){ include("users_deleta.php"); }
if($acao == "lista"){ include("users_lista.php");}
if($acao == "altera"){ include("users_altera.php");}
if($acao == "altera_db"){ include("users_altera_db.php");}

} if($_SESSION['UsuarioNivel'] == 2){
$sql = mysql_query("SELECT * FROM usuarios");
while ($dados=mysql_fetch_array($sql)) {
$id = $dados['UsuarioID'];
}

if($acao == "lista"){ include("users_lista.php");}
if($acao == "altera"){ include("users_altera.php");}
if($acao == "altera_db"){ include("users_altera_db.php");}
}

?>


#2 Willian Gustavo Veiga

Willian Gustavo Veiga

    12 Horas

  • Usuários
  • 175 posts
  • Sexo:Masculino

Posted 12/03/2010, 07:25

Bom dia, tudo bem?

Provavelmente, pelo que vejo, a variável $acao deveria receber $_GET['acao'] antes de fazer as verificações com os IF's.
Por favor, poste novamente dizendo se deu certo.

Um abraço, tudo de bom.
Posted Image

#3 Fernando C

Fernando C

    Ativo

  • Usuários
  • 371 posts
  • Sexo:Masculino
  • Localidade:SP

Posted 12/03/2010, 10:13

só tentando ajudar.. 2 dicas:

ele nao puxa a pagina fica tudo branco.


1 - c for PHP 5 já tentou usar a tag de abertura completa:
<?php

2 - evite alterar essa register_globals - veja informações importantes a respeito aqui:
http://php.net/manua...ity.globals.php

#4 DarkSign

DarkSign

    Doutor

  • Usuários
  • 868 posts
  • Sexo:Masculino
  • Localidade:Brasil
  • Interesses:Tecnologias na área WEB em geral e desenvolvimento.

Posted 12/03/2010, 14:00

Opa, a solução é simples, como já mencionado.

Primeiro, DESATIVE as registers_globals, visto que abre umas brechas na segurança.

Segundo, utiliza as super globals, variáveis já definidas na linguagem para esse fim.

Um exemplo é a $_SESSION

e a outra que tu vai utilizar para esse caso específico é a $_GET

nesse caso, troque $acao por $_GET["acao"]

Vale um estudo das outras super globals.

Flws.
Não sabe por onde começar? Que tal pelas Regras ?

#5 franklinho

franklinho

    Normal

  • Usuários
  • 97 posts
  • Sexo:Não informado

Posted 12/03/2010, 22:30

Fiz o que o william sugeriu e deu tudo certo
vlw cara !!!!!!!!!




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq