Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda


Guest Forsaken

Pergunta

Estou tentando implantar um sistema de busca no meu site, mas ele e em php com mysql. mas eu não sei muito de php, quem intende e meu irmao, mas ele esta de feria na fazenda, e estou com este problema e no meu servido. la no faq do meu servido esta assim.

Estou com dificuldades para implementar meu PHP, é problema de configuração?

Sim, o PHP do BrTurbo Empresas possui algumas funcionalidades de segurança habilitadas, que podem "quebrar" alguns scripts para garantir a integridade dos sites de nossos usuários. Veja os seguintes exemplos:

Exemplo 1: include. O comando include só permite incluir arquivos que estejam no diretório corrente, ou filhos. Por exemplo, você não consegue dar um include (../header.php), mas consegue dar um include (func/mostra.php).

Exemplo 2: register globals. É prática comum em PHP que variáveis de formulário (GET e POST), de ambiente (ENV), de servidor (SERVER) e cookies sejam registradas como globals. Esta funcionalidade está desabilitada. Deve-se acessar as variáveis através dos arrays $_GET, $_POST, $_ENV, $_SERVER e $_COOKIE, respectivamente, ou seus equivalentes $HTTP_GET_VARS, $HTTP_POST_VARS, etc.

Pode ser corrigido fazendo-se:

$var = $_POST['var'];

e declarando $var como global nas funções que a utilizarem.

Para mais informações, solicitamos consultar a documentação do PHP, em especial o capítulo de Security (4) e Variáveis (7), subseção Variáveis Pre-definidas.

então não sei como resolver sera que tem alguém que possa me ajudar por favor.

Obrigado pela atenção e Feliz Natal a todos.

E se alguém tiver um sistem de busca com bd, e poder me seder eu agradeço.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Desculpe-me..

E o Seginte a minha busca tem um parade de Administração, Então por este motivo que já postei anterior. não consigo logar, e nem fazer o busca funcionar corretamente. Ele me falaram que tenho que mudar minhas vareaveis globais.

É prática comum em PHP que variáveis de formulário (GET e POST), de ambiente (ENV), de servidor (SERVER) e cookies sejam registradas como globals.

Então e o seguinte tenho que mundar minhas variaveis globais.

Pode ser corrigido fazendo-se:

$var = $_POST['var'];

Codigo de Administração.

<?
include "config.inc";
if($opcao==1){
	if(strcmp($senha,$senha2)==0){
  $logado=true;
  session_register("logado");
  echo "Logado";
	}else{
  $logado=false;
  session_register("logado");
	}
}
if($logado==true){
	if($opcao==2){
  include "conectar.inc";
  $resultado=mysql_query("select * from $nometabela",$conexao);
  for($i=0;$i<mysql_num_rows($resultado);$i++){ ?> 
<form name="form2" method="post" action="administracao.php">
  <input type="text" name="nome" value="<?=mysql_result($resultado,$i,nome)?>" maxlength="255">
  <input type="text" name="url" maxlength="255" value="<?=mysql_result($resultado,$i,url)?>">
  <input type="text" name="palavras" value="<?=mysql_result($resultado,$i,palavras)?>">
  <input type="submit" name="Submit2" value="Atualizar">
  <a href="administracao.php?opcao=4&id=<?=mysql_result($resultado,$i,id)?>">Apagar</a> 
  <input type="hidden" name="id" value="<?=mysql_result($resultado,$i,id)?>">
  <input type="hidden" name="opcao" value="3">
</form>
<? }
  mysql_close($conexao);
	}else if($opcao==3){
  $erro=false;
  if(strlen($nome)==0||strlen($nome)>255){
  	echo "Conserte o nome!<br>";
  	$erro=true;
  }
  if(strlen($url)==0||strlen($url)>255){
  	echo "Conserte a url!<br>";
  	$erro=true;
  }
  if(strlen($palavras)==0){
  	echo "Coloque as palavras-chave!<br>";
  	$erro=true;
  }
  if($erro==false){
  	include "conectar.inc";
  	mysql_query("update $nometabela set nome='$nome', url='$url', palavras='$palavras' where id=$id",$conexao);
  	echo "Atualizado!";
  	mysql_close($conexao);
  }
	}else if($opcao==4){
  include "conectar.inc";
  mysql_query("delete from $nometabela where id=$id",$conexao);
  echo "Registro deletado!";
  mysql_close($conexao);
	}else if($opcao==5){ ?>
<form name="form3" method="post" action="administracao.php">
  <b>Nome: 
  <input type="text" name="nome" maxlength="255">
  <br>
  Url: 
  <input type="text" name="url" maxlength="255">
  <br>
  Palavras-Chave: 
  <input type="text" name="palavras">
  <br>
  <input type="submit" name="Submit3" value="Adicionar">
  <input type="hidden" name="opcao" value="6">
  </b> 
</form>
<? }else if($opcao==6){
  $erro=false;
  if(strlen($nome)==0||strlen($nome)>255){
  	echo "Conserte o nome!<br>";
  	$erro=true;
  }
  if(strlen($url)==0||strlen($url)>255){
  	echo "Conserte a url!<br>";
  	$erro=true;
  }
  if(strlen($palavras)==0){
  	echo "Coloque as palavras-chave!<br>";
  	$erro=true;
  }
  if($erro==false){
  	include "conectar.inc";
  	mysql_query("insert into $nometabela values(NULL,'$nome','$url','$palavras')",$conexao);
  	echo "Adicionado!";
  	mysql_close($conexao);
  }
	}else if($opcao==9){
  session_destroy();
  echo "Obrigado!";
	}
}else{ ?>
<form name="form1" method="post" action="administracao.php">
  <b>Senha: 
  <input type="text" name="senha2">
  <br>
  <input type="submit" name="Submit" value="Logar">
  <input type="hidden" name="opcao" value="1">
  </b> 
</form>
<? }
?>

Erro não da so não consigo acessar a parte admin. e fazer um buscar.

wink.gifwink.gifwink.gif

Obrigado e Feliz Natal...

Forsaken

Link para o comentário
Compartilhar em outros sites

  • 0

Aki, partindo do princípio que seu código esteja certo, e que sua variavel opcao esteja definida corretamente na sua lib config.inc vamos lá...

quando você registra var com session_register(), no caso de você registrar variaveis globais, só vai funcionar se no servidor (ou no seu php) esteja setado p/ register_globals=ON;

Suponho que o erro é este.

Usar: session_register(), session_unregister(), session_is_registered(), estah em desuso, pois, como descrevi acima, eles dependem da configuração do servidor p/ ter o funcionamento esperado por você.

Use a matriz $_SESSION, que é automaticamente registrada, independentemente do uso de register_globals.

Exemplo::

p/ registrar uma var: $_SESSION["logado"]=$logado;

p/desregistrar uma var: unset($_SESSION["logado"];

p/ verificar se estah registrado: isset($_SESSION["logado"];

p/ destruir sua sessao: session_destoy();

Tenta mudar isto aí e ver se vai continuar dando erros, e post de novo.

Falow!

Kartter

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...