webForumDet fria alternativet

vad är fel?

ASP

8 svar · 186 visningar · startad av centret

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

Jag är nybörjare på ASP. Och jag undrar vad är det som är fel på min kod?? Jag kör senaste versionen av PWS.
<!--#include virtual="inc/adovbs.inc" -->
<% if request.querystring("val") = "login" then %>
<% if request.form("pass") = "" then %>
<% Response.redirect("login2.asp?fel=2") %>
<% else %>
<% if request.form("user") = "" then %>
<% Response.redirect("login2.asp?fel=1") %>
<% else %>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "bannerbyte"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM medlem WHERE ID = " & Request.form("user") & " "
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
%>
<% if Request.form("pass") = RecSet("pass") then %>
<% session("inloggad") = request.form("user") %>
<% Response.redirect("medlem.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">
<form name="" method="post" action="login2.asp?val=login">
<% if request.querystring("fel") = "3" then %> <B>Lösenordet eller användarnamnet var fel. Om du har glömt lösenordet kan du få det skickat till din e-post här.</B><% end if %>
<table width="600" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>id nummer<% if request.querystring("fel") = "1" then %> <B>Du måste fylla i id nummer</B><% end if %></td>
</tr>
<tr>
<td>
<input type="text" name="user">
</td>
</tr>
<tr>
<td>Lösenord<% if request.querystring("fel") = "2" then %> <B>Du måste fylla i lösenord</B><% end if %></td>
</tr>
<tr>
<td>
<input type="text" name="pass">
</td>
</tr>
<tr>
<td>
<input type="submit" name="Submit" value="Submit">
</td>
</tr>
</table>
</form>
</body>
</html>
<% end if %>

Medlem sedan dec. 19998 577 inlägg
#2

Välkommen hit... :)

Det kan vara mycket... ge gärna en felbeskrivning så man vet vad man skall kolla efter...

------------------
Vide rox = new Vide();
rox.learn("C#");

webeye.nu

Medlem sedan apr. 200150 inlägg
#3

Jag får detta felmeddelande:
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)/login2.asp, line 14

Medlem sedan juni 20003 169 inlägg
#4

Tips: Lite onödigt att ha <% %> runt varje rad... :)

------------------
"Datorer behöver i framtiden inte väga mer än 1,5 ton."
Popular Mechanics, 1949

Medlem sedan apr. 200150 inlägg
#5

jo i och för sig ;). Men jag e ju nybörjare =).

Medlem sedan dec. 200012 464 inlägg
#6

Problemet är alltså din selectsats. Det kan till exempelt bero på att det inte finns någon kolumn som heter ID i tabellen medlem.

------------------
essentitia preter non sans multiplicandum

Medlem sedan apr. 200150 inlägg
#7

jo jag har en kolumn som heter id och även pass i min databas.

Medlem sedan dec. 200012 464 inlägg
#8

Ok. Vilken datatyp har kolumnen id? Och vad innehåller request.form("user") för värde?

Om kolumnen id är av typen räknare och request.form("user") innehåller en text så skulle det ge upphov till detta fel.

Du kan ju skriva ut din SQLsats med response.write så kan man se hur den ser ut efter att man har lagt dit värdet i request.form("user") dvs

Addera = "SELECT * FROM medlem WHERE ID = " & Request.form("user")
response.write addera

------------------
essentitia preter non sans multiplicandum

[Redigerat av LarsG den 01 jun 2001]

Medlem sedan apr. 200150 inlägg
#9

Jo det är nog det som är felet. För kolumnen id är en räknare. tack så mycket.

272 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
132 ms — ändringar (db)