Ir para conteúdo

POWERED BY:

Arquivado

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

Arlene Paula

[Resolvido] É possível alterar o caminho de um BD?

Recommended Posts

Esse meu sistema eu peguei ele meio pronto, pra alterar a juntei com outro que eu já tinha aqui. Agora tenho 2 BDs diferentes, porém o principal se chama bdcomdeus.mdb e o outro que só tem o catálogo, chamada catalogo.mdb, com a tabela tabprodutos. Se eu pegar essa tabela e coloca-la dentro de bdcomdeus.mdb e alterar o caminho:

 

'String de conexão para o banco de dados do Microsoft Access

strCon = "DBQ=C:\comdeus2007\divulgacao\dados\catalogo.mdb;Driver={Microsoft Access Driver (*.mdb)};"

 

para:

 

'String de conexão para o banco de dados do Microsoft Access

strCon = "DBQ=C:\comdeus2007\dados\bdcomdeus.mdb;Driver={Microsoft Access Driver (*.mdb)};"

 

Pode funcionar???

 

Eu tenho uma página chamada df_login.asp onde o login e a senha veio definido dentro da própria página (peguei pronta)

 

<%

If Not IsEmpty(Request.Form("enviar")) Then

login = Trim(Lcase("logteste"))

senha = Trim(Lcase("senhateste"))

If login = Trim(Lcase(Request.Form("login"))) And senha = Trim(Lcase(Request.Form("senha"))) Then

Session("admin") = login

Session("ip_admin") = Request.ServerVariables("REMOTE_ADDR")

%>

 

<BR>

<BR>

<B>Seja Bem Vindo ao Sistema</B><BR>

 

Essa página está com a string de conexão igual à primeira que eu coloquei (do catalogo.mdb)

Eu consigo fazer a página df_login.asp pegar o login e a senha que estão no bdcomdeus.mdb, na tabela area_restrita?? Os campos são respectivamente login e senha. É possível?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim....

 

É só você copiar a tabela de um Bd para o outro...

 

Só um conselho: utilize o Server.MapPath() para indicar o caminho do BD.. ao invés de usar o caminho físico...

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Legal!! Vou mudar aki e ver o q acontece!!

 

Como seria esse Server.MapPath()? você pd me dar um exemplo? Sou meio leiga em asp ainda!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Conex.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("Bd/Orcamentos.mdb")

No meu caso... tenho o BD dentro da pasta "BD", na pasta onde está minha aplicação...

 

O Server.MapPath() pega o caminho da sua aplicação... sem ter que indicar um caminho físico..

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi!!

 

Então... é que eu fiz uma baita bagunça aki e não sei se tem jeito de arrumar!! Sem querer abusar da sua boa vontade, será q você pode me ajudar? ^^'

 

Acontece assim... eu tinha um sisteminha pronto, bem simples, p adicionar, editar e deletar produtos de um catálogo on line aqui da nossa editora. A página df_consulta.asp funcionava assim: se a pessoa não está logada, ela faz só uma consulta dos titulos, capa, autores e tal. Se a pessoa está logada, além dessas consultas, ainda aparecia dois botõesinhos, um para editar aquele registro e outro para deletar. a página df_login.asp tem aquela programação que coloquei lah em cima, onde jah dizia qual era a senha e login, então eu só via estes dois botoes em caso de logar daquela forma. Aí eu comecei a criar um administrador para facilitar atualização do site para outras áreas, como noticias, artigos, histórias, enfim... criei uma página de login para liberar tds essas áreas para atualização e pra isso, tem o BD bdcomdeus.mdb com a tabela area_restrita, de onde eu pego a informação para logar. só que, como as páginas do catálogo só ficam liberadas quando eu logo do jeito que tah em df_login.asp (que login e senha estão direto no código fonte), os botões do arquivo df_consulta.asp não aparecem, pois eu achei um comando q acredito, tah fzndo com que estes botões nao apareçam, pois agora, eu uso outra página para logar (default.asp) e nao mais o df_login.asp:

 

<TR class=exibe_registros>

<%

If Session("admin") <> "" And Session("ip_admin") = Request.ServerVariables("REMOTE_ADDR") Then

