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

Ajuda com código de busca


danoone

Pergunta

Preciso fazer uma alteração no código abaixo e não consigo.

Quando o visitante faz uma busca, o script procura dentro de uma pasta se há um arquivo html com o nome do que ele digitou na busca, se houver, mostra uma mensagem indicando que tal pagina esta disponivel e que o visitante deve clicar no link para abrir

nessa parte

function montaRetorno() {
        
        if(!empty($this->vret)) {
            
            echo '<p><table width="95%" border="0" align="center" cellpadding="3" cellspacing="2">
    <tr>
      <td>A pagina <b>' .$this->str. '</b></font> esta disponivel!<br />
        Para visualizar a pagina <a href="' .$this->diretorio. '/' .$this->arquivos. '"><b>CLIQUE AQUI</b></a>.</font></td>
    </tr>
  </table></p>
            ';
se não houver, o script da outra opção, para clicar em outro lugar para abrir uma outra coisa, nessa parte do código:
} else {
            
            echo '<p><table width="95%" border="0" align="center" cellpadding="3" cellspacing="2">
    <tr>
      <td>Ops! A pagina <b>' .$this->str. '</b> não esta disponivel.<br /> 
        Como a tal pagina não esta disponivel, acesse <a href="paginas/pagina.htm"><strong>clicando aqui</strong></a>.</td>
    </tr>
  </table></p>
-> O que eu preciso é que, ao invés do visitante ter que clicar para abrir os arquivos, que ele seja redirecionado automaticamente para a pagina X (no caso de haver um arquivo com aquele nome dentro da pasta) ou para a pagina Y (se não houver, é direcionado para outro lugar) codigo inteiro
<?php

class buscaHtml {
    
    public $str;
    
    public $div;
    
    public $vret;
    
    public $diretorio;
    
    public $arquivos;
    
    /**
     * Método construtor
     *
     * @param string $param
     * @param string $dir
     */
    
    
    function __construct($param,$dir) {
        
        $this->str = strtolower($param);
        
        $this->diretorio = $dir;
        
        $this->busca();
        
    }
    

    
    /**
     * Executa a busca
     *
     */
    
    function busca() {
        
        
        if (is_dir($this->diretorio)) {
            
            if($abre = opendir($this->diretorio)) {
                
                while (($this->arquivos = readdir($abre)) !== false) {
                    
                    $this->div = explode('.',$this->arquivos);
                    
                    if($this->str == $this->div[0]) {
                        
                        $this->vret = 1;
                        
                        break;
                        
                    }
                }
        
            closedir($abre);
            
            } else {
                
                echo '<p>Pasta não encontrada: ' .$this->diretorio. '</p>';
                
                die;
                
            }
        } else {
        
            echo '<p>' .$this->diretorio. ' Diretório inexistente.</p>';
                
            die;
        
        }
    }
    
    /**
     * Exibe resultado da busca
     *
     */
    
    function montaRetorno() {
        
        if(!empty($this->vret)) {
            
            echo '<p><table width="95%" border="0" align="center" cellpadding="3" cellspacing="2">
    <tr>
      <td>A pagina <b>' .$this->str. '</b></font> esta disponivel!<br />
        Para visualizar a pagina <a href="' .$this->diretorio. '/' .$this->arquivos. '"><b>CLIQUE AQUI</b></a>.</font></td>
    </tr>
  </table></p>
            ';
                        
                        
        } else {
            
            echo '<p><table width="95%" border="0" align="center" cellpadding="3" cellspacing="2">
    <tr>
      <td>Ops! A pagina <b>' .$this->str. '</b> não esta disponivel.<br /> 
        Como a tal pagina não esta disponivel, acesse <a href="paginas/pagina.htm"><strong>clicando aqui</strong></a>.</td>
    </tr>
  </table></p>
            ';
            
        }
        
    }
}

?>

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
$arquivo = $_GET['busca']; // Nunca confie nos seus usuários, valide/filtre todas as entradas de dados do seu software.
if (file_exists($arquivo)) && is_file($arquivo)) {
    header('Location ' . $arquivo, true, 302);
}

Editado por Willian Gustavo Veiga
Link para o comentário
Compartilhar em outros sites

  • 0
$arquivo = $_GET['busca']; // Nunca confie nos seus usuários, valide/filtre todas as entradas de dados do seu software.
if (file_exists($)) && is_file($arquivo)) {
    header('Location ' . $arquivo, true, 302);
}

Amigo, onde no código eu coloco isso?

Pois se substituir aquele montaretorno por isso, recebo o erro

Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION

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...