Avatar billede 12tri Nybegynder
05. oktober 2002 - 22:13 Der er 6 kommentarer og
1 løsning

Fra <form> til database

Hej eksperter

Jeg er løbet ind i problemer i mit arbejde med at lave et simpelt bruger-logind system.
Jeg har en form på opret.asp som ser sådan ud:

<form method="post" action="control.asp" onsubmit="return valider( this )">
<B>Ønsket brugernavn:</b> (obligatorisk)<BR>
<input type="text" name="bruger" size="13" style="width:200px;"><br><BR>
<B>E-mailadresse:</B> (obligatorisk)<BR>
<input type="text" name="email" size="13" style="width:200px;"><br><BR>
<B>Ønsket kode:</b> (obligatorisk)<BR>
<input type="text" name="kode1" size="13" style="width:200px;"><br><BR>
<B>Gentag kode:</b> (obligatorisk)<BR>
<input type="text" name="kode2" size="13" style="width:200px;"><br><BR>
<input type="submit" value="OPRET BRUGER" NAME="action" CLASS="submitknap">
</form>

Jeg vil så have brugeren oprettet i en acces databese, hvis vel og mærket brugernavnet ikke er taget, det gør jeg med control.asp:

<%
function strCorrect(strInput)
strCorrect = Replace(strInput, "'", "''")
end function
If Request.Form("kode1") <> Request.Form("kode2") then
response.write "kode1 forskellig fra kode2"
else
if (Request.Form("bruger") <> "" AND Request.Form("email") <> "" AND Request.Form("kode1") <> "") then
Set objConn = Server.CreateObject("ADODB.Connection")
conStr = "Provider=Microsoft.Jet.OLEDB.4.0;"
%><!--#INCLUDE FILE="../include/db.inc" --><%
objConn.Open conStr
Set rs = Server.CreateObject("ADODB.Recordset")
sql = "Select * from brugere where bruger = " & Request.form("bruger") & ""
rs.Open sql, objConn, 1, 3 &#8216;******TIL EKSPERTERNE HER ER LINIE 15******
if rs.eof or rs.BOF then
strSQL = "Insert into brugere ("
strSQL = strSQL & "bruger, "
strSQL = strSQL & "email, "
strSQL = strSQL & "kode, "
strSQL = strSQL & "dato) "
strSQL = strSQL & "values( "
strSQL = strSQL & "'" & strCorrect(Request.form("bruger")) & "', "
strSQL = strSQL & "'" & strCorrect(Request.form("email")) & "', "
strSQL = strSQL & "'" & strCorrect(Request.form("kode1")) & "', "
strSQL = strSQL & "'" & now() & "')"
objConn.Execute(strSQL)
end if
objConn.close
set objConn = nothing
end if
end if
%>

Men jeg får en fejlmeddelelse:

Microsoft JET Database Engine fejl '80040e10'
Der er ikke angivet nogen værdi for en eller flere krævede parametre.
/bruger/control.asp, linje 15

Jeg kan ikke finde nogen fejl selv, Hjælp.

Morten / morten@12tri.dk
Avatar billede 12tri Nybegynder
05. oktober 2002 - 22:15 #1
Det er linien med "rs.Open sql, objConn, 1, 3" som er linie 15. &#8216;******TIL EKSPERTERNE HER ER LINIE 15****** vær ikke skrevet da jeg fik fejlen
Avatar billede eagleeye Praktikant
05. oktober 2002 - 22:57 #2
du mangler at angive en database fil du vil åbne til du har kun navnet på driveren i denne linie:

conStr = "Provider=Microsoft.Jet.OLEDB.4.0;"
Avatar billede eagleeye Praktikant
05. oktober 2002 - 22:58 #3
Den skal ændre til noget i stil med:
conStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\wwwroot\db.mdb;"

Eller:
conStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("db.mdb")
Avatar billede 12tri Nybegynder
06. oktober 2002 - 10:49 #4
Det gør jeg i <!--#INCLUDE FILE="../include/db.inc" -->

som ser sådan ud:

<%
ConStr = conStr & "Data Source=C:\Inetpub\access\db.mdb"
%>
Avatar billede eagleeye Praktikant
06. oktober 2002 - 22:08 #5
Ok :) sådan har jeg aldrig set det før, men OK det skulle give det samme. Så er det næste som jeg lige umiddelbart kan se hvis bruger er defineret som tekst i databasen skal der ' omkring i SQL sætningen:

sql = "Select * from brugere where bruger = '" & Request.form("bruger") & "'"
Avatar billede 12tri Nybegynder
07. oktober 2002 - 08:40 #6
Det prøver jeg lige og vender tilbage.

Det med include er fordi jeg skal bruge forskellige stiger på mit lokale netværk og når jeg uploader til webhotel, så er det let at ændre stigen

Morten
Avatar billede 12tri Nybegynder
07. oktober 2002 - 15:39 #7
Det var '' der manglede - tak for hjælpen

Morten
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester