Ir para conteúdo

POWERED BY:

Arquivado

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

Kitana

Login

Recommended Posts

Oi pessoal :-)

 

Estou fazendo um sistema de login em que ao usuário preencher os campos com seu login e sua senha e clicar em ok, ele irá para seu painel de controle. Aí vai o código asp da página de painel de controle:

 

 

<%@language="VBScript" %>

<%

'Determinar o arquivo do banco

Set Connexao=Server.CreateObject("ADODB.Connection")

Connexao.Open("Driver={MicrosoftAccessDriver(*.mdb)}; DBQ=" & Server.MapPath("\petweb3\db\petweb.mdb"))

SQL String="SELECT * FROM anuncios where cod_usuario=cod_usuario" %>

<%MSG = ""

if (reg.bof and reg.eof) then

MSG = "Você não inseriu nenhum anúncio."

else

Do While not reg.eof

titulo=reg.fields("titulo")

descricao=reg.fields("descricao") %>

<%=titulo%><br>

<%=descricao%><br>

<% reg.movenext

loop %>

<% connexao.close

Set reg=nothing

SetConnexao=nothing %>

 

 

Está dando o seguinte erro quando o usuário tenta se logar:

 

Microsoft VBScript compilation error '800a03f6'

 

Expected 'End'

 

/petweb3/paineldecontrole.asp, line 107

 

 

No caso, a linha 107 é a última linha do meu código. Alguém poderia me ajudar?? Desde já obrigada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você esqueceu de fechar o IF linda...o IF fechado está na linha em vermelho, e a linha em azul eu sugiro que você altere pra isso tb:

 

<%@language="VBScript" %>

<%

'Determinar o arquivo do banco

Set Connexao=Server.CreateObject("ADODB.Connection")

Connexao.Open("Driver={MicrosoftAccessDriver(*.mdb)}; DBQ=" & Server.MapPath("\petweb3\db\petweb.mdb"))

SQL String="SELECT * FROM anuncios where cod_usuario=cod_usuario" %>

<%MSG = ""

if (reg.bof OR reg.eof) then

MSG = "Você não inseriu nenhum anúncio."

else

Do While not reg.eof

titulo=reg.fields("titulo")

descricao=reg.fields("descricao") %>

<%=titulo%><br>

<%=descricao%><br>

<% reg.movenext

loop

End if %>

<% connexao.close

Set reg=nothing

SetConnexao=nothing %>

 

Qualquer coisa pode posta. ^_^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara Princesa Kitana (risos),

 

O Erro de 'End' que está dando é que você precisa fechar a rotina de Condição do se "Se" (If). Pois o mesmo tem a seguinte sintaxe:

 

<%

if<Condição> Then

Resposta Verdadeira

Else

Resposta Falsa

End If

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu pessoal, thanks :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi gnt...

 

Testei as alterações que o Cable me indicou e deu certo. Surgiu um outro erro, eu tentei corrigir mas ñ consegui. Estou começando a aprender Asp agora e ainda tenho mtas dúvidas. O erro é o seguinte:

 

 

Microsoft VBScript runtime error '800a01c2'

 

Wrong number of arguments or invalid property assignment: 'String'

 

/petweb3/paineldecontrole.asp, line 9

 

 

O código está assim:

 

 

<%@language="VBScript" %>

<%

'Determinar o arquivo do banco

titulo = Trim(Request.Form("titulo"))

descricao = Trim(Request.Form("descricao"))

cod_usuario = Trim(Request.Form("cod_usuario"))

Set Connexao=Server.CreateObject("ADODB.Connection")

Connexao.Open ("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\petweb3\db\petweb.mdb"))

SQL String="SELECT * FROM anuncios where cod_usuario=cod_usuario"

Set Reg=Connexao.Execute(SQLString) %>

<%MSG = ""

if (reg.bof or reg.eof) then

MSG = "Você não inseriu nenhum anúncio."

else

Do While not reg.eof

titulo=reg.fields("titulo")

descricao=reg.fields("descricao") %>

<%=titulo%><br>

<%=descricao%><br>

<% reg.movenext

loop

end if %>

<% connexao.close

Set reg=nothing

SetConnexao=nothing %>

 

 

A estrutura da tabela anúncios está assim:

 

 

CREATE TABLE anuncios

(cod_anuncio autoincrement,

cod_usuario integer,

titulo char(50),

descricao char(200))

 

 

Bom pessoal...se alguém puder me dar um help eu agradeço :)

 

Thanks

Compartilhar este post


Link para o post
Compartilhar em outros sites

Princesa,

 

O erro ocorrido foi acusado por gogumelo. Porém terarei te explicar.

 

Quando você ta atribuindo a uma variável um valor de uma consulta sql, todo tipo de código ASP você terá que passar atravéz da "& &" que é o simbolo de concatenação do ASP. Pode ser tmb o "+ +" porém dessa forma você que está começando pode se confundir com o sinal matemático, portanto a melhor forma de corrigir esse problema é ultilizando o comando que gogomelo sugeriu.

 

