Ik ben bezig met een script om admins toe te voegen aan de database, zodat deze later dingen in de pagina kunnen aanpassen. Nou werkt het loginsysteem e.d. al. Het enige wat ik niet aan de praat kan krijgen is het toevoegen van een Admin. Ik heb hiervoor het volgende script:
Ik krijg de volgende fout als ik hem uitvoer:
De fout zou dus hier moeten zitten:
Ik kan alleen niet de fout vinden in in de SQLstring. De velden komen precies overeen met de database. Kan iemand de fout vinden?
Ik ben ten einde raad...
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
| <%
IF Session("IsAdmin") < 3 THEN
response.redirect ("index.asp")
END IF
%>
<html>
<head>
<style type='text/css'>
table {font-family: Arial, Arial; font-size: 12px;}
BODY { scrollbar-face-color: #7BC6F2;
scrollbar-shadow-color: #D0EBFB;
scrollbar-highlight-color: #D0EBFB;
scrollbar-3dlight-color: #477dcf;
scrollbar-darkshadow-color: #FFFFFF;
scrollbar-track-color: #D0EBFB;
scrollbar-arrow-color: #D0EBFB;
background: #148AD1;}
td.tablec1 {font-family: Arial, Arial;
font-size: 28px;
color: #FEDE01;}
</style>
</head>
<body>
<%
IF Request.Form("knop") = "" THEN
%>
<div align=center>
<form method=post>
<table border=0 color="#D0EBFB" cellpadding=0 cellspacing=0 width=25%>
<tr><td valign='top' colspan=2 align=center><b>Toevoegen Admin</b></td></tr>
<%
IF Request.QueryString("error")<> "" THEN
%>
<tr><td valign='top' colspan=2 align=center><b><%=Request.QueryString("error")%></b></td></tr>
<%
END IF
%>
<tr><td valign='top'><b>Volledig naam: </b></td><td valign='top'>
<input type='text' name='naam' style="border: 3px solid #1181C4;"></td></tr>
<tr><td valign='top'><b>E-mail: </b></td><td valign='top'>
<input type='text' name='mail' style="border: 3px solid #1181C4;"></td></tr>
<tr><td valign='top'><b>Gebruikersnaam: </b></td><td valign='top'>
<input type='text' name='gebruikersnaam' style="border: 3px solid #1181C4;"></td></tr>
<tr><td valign='top'><b>Wachtwoord: </b></td><td valign='top'>
<input type='password' name='wachtwoord' style="border: 3px solid #1181C4;"></td></tr>
<tr><td valign='top'><b>Acces level: </b></td><td valign='top'>
<select name='level' style="border: 3px solid #1181C4;">
<option value='1'>level 1</option><option value='2'>level 2</option>
<option value='3'>level 3</option></select>
<tr><td valign='top' colspan=2>
<input type='submit' name='knop' value='Creeër Admin'
style="width:100%; border: 3px solid #D0EBFB; background: #1181C4;
font-family: Arial, Arial; font-size: 14px; color: #FFFFFF;"></td></tr>
</table>
</form>
</div>
</body>
</html>
<%
ELSE
strUser = Request.Form("gebruikersnaam")
strPassword = Request.Form("wachtwoord")
intLevel = int(Request.Form("level"))
strMail = Request.Form("mail")
strNaam = Request.Form("naam")
IF strUser = "" or strPassword = "" or intLevel = "" or strMail = "" or strNaam = "" THEN
response.redirect("addadmin.asp?error='Er ontbreken gegevens, probeer het nog een keer'")
END IF
set DataBaseCon = Server.Createobject("ADODB.Connection")
DataSource = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DataSource = DataSource & "DBQ=d:\inetpub\wwwroot\cgi-bin\database2.mdb;"
DataBaseCon.Open DataSource
SQLstring = "INSERT INTO Admin (Wachtwoord,Username,Mail,Level,Naam)"
SQLstring = SQLstring & " VALUES ("
SQLstring = SQLstring & "'" & strPassword & "',"
SQLstring = SQLstring & "'" & strUser & "',"
SQLstring = SQLstring & "'" & strMail & "',"
SQLstring = SQLstring & "'" & intLevel & "',"
SQLstring = SQLstring & "'" & strNaam & "'"
SQLstring = SQLstring & ")"
DataBaseCon.Execute(SQLstring)
DataBaseCon.close
set DataBaseCon = nothing
%>
<table border=0 color="#D0EBFB" cellpadding=0 cellspacing=0 width=25%>
<tr><td valign='top' colspan=2 align=center><b>Admin gecreeërt</b></td></tr>
</table>
</body>
</html>
<%
END IF
%> |
Ik krijg de volgende fout als ik hem uitvoer:
code:
1
2
3
4
5
| Microsoft OLE DB Provider for ODBC Drivers fout '80040e14' [Microsoft][ODBC Microsoft Access-stuurprogramma] De instructie INSERT bevat een syntaxisfout. /addadmin.asp, regel 62 |
De fout zou dus hier moeten zitten:
code:
1
2
3
4
5
6
7
8
9
| SQLstring = "INSERT INTO Admin (Wachtwoord,Username,Mail,Level,Naam)"
SQLstring = SQLstring & " VALUES ("
SQLstring = SQLstring & "'" & strPassword & "',"
SQLstring = SQLstring & "'" & strUser & "',"
SQLstring = SQLstring & "'" & strMail & "',"
SQLstring = SQLstring & "'" & intLevel & "',"
SQLstring = SQLstring & "'" & strNaam & "'"
SQLstring = SQLstring & ")"
DataBaseCon.Execute(SQLstring) |
Ik kan alleen niet de fout vinden in in de SQLstring. De velden komen precies overeen met de database. Kan iemand de fout vinden?
Ik ben ten einde raad...