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

Somando Valores


apterix

Pergunta

Olá,

Tenho um problema aparentemente fácil de resolver, mas ainda não consegui.

Vamos lá:

Tenho um sistema de busca de arquivos interno e ele faz basicamente o seguinte:

Pede que eu coloque a sintaxe na busca, e com esse dado ele resolve o que eu quero.

Na prática:

Preciso inserir a sintaxe (por exemplo) busca.php?XXX=, onde XXX é o que eu vou buscar.

Se eu quiser, por exemplo, um arquivo ASP eu irei digitar: 'busca.php?ASP=' e ele irá procurar pelo arquivo com essa extensão.

Sei que é estranho essa busca, mas faz parte de um exercício em PHP.

O que quero fazer:

Toda hora que quero alterar o XXX (como no exemplo) tenho que digitar tudo de novo (busca.php?blablabla=).

Pensei em otimizar assim:

1) Já adicionar o valor busca.php?= ao formulário aí eu só clicaria entre a interrogação e o igual e digitaria

2) Digitar apenas o XXX (valor que se alterar) e no arquivo PHP que toma a variável, ele escrever o resto que falta ("busca.php?XXX=").

A solução 1 é fácil e já fiz. A solução 2 não saiu do papel.

Tentei criar uma variável assim:

$busca=busca.php?$que=

Onde '$que" é o que eu digito no formulário.

E o $busca será utilizado para fazer o PHP responsável pelo mecanismo funcionar, e parte da sintaxe é essa:

if (!empty($_GET['$busca']))

Mas não funcionou.

Já tentei colocar várias entradas (inputs) e chamá-las de q1 (busca.php?), q2 (o que vou buscar) e q3 (=).

Aí tentei:

if (!empty($_GET['q1'.and.'q2'.and.'q3']))

Mas não funcionou. Aliás, espero que seja assim a soma do PHP.

Afinal, como apenas inserir o XXX que eu quero e o script PHP procurar pelo valor 'busca.php?XXX=' sem ter de digitar toda hora 'busca.php?=' e inserir a palavra da busca entre os últimos caracteres?

Link para o comentário
Compartilhar em outros sites

14 respostass a esta questão

Posts Recomendados

  • 0

Acontece que:

busca.php?$que=

Não existe...

você não usa $ na URL...

busca.php?que=

Dai no corpo da mensagem você pega o valor de que:

$variavel = $_GET['que'];

Dai o que estiver depois do = vai ser o valor pego pelo GET...

O que está com problema pra você é a idéia de querystrings... leia o tutorial » http://scriptbrasil.com.br/forum/index.php?showtopic=89161

Link para o comentário
Compartilhar em outros sites

  • 0

Mas ainda eu teria separado os valores.

Vamos lá:

Para fazer a busca, por exemplo, eu preciso escrever no formulário:

busca.php?CHAVES= e clicar em buscar.

Se eu quiser buscar por CHIQUINHA, terei de escrever no formulário:

busca.php?CHIQUINHA e clicar em buscar.

Agora imagine que eu cansei de digitar o 'busca.php?' e o '='.

Quero digitar apenas a palavra-chave da busca.

Exemplo: KIKO e clicar em buscar.

Aí quando clico em KIKO, o formulário manda pro sistema de busca a variável 'busca.php?KIKO=' e não somente KIKO, entende?

Eu poderia já deixar o formulário com valor inicial 'busca.php?=' e quando eu fosse fazer uma busca clicar entre o '?' e o '=' e escrever a palavra-chave, todavia eu quero fazer com que ele receba o 'KIKO' e transforme em 'busca.php?KIKO=' sem necessitar colocar um valor inicial para o formulário.

Ou seja, traduzindo de forma bem simples:

Ao digitar KIKO, ele põe o prefixo 'busca.php?' e o sufixo '=' e aí sim envia para o sistema de busca.

Quando falei sobre o '_GET' é que eu quis apresentar como o sistema de busca recebe a variável.

Relembrando: if (!empty($_GET['$busca']))

Onde '$busca' é o prefixo 'busca.php?' + 'palavra-chave' + sufixo '='.