Outra coisinha, você e gogumelo passou a varivel SQLString separadas, tem que ser juntinhas. Deixa só a palavra SQL ou SQLString(juntas). Faz assim ó:

 

<%

Dim SQL

SQL="SELECT * FROM anuncios WHERE cod_usuario = "& cod_usuario &""

Set Reg=Connexao.Execute(SQL)

%>

 

Gostaria de saber se deu certo.

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poxa gnt, ñ deu certo...

 

O código tá assim:

 

 

<%@language="VBScript" %>

<%

'Determinar o arquivo do banco

titulo = Trim(Request.Form("titulo"))

descricao = Trim(Request.Form("descricao"))

cod_usuario = Trim(Request.Form("cod_usuario"))

Set Connexao=Server.CreateObject("ADODB.Connection")

Connexao.Open ("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\petweb3\db\petweb.mdb"))

Dim SQL

SQL="SELECT * FROM anuncios WHERE cod_usuario = "&cod_usuario&""

Set Reg=Connexao.Execute(SQL) %>

<%MSG = ""

if (reg.bof or reg.eof) then

MSG = "Você não inseriu nenhum anúncio."

else

Do While not reg.eof

titulo=reg.fields("titulo")

descricao=reg.fields("descricao") %>

<%=titulo%><br>

<%=descricao%><br>

<% reg.movenext

loop

end if %>

<% connexao.close

Set reg=nothing

SetConnexao=nothing %>

 

 

Tá dando o seguinte erro:

 

 

Microsoft OLE DB Provider for ODBC Drivers error '80040e0c'

 

Command text was not set for the command object.

 

/petweb3/paineldecontrole.asp, line 11

Compartilhar este post


Link para o post
Compartilhar em outros sites

Princesa,

 

Seu "sisteminha" contém pequenos errinhos, vamos tentar corrigi-los. seu código atual é:

 

1 <%@language="VBScript" %>

2 <%

3 'Determinar o arquivo do banco

4 titulo = Trim(Request.Form("titulo"))

5 descricao = Trim(Request.Form("descricao"))

6 cod_usuario = Trim(Request.Form("cod_usuario"))

7 Set Connexao=Server.CreateObject("ADODB.Connection")

8 Connexao.Open ("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\petweb37\ db\petweb.mdb"))

9 Dim SQL

10 SQL="SELECT * FROM anuncios WHERE cod_usuario = "&cod_usuario&""

11 Set Reg=Connexao.Execute(SQL) %>

12 <%MSG = ""

13 if (reg.bof or reg.eof) then

14 MSG = "Você não inseriu nenhum anúncio."

15 else

16 Do While not reg.eof

17 titulo=reg.fields("titulo")

18 descricao=reg.fields("descricao") %>

19 <%=titulo%><br>

20 <%=descricao%><br>

21 <% reg.movenext

22 loop

23 end if %>

24 <% connexao.close

25 Set reg=nothing

26 SetConnexao=nothing %>

 

----------------------

 

1º) Vamos alterar seu drive de conexão. Na linha 8 você coloca (as barras do caminho do banco estavam invertidas)(verifique tmb se o caminho está correto):

 

Connexao.Open = "DRIVER=Microsoft Access Driver (*.mdb); DBQ=" & Server.MapPath("/petweb37/ db/petweb.mdb") & ""

 

2º) Outro probleminha q futuramente aparecerá será na linha 26, quando você coloca (tudo junto) SetConnexao = nothing. Coloque separado assim ó:

 

Set Connexao=nothing

 

----------------------

 

Corrigimos alguns probleminhas. Com certeza aparecerá a mesma mensagem, porém agora saberemos q o erro não era lá! teste e me retorne.

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi :-)

 

Mudei o código e agora está dando o erro:

 

 

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

 

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'cod_usuario ='.

 

/petweb3/paineldecontrole.asp, line 11

 

 

Eu sei que pode parecer bobo mas p/ quem está aprendendo, td parece complicado, né... :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eae kitana Eu vi um erro que no seu select.... você se esqueceu de colocar uma aspas simples no seu select dá uma olhadaSQL="SELECT * FROM anuncios WHERE cod_usuario = ' "&cod_usuario&" ' " Mas olhe só coloque este código acima se seu campo cod_usuario for como texto no banco se for numérico você coloca assimSQL="SELECT * FROM anuncios WHERE cod_usuario =" & cod_usuario O problema no seu código é só este....erro de sintaxe na instrção SQL....FalowsJucaMaster

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hey gnt :-)Consegui fazer o login...deu certinhoO problema é que como não há nenhum anúncio inserido ele devia mostrar a frase: "Você não inseriu nenhum anúncio". E isso não está acontecendo.

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.