Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

kania

Recuperando dados do visitante e repassando a informação

Recommended Posts

Olá amigos,

 

Estou com pequeno abacaxi aqui para descascar.

É o seguinte, estamos criando um site onde o cliente deverá entrar no site com uma pagina personalisada para ele tipo;

 

Este site pertence a, "FULANO DE TAL"

 

O nome do usuário será recuperado de dentro do banco de dados da empresa, até ai sem problemas porque eu poderia criar algo do tipo;

 

www.sitedaempresa.com.br/index.asp?id=login_escolhido_pelo_cliente

 

E depois recuperar por uma Request.QueryString

 

Porem o que a empresa quer é que o cliente digite seja;

 

www.sitedaempresa.com.br/login_escolhido_pelo_cliente

 

Para facilitar a vida do cliente em não ter que ficar decorando um nome muito comprido

 

Qual a melhor forma de recuperar da URL o valor "login_escolhido_pelo_cliente" uma vez que não tenho alguns parametros para o ASP analizar a com o Request.QueryString?

 

Existe outra forma de fazer isto que não seja com o Request.QueryString ou Request.ServerVariables?

 

Ou existe algum jeito de criar uma função para que o cliente digite o LOGIN dele junto com a URL do site e o Request.QueryString ou Request.ServerVariables consiga pegar esta informação sem que eu repasse a ele uma informação do tipo ?id=login_escolhido_pelo_cliente juntamente na URL?

 

O abacaxi bom de resolver http://forum.imasters.com.br/public/style_emoticons/default/grin.gif :wacko:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pesquisa por URL Rewriting, ou URL Amigáveis...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dei uma procurada no Google sobre o assunto URL Amigáveis usando o comando "Mod_rewrite " porem só encontrei artigos que ajudariam para ASP.Net ou PHP não para ASP.

 

Alguma outra dica pessoal?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ó pessoal se ajudar alguém, achei um artigo na interent que pode ajudar outras pessoas que também venham a precisar cirar algo parecido com o que eu vou criar.

 

http://site.locaweb.com.br/suporte/faq/faq...06&faq=1260

 

Assim que ue testar o recurso posto aqui o script para todos poderem ter a informação completa.

Valeu a força Hargon.

Compartilhar este post


Link para o post
Compartilhar em outros sites

No site www.imasters.com.br tem uma matéria sobre isso usando ASP.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim Hargon, encontrei esta matéria em http://imasters.com.br/artigo/5475/pro..._aspnet_ou_php/ porem ainda tenho algumas dúvidas em relação a aplicação que estou tentando fazer veja:

 

no exemplo se esta usando um acesso a u link que esta dentro de uma pasta ou sub-pasta, e o que eu vou precisar criar é algo direto www.nomedosite.com.br/login_do_cliente

 

Será que se eu fizer assim vai funcionar:

 

RewriteRule ^/default.asp?id=$1|

 

Ou simplesmente posso criar algo do tipo:

 

RewriteRule ^/?id=$

 

 

Será que ao ler a URL www.nomedosite.com.br/login_do_cliente ele vai conseguir pegar a variavel "?id=login_do_cliente" para que eu possa capturar depois ela por uma Request.QueryString e fazer um SELECT no BD para trazer o nome do Cliente, fora que quero também criar uma SESSION para utilizar esta informação para outras consultas posteriores no BD.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hargon, como viu anteriormente tentei utilizar o componente ISAPI_Rewrite http://www.isapirewrite.com/docs/ porem não tive sucesso, não esta adno certo, então peguei um código teu aqui do forum para ver se dava certo para programação que estou tentando fazer, mas não estou entendo como vai funcionar seu código, pois veja.

 

url = "http://www.site.com.br/amigos"
url = replace(url,"http://","")
url = replace(url,"https://","")
url = split(url,"/")
response.write url(1)

Se o eu digitar o endereço http://www.site.com.br/amigos (onde amigos pode ser o login do meu cliente) o servidor tem que redirecionar para a pagina inicial do site http://www.site.com.br/default.asp interpretando como se o cliente tivesse digitado http://www.site.com.br/default.asp?id=amigos, mas cmo ele vai fazer isto? onde devo colocar este código dentro do site de forma que o somente digitando /login do cliente ele seja direcionado para a pagina default.asp que dentro desta pagina terei uma rotina de consulta no BD que vai fazer assim:

 

login = Request.QueryString("id")

 

Para depois fazer a consulta no BD e imprimir na tela o nome do Cliente da seguinte forma.

 

Este site pertence a, nome do cliente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hargon, como viu anteriormente tentei utilizar o componente ISAPI_Rewrite http://www.isapirewrite.com/docs/ porem não tive sucesso, não esta adno certo, então peguei um código teu aqui do forum para ver se dava certo para programação que estou tentando fazer, mas não estou entendo como vai funcionar seu código, pois veja.

 

url = "http://www.site.com.br/amigos"
url = replace(url,"http://","")
url = replace(url,"https://","")
url = split(url,"/")
response.write url(1)

Se o eu digitar o endereço http://www.site.com.br/amigos (onde amigos pode ser o login do meu cliente) o servidor tem que redirecionar para a pagina inicial do site http://www.site.com.br/default.asp interpretando como se o cliente tivesse digitado http://www.site.com.br/default.asp?id=amigos, mas cmo ele vai fazer isto? onde devo colocar este código dentro do site de forma que o somente digitando /login do cliente ele seja direcionado para a pagina default.asp que dentro desta pagina terei uma rotina de consulta no BD que vai fazer assim:

 

login = Request.QueryString("id")

 

Para depois fazer a consulta no BD e imprimir na tela o nome do Cliente da seguinte forma.

 

Este site pertence a, nome do cliente

 

Eu não lembro em que tópico postei isso, mas com certeza não vai resolver seu problema.

 

Sobre ter que criar pastas para utilizar URL Rewriting, isso não é necessário, pois a função dela é justamente mascarar uma URL.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo você teria uma dica de como eu montar este código utilizando o componente ISAPI_Rewrite ?

 

Pelo que tive pensando logo após o cliente digitar o endereço tipo www.site.com.br/login na apgina default.asp que é para onde ele deve ser redirecionado nela deverei colocar um request.querystring("id") para fazer a consulta do BD e trazer o nome do cliente impresso na tela, seria esta a lógica correto?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seria essa a lógica sim.

 

O que vem depois da barra deve ser passado como parâmetro para uma determinada página, conforme você citou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo você teria uma dica de como eu montar este código utilizando o componente ISAPI_Rewrite para montar o arquivo httpd.ini?

 

estou aqui quebrando c abeça e fazendo teste dentro od servidor do site mas não esou tendo resultados satisfatórios.

 

Ó encontrei este código no site do Imasters para arquivos em PHP

 

#Executa se o módulo estiver carregado no servidor
<IfModule mod_rewrite.c>
#Habilita o Módulo de Reescrita
RewriteEngine On
#Define a pasta da raiz
RewriteBase /
#Se a URL apontar para um arquivo, vai diretamente para ele
RewriteCond %{REQUEST_FILENAME} !-f
#Se a URL apontar para uma pasta, vai diretamente para ela
RewriteCond %{REQUEST_FILENAME} !-d
#Vou explicar no texto do artigo
RewriteRule ^artigo/([^/]*)(/([^/]*)/?)?$ artigo.php?cod=$2&pag=$4 [L]
RewriteRule ^([^/]*)/([^/]*)(/([^/]*)/?)?$ $1.php?cod=$2&pag=$4 [L]
</IfModule>

No qual ele deve refercniar as URL's da seguintes formas

 

http://www.seusite.com.br/artigo/ = http://www.seusite.com.br/artigo.php?cod=&pag=|

http://www.seusite.com.br/artigo/27 = http://www.seusite.com.br/artigo.php?cod=27&pag=| 
http://www.seusite.com.br/artigo/27/ = http://www.seusite.com.br/artigo.php?cod=27&pag=|

http://www.seusite.com.br/artigo/27/2 = http://www.seusite.com.br/artigo.php?cod=27&pag=2| 
http://www.seusite.com.br/artigo/27/2/ = http://www.seusite.com.br/artigo.php?cod=27&pag=2|