Veja que ele só recebe uma variável, então o que fazer?

Consigo fazer essa soma de prefixo, palavra-chave e sufixo antes e dar o nome da soma de '$busca' para que o sistema de busca faça a pesquisa normalmente?

Link para o comentário
Compartilhar em outros sites

  • 0

Ainda não deu.

Parece-me que não deu certo.

O script funcionou, mas não parece estar procurando por 'busca.php?NOME=', e sim apenas por 'NOME'.

Vejamos lá:

Eu sei que é doido o que eu quero fazer, e tem pouca utilidade prática, mas quero conseguir.

Vejam bem:

Eu NÃO quero montar uma URL do tipo www.blabla.com.br/busca.php?XXX=...

Acontece que o meu sistema de busca usa, na verdade, a palavra-chave 'BUSCA.PHP?XXX=', onde o que apenas varia é o XXX.

Imagine que eu tenha vários sites aqui:

Alguns utilizam a ID (XXX) ASP, outras JS, e assim por diante.

Aí eu quero que meu sistema encontre apenas as 'BUSCA.PHP?ASP=', certo?

Então eu quero colocar para o formulário buscar quem tenha 'BUSCA.PHP?ASP=', ok?

Isso eu já fiz, mas no formulário preciso inserir a palavra-chave nesta sintaxe: "BUSCA.PHP?NOME=", porém eu gostaria de ter de inserir apenas o 'NOME' e o script colocava o prefixo 'BUSCA.PHP?' e o sufixo '='.

Não quero montar um sistema de ID, isto é, querystrings (onde o index.php?=PÁGINA esconde o nome do arquivo).

Quem sabe eu proprondo assim fique mais fácil:

Imagine um formulário com um único TEXT.

Eu insiro nesse campo a palavra BOMBRIL.

Aí eu quero algo assim:

$prefixo=index.php?

$sufixo==

$busca=$prefixo+BOMBRIL+=

Ai quero que o _GET leia a tag $busca, já que o resultado será 'index.php?BOMBRIL=' e é exatamente isso que eu quero.

Editado por apterix
Link para o comentário
Compartilhar em outros sites

  • 0
Guest --apterix --

Ainda não é isso.

Não quero trabalhar com querystrings.

Vou tentar facilitar mais ainda o que eu pretendo. Leia com calma para entender o que você não encontra, antes de supor que eu não entendo alguma coisa.

1) Eu tenho um FORM

2) Esse FORM recebe um valor qualquer (suponha que seja 'PALAVRA')

3) Esse FORM envia esse valor a um sistema (envia o que foi digitado, 'PALAVRA')

4) O sistema não deve receber apenas esse valor dado ('PALAVRA'), pois ele não o entende; Ou seja, se ele receber apenas 'PALAVRA' ele não fará nada. Agora se ele receber o valor 'INDEX.PHP?PALAVRA=' ele entende.

Não tentem interpretar o 'index.php?' porque esse arquivo não existe.

Só faz parte da palavra-chave que o sistema de busca usa.

O que ele vai fazer:

Procurar por todas as minhas páginas dentro do meu servidor que contenham 'INDEX.PHP?PALAVRA='... entendem?

Basicamente o meu problema é o seguinte:

Imaginem que eu tenho um script onde ele recebe um valor qualquer via formulário por um usuário.

Exemplo: AMIGO

Ao clicar em BUSCAR (suponha que o script seja um sistema de busca), eu gostaria de que o sistema adicionasse um prefixo e um sufixo que eu quiser e AÍ SIM enviar o valor para o motor de busca.

Em outras palavras>

Usuário digita> PALAVRA

Um sistema antes da busca adiciona ao valor um prefixo>ALFABETO

Um sistema antes da busca adiciona ao valor um sufixo>PLURAL

Aí um sistema soma os valores resultando em> ALFABETOPALAVRASUFIXO

Aí sim ele envia para o motor de busca o resultado> ALFABETOPALAVRASUFIXO

Só quero que o sistema receba o que buscar quando O VALOR DIGITADO tenha sido somado com um prefixo e um sufixo QUE EU QUERO.