Response.Write "<FORM name=""form_edit_" & Cont & """ action=""" & pagina_alteracao & """ method=post>"

Response.Write "<TD align=""center"" nowrap style=""background-color: gainsboro"" nowrap> "

If indice <> "" Then Response.Write "<input type=""hidden"" name=""indice"" value=""" & indice & "=" & objRS.Fields.Item(indice).Value & """>"

Response.Write "<INPUT type=hidden name=recordno value=""" & (objRS.AbsolutePosition) & """>"

Response.Write "<INPUT type=hidden name=strQ value=""" & strQ & """>"

Response.Write "<INPUT type=image src=""imagens\edit.gif"" alt=""Alterar Registro"" name=alterar value=alterar>"

If Session("admin") <> "" And Session("ip_admin") = Request.ServerVariables("REMOTE_ADDR") Then

Response.Write " <IMG src=""imagens\delete.gif"" alt=""Excluir Registro"" name=delete border=0 style=""cursor:hand"" OnClick=""confirm_delete('form_edit_" & Cont & "')"">"

End If

Response.Write " </TD>"

Response.Write "</FORM>"

End If

%>

 

Por isso que eu queria saber se tem como eu logar na default.asp e liberar os botões da página df_consulta, lembrando q a página default.asp pega os dados de bdcomdeus.mdb, da tab area_restrita pra abrir o admin.

 

Eai, tem como consertar minha bagunça?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro: NUNCA use login e senha diretamente no código...

 

Crie uma tabela com essas informações e faça o login puxando esses valores do BD e comparando com o digitado...

 

Segundo: Quando fizer esse tipo de login que falei... se os dados da pessoa estiverem corretos.. grave essa informação em uma Session... tipo Session("Liberado") = "Sim"

 

 

Ai se essa Session tiver o valor de "Sim", você mostra os botões....

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então... justamente!!

A página que tem o login e senha no código é gerado por um programa chamado Dataform. Eu já tinha pronto, não fui eu quem programou. Na época, eu nem sabia o q era ASP direito ainda rsrs! Por isso, pela pressa q tava aki, foi esse msm q usei, só dps fui aprendendo e montando aos pcos o admin como ele deve ser.

 

Agora, é o seguinte:

 

Minha página default.asp é onde eu logo. Quando eu coloco lah o login e a senha, essa página chama a página login.asp que vai verificar se o log tah correto ou não. Acredito q a session q você tah falando seja essa (em negrito):

 

login.asp

 

<%

' vamos fazer o request do nosso login e senha que foi digitado no formulário

login = request.Form("login")

senha = request.Form("senha")

 

' agora vamos usar o replace para evitar que engraçadinhos tenter furar nosso sistema de login

login = replace(login,"'","''")

login = replace(login,"#","''")

login = replace(login,"$","''")

login = replace(login,"%","''")

login = replace(login,"¨","''")

login = replace(login,"&","''")

login = replace(login,"'or'1'='1'","''")

login = replace(login,"--","''")

login = replace(login,"insert","''")

login = replace(login,"drop","''")

login = replace(login,"delet","''")

login = replace(login,"xp_","''")

login = replace(login,"select","''")

login = replace(login,"*","''")

 

' e agora pra a senha

senha = replace(senha,"'","''")

senha = replace(senha,"#","''")

senha = replace(senha,"$","''")

senha = replace(senha,"%","''")

senha = replace(senha,"¨","''")

senha = replace(senha,"&","''")

senha = replace(senha,"'or'1'='1'","''")

senha = replace(senha,"--","''")

senha = replace(senha,"insert","''")

senha = replace(senha,"drop","''")

senha = replace(senha,"delet","''")

senha = replace(senha,"xp_","''")

senha = replace(senha,"select","''")

senha = replace(senha,"*","''")

' feito isso vamos mudar o nome das variaveis para evitar outra tentativa de furos

Session("lgn") = login

Session("snh") = senha

%>

<!--Inclusão da string de conexao ao banco de dados (ver comentário no ASP)-->

<!--#include file="conn/conexao.asp"-->

 

<%

set rs = conexao.execute("SELECT * FROM area_restrita WHERE login='"&Session("lgn")&"' AND senha='"&Session("snh")&"'")

 

if rs.eof then

response.Redirect("errou.asp") 'se o cara errar a senha ele vai ser redirecionado para essa pagina

else

 

'agora criamos os cookies ou as sessions de acordo com nossas necessidades

Session("login") = "logado"

 

url = rs("url")

response.redirect (url) ' esse aqui é o endereço da pagina pra onde a pessoa será redirecionada após o login

end if

%>

Se está correto, a página vai direcionar a pessoa para a página que ela está autorizada a mexer, cuja informação de qual é está no bdcomdeus.mdb - tabela area_restrita, campo url:

 

beleza... dps disso, td deveria funcionar normal... mas a bendita página df_consulta.asp não quer liberar os botõezinhos lah p eu editar ou deletar as informações p pcisarei modificar no catálogo. Isso pq a bendita df_consulta.asp só aceita o login da página antiga dela, df_login.asp, mas quero q ela aceite o login da página default.asp. Como posso fzr isso?? Isso q não to conseguindo fzr!

 

Obrigada pela ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então... agira é só usar essa session na página para fazer a verificação dos botões

 

If (Session("login") = "logado") Then
Response.Write " <IMG src=""imagens\delete.gif"" alt=""Excluir Registro"" name=delete border=0 style=""cursor:hand"" OnClick=""confirm_delete('form_edit_" & Cont & "')"">"
End If

Entendeu ??

 

PS: Por favor, utilize as tags "code" quando of rpostar algum código.. facilitam e MUITO a visualização dos mesmos..

 

 

Abraços..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo!! Vou melhorar meus posts :)!

 

Então... só q eu nao sei como eu faço isso, pq o codigo p exibir os botões está assim:

 

<TR class=exibe_registros>
	<%
If Session("admin") <> "" And Session("ip_admin") = Request.ServerVariables("REMOTE_ADDR") Then
  Response.Write "<FORM name=""form_edit_" & Cont & """ action=""" & pagina_alteracao & """ method=post>"
  Response.Write "<TD  align=""center"" nowrap style=""background-color: gainsboro""  nowrap> "
  If indice <> "" Then Response.Write "<input type=""hidden"" name=""indice"" value=""" & indice & "=" & objRS.Fields.Item(indice).Value & """>"
  Response.Write "<INPUT type=hidden name=recordno value=""" & (objRS.AbsolutePosition) & """>"
  Response.Write "<INPUT type=hidden name=strQ value=""" & strQ & """>"
  Response.Write "<INPUT type=image src=""imagens\edit.gif"" alt=""Alterar Registro"" name=alterar value=alterar>"
  If Session("admin") <> "" And Session("ip_admin") = Request.ServerVariables("REMOTE_ADDR") Then
  Response.Write " <IMG src=""imagens\delete.gif"" alt=""Excluir Registro"" name=delete border=0 style=""cursor:hand"" OnClick=""confirm_delete('form_edit_" & Cont & "')"">"
  End If
  Response.Write " </TD>"
  Response.Write "</FORM>"
End If
%>

e eu nao sei o q colocar no lugar do ip_admin, pq nem sei de onde ele tah tirando essa session. No lugar do admin, vai a session "login"??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu ACABEI de te dar a solução no meu ultimo post.....

 

Substitui isso

If Session("admin") <> "" And Session("ip_admin") = Request.ServerVariables("REMOTE_ADDR") Then
  Response.Write " <IMG src=""imagens\delete.gif"" alt=""Excluir Registro"" name=delete border=0 style=""cursor:hand"" OnClick=""confirm_delete('form_edit_" & Cont & "')"">"
  End If

 

Por Isso:

If (Session("login") = "logado") Then
Response.Write " <IMG src=""imagens\delete.gif"" alt=""Excluir Registro"" name=delete border=0 style=""cursor:hand"" OnClick=""confirm_delete('form_edit_" & Cont & "')"">"
End If

 

¬¬

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu certinho!! funcionou direitinho!!

 

Foi mal não ter entendido logo de primeira! To começando no ramo ainda!

 

Obrigada pela ajuda!

 

Abraços!

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.