http://www.seusite.com.br/livro/ = http://www.seusite.com.br/livro.php?cod=&pag=| 
http://www.seusite.com.br/livro/27 = http://www.seusite.com.br/livro.php?cod=27&pag=

Bom mas não programo nada em PHP, se em ASP eu já me bato as vezes imagine em PHP, daria para adaptar o código acima para usar em ASP? claro só que salvando o arqui como httpd.ini e não como .htaccess que é para PHP

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta isso abaixo:

RewriteRule ^(/[a-zA-Z0-9_-]+)?$ /login.asp?id=$1

Compartilhar este post


Link para o post
Compartilhar em outros sites

se você procurar o topico que eu citei você vai ver que é mais simples do que imagina, basta rodar na pagina 404 e trabalhar com select case

Compartilhar este post


Link para o post
Compartilhar em outros sites

se você procurar o topico que eu citei você vai ver que é mais simples do que imagina, basta rodar na pagina 404 e trabalhar com select case

 

Qual tópico?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hargon, testei mas não deu certo, quando eu digito o endereço www.site.com.br/jorgekania (jorge kania é um login cadastrado no BD) ele diz que a pagina não existe.

 

Estive pensando como ele vai saber que o login jorgekania esta cadastrado no BD e caso õ login exista vai para apagina inicial do site com a informação que osite pertence aquele cliente, e caso o LOGIN não exista leve para apagina inicial do site tbm só que sem a informação de que o site pertence aquele visitante, neste caos penço em colocar uma informação do tipo Olá Visitante?

Pois ele tem que fazer antes uma consulta no BD para somente depois trazer a informação de que o site pertence ao cliente JORGE KANIA, seria isto?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não, ele vai "redirecionar" para a página login.asp, a qual vai verificar se existe ou não.

 

Você sabe se seu servidor tem esse componente? É a Locaweb mesmo?

 

 

Sobre a sugestão do desisto, em utilizar a página de erro 404, também é boa, pois essa página recebe a URL como querystring, aí sim aquele código que postei em outro tópico poderia lhe ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim o sistema esta dentro da Locaweb

Tenho duas hospedagens dentro da lOcaweb, uma na hospedagem normal e outra na revenda

Amboa para testar o sistema

 

Acho que ou eu não estou entendendo, veja:

Vamos por passos para ver se eu consigo entender o raciocinio de vocês.

 

1 - O cliente digita www.site.com.br: ele vai ser direcionado para pagina Default.asp do site ou seja pagina inicial com uma mensagem Olá, visitante

 

2 - O cliente digita www.site.com.br/login_não_existe_no_bd: ele vai ser direcionado para pagina Default.asp do site ou seja pagina inicial com uma mensagem Olá, visitante

 

3 - O cliente digita www.site.com.br/login_existe_no_bd: ele vai ser direcionado para pagina Default.asp do site ou seja pagina inicial com uma mensagem Este site pertence a, nome do cliente

 

Obs:

Hoje o sistea esta assim o cliente para acessar sua pagina tem que digitar a RUL www.site.com.br/default.asp?ID=login_do_cliente ou seja uma URL grande e ruin do cliente gravar e até repassar ao outros visitantes ou clientes, a forma que estamos tentando fazer é para simpleficar a vida do cliente.

 

Mas não estou entendendo como fazer da forma que vocês estão falando, pela pagina 404 (pagina de erro normalmente) os scripts que encontre com algumas demostrações são todos para PHP nada na prática para ASP, alguns que ache para ASP éra com a idéia de direcinar por exemplo para outra pasta ou outra URL.

 

Estou relendo todo o artigo do site http://www.isapirewrite.com/docs/ para ver se consigo algo

Compartilhar este post


Link para o post
Compartilhar em outros sites

O funcionamento você já entendeu.

 

Sobre a revenda da Locaweb, até o momento, não possui esse componente instalado.

 

Em relação a página de erro404, você deve alterar a configuração do servidor para ler uma determinar página ASP, a qual vai ter o código que receberá a querystring com o endereço digitado pelo usuário. Por padrão, normalmente a página que vem configurada é erro404.htm, pagenotfound.htm, entre outros.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.