Jump to content
Fórum Script Brasil
  • 0

Ajuda com código de busca


danoone

Question

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 to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652.1k
×
×
  • Create New...