webForumDet fria alternativet

vad är fel?

ASP

9 svar · 207 visningar · startad av centret

Medlem sedan apr. 200150 inlägg
Frågan#1

Jag får detta felmeddelande när jag försöker öppna databasen:

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

[Microsoft][Drivrutin för ODBC Microsoft Access] För få parametrar angavs. 1 förväntades.

/bannerbyte(asp)/login.asp, line 19

Här är min kod:
<!--#include virtual="inc/adovbs.inc" -->
<%
' steg 1
if request.querystring("val") = "login" then
' steg 2
if request.form("epost") = "" then
response.redirect("login.asp?fel=1")
else
' steg 3
if request.form("pass") = "" then
response.redirect("login.asp?fel=2")
else
' här öppnas databasen
epost = Request.form("epost")
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "bannerbyte"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT epost, pass FROM medlem WHERE epost=" & epost & " "
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
if request.form("pass") = RecSet("pass") then
'inloggad!
session("inloggad") = Request.form("epost")
response.redirect("inloggad.asp")
else
response.redirect("login.asp?fel=3")
end if
end if
end if
else
%>
<html>
<head>
<title>Logga in</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<div align="center">
<form name="form1" method="post" action="login.asp?val=login">
<table width="600" border="0" cellspacing="0" cellpadding="0">
<tr>
<td bgcolor="#993300">
<div align="center"><font color="#FFFFFF">Logga in</font></div>
</td>
</tr>
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="22%">E-post</td>
<td width="78%">
<input type="text" name="epost">
<% if Request.querystring("fel") = "1" then %>
Du måste fylla i fältet e-post!
<% end if %>
</td>
</tr>
<tr>
<td width="22%">Lösenord</td>
<td width="78%">
<input type="text" name="pass">
<% if Request.querystring("fel") = "2" then %>
Du måste fylla i fältet lösenord!
<% end if %>

          \</td\>
        \</tr\>
        \<tr\> 
          \<td colspan="2"\> 
            \<div align="center"\>
			\<% if Request.querystring("fel") = "3" then %\>
			Antingen var lösenordet eller användarnamnet fel försök igen!
			\<% end if %\>

              \<input type="submit" name="Submit" value="Logga in"\>
            \</div\>
          \</td\>
        \</tr\>
      \</table\>
    \</td\>
  \</tr\>
\</table\>

</form>
</div>
</body>
</html>
<% end if %>
Jag använder mig av PWS 4.0 .

Medlem sedan juni 200032 967 inlägg
#2
Addera = "SELECT epost, pass FROM medlem WHERE epost='" & epost & "'"

mvh,

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

Medlem sedan apr. 200150 inlägg
#3

Så har du nåt exempel som jag kan ha där istället? Så måste jag också tacka för det otroligt snabba svaret :D.

Medlem sedan juni 200032 967 inlägg
#4

jag rättade dig lite i den raden ovan, så prova med den jag gav dig.

mvh,

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

Medlem sedan apr. 200150 inlägg
#5

Nu med din kod får jag detta felmeddelande:
error '80020009'
Undantag inträffade.

/bannerbyte(asp)/login.asp, line 19

ASP var allt lite svårare än jag trodde :x

Medlem sedan juni 200032 967 inlägg
#6

vilken är rad 19?

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

Medlem sedan apr. 200150 inlägg
#7

if request.form("pass") = RecSet("pass") then

Medlem sedan okt. 20005 273 inlägg
#8

en chansning ;)

vad är request.form("pass") för sorts variabel, testa att convertera den till en string genom att:

Cstr(request.form("pass"))

Som sagt detta är en chansning :)

------------------
ibland tror jag att jag kan lite för lite än vad jag kan ....

Medlem sedan juni 200032 967 inlägg
#9

varför har du inte med pass redan i sql-frågan???

så här hade jag gjort. notera öppningen av recordsetet samt sql-frågan.

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "bannerbyte"
strSQL = "SELECT epost, pass FROM medlem WHERE epost='" & epost & "' AND pass = '" & request.form("pass") & "'"
set RecSet = Connect.execute(strSQL)
if not RecSet.Eof then
'inloggad!
session("inloggad") = Request.form("epost")
RecSet.Close
Connect.Close
response.redirect("inloggad.asp")
else
RecSet.Close
Connect.Close
response.redirect("login.asp?fel=3")

och du, varför kallar du din sql-fråga för Addera? du lägger ju inte till någonting?

red: sen är det alltid bra att stänga objekt innan man gör en response.redirect.
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

[Redigerat av @nders den 30 jun 2001]

Medlem sedan apr. 200150 inlägg
#10

Jag är ganska ny på detta området. Och jag programmerar via idg's guide.
Jag har tidigare hållit på med perl men lade av med det då detta slöar ner servern så grovt.
Så jag e ju glad för att detta forum finns med alla omänskligt bra programmerare ;)

[Redigerat av centret den 30 jun 2001]

259 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
116 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)