Em outras palavras:

Como fazer para somar um prefixo e um sufixo ao valor recebido pelo FORM, e como colocar essa soma no _GET

Vou tentar explicar ainda mais, com uma programação que não existe, apenas para entender:

- FORM envia o valor 'PAGINA' para o arquivo SISTEMASOMA.PHP

- SISTEMASOMA.PHP recebe o valor 'PAGINA' e adiciona prefixo 'INDEX.PHP?' e sufixo '=' resultando em:

$buscafinal=INDEX.PHP?PAGINA=

- O meu _GET irá buscar por 'INDEX.PHP?PAGINA='

Não tentem interpretar o 'index.php?' porque ele faz apenas parte da palavra chave!

Assim como eu poderia ter colocado qualquer outra coisa!

Eu sei que o código acima não existe, um pseudo-código mal feito.

Atualmente, eu tenho que digitar no formulário 'index.php?PALAVRA=' e o sistema recebe esse valor (como uma palavra-chave, não tentem imaginar coisas, sem interpretar! É apenas a palavra chave da busca!).

Aí eu coloco no formulário que o nome desse valor será 'busca', aí no meu _GET eu coloco:

if (!empty($_GET['busca']))

Ou seja, o sistema vai procurar por INDEX.PHP?PALAVRA=.

Apenas quero saber como somar um prefixo e sufixo no PHP a um termo digitado pelo usuário e fazer disso uma variável que eu possa adicionar no meu _GET, como no exemplo acima.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --ESerra --
Desculpe, mas você não visualizou o problema e fugiu da encontrar uma solução.

Aprenda a dizer que não sabe, é melhor.

Não é querystrings, é bem visível isso se ler meu último post.

Tem razão, não é querystring.... é algo que não tem nome e só você sabe que existe... :)

Link para o comentário
Compartilhar em outros sites

  • 0

Eu li ... e continua sendo querystring .... LOL

Mas acho que entendi sua duvida, você quer que a palavra passada pelo "textfiled" seje o nome da query e não o valor ...

No caso seria assim:

- Eu digito no texto: php

- Ai o sistema tem que fazer isso "arquivo.php?php=" e não "arquivo.php?alguma_coisa=php"

Para se fazer isso você deve usar um JavaScript pois nem com HTML nem com PHP é possível (X_X) ... algo como ....

<script language="JavaScript">
function SendQuery(obj_form) {
 var valor = obj_form.subquery.value;
 window.self.location.href = "http://www.site.com/arquivo.php?" + escape(valor) + "=";
 return false;
}
</script>
<form onSubmit="return SendQuery(this);">
Texto: <input type="text" name="subquery" value=""> <input type="submit">
</form>

Editado por SK15
Link para o comentário
Compartilhar em outros sites

  • 0
Isso, estamos quase lá.

A diferença é que não posso ter 'http://www.site.com/', pois o motor de busca é quem adiciona o site (ele faz a busca em vários domínios).

Agora se complico :P, pois como ele vai adicionar o dominio, para que isso em geral não é para o mesmo site ou são varios sistes com os mesmos dominios???

Tipo se você diz que o sistema diz o domnio antes da busca, se for é so fazer colocar um "echo" naquela parte do JS ...

<?php

// Suponhamos que o sistema aleatoriamente retorno o dominio abaixo ...

$dominio = "http://www.site2.com.br";

?>

Dai é so colocar a varivel no JS ...

window.self.location.href = "<?= $dominio ?>/arquivo.php?" + escape(valor) + "=";

Se num for tire o dominio caso seja esse o problema, ou re-explique :rolleyes:

Link para o comentário
Compartilhar em outros sites

  • 0

hehehe.

Tamos quase no ponto!

O sistema sai buscando por sites em buscadores de terceiros.

Então ele sai, por exemplo, atrás de domínios que contenham certas palavras, como no exemplo do meu sistema 'algo.php?algo2='.

Logo, não tem um domínio fixo, o sistema sai pegando domínios através de outras buscas, verificando se existe tal palavra-chave e no fim dela me reporta os que ela achou.

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...