sahleMedlem sedan jan. 200336 inlägg Jag har ett script som jag har använt till sammans med access databas, men nu vill jag använda det tillsammans med mysql.
Det finns en sida som heter "settings" och där det står så här:
'##########SÖKVÄGEN TILL DATABASEN###############
db = Server.MapPath("db/kalender.mdb")
Jag undrar hur man ska skriva här när man använer mysql databas?
För de andra sidorna söker väl efter denna infon.
ska man skriva något sånt här eller?
<%
ConnString ="Driver={MySQL};SERVER=localhost;DATABASE=xxx;UID=xxx;PASSWORD=xxx"
Set Conn = Server.CreateObject("ADODB.Connection")
Set RS = server.CreateObject("ADODB.recordset")
Conn.Open ConnString
sql = "select * from table
RS.Open sql, Conn, 1, 2
% >
K@llenMedlem sedan mars 20032 667 inlägg Så här?
Dim objConn
Function GetDBConn()
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Driver={Mysql};Server=xxxx;Database=xxxx;UID=xxxx;PWD=xxxx"
Set GetDBConn = objConn
End Function
Anropas med:
Set objDB = GetDBConn()
sql ="select * from tabellen"
set objRS = objDB.Execute(sql)
sahleMedlem sedan jan. 200336 inlägg Jag för står inte riktigt vad det är man ska byta ut...
Här är sidan "settings" här tror jag att det ska vara rätt:
<%
'###SIDAN DU INKLUDERAR KALENDERN I####
sajten = "index.asp"
'#################################
'###ADMIN.ASP###
'##########SÖKVÄGEN TILL DATABASEN###############
Dim objConn
Function GetDBConn()
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Driver=MySQL ODBC 3.51 Driver;SERVER=localhost;DATABASE=xxx;UID=xxx;PASSWORD=xxx"
Set GetDBConn = objConn
End Function
'##########ADMINNAMN OCH LÖSENORD###############
Admin1 = "admin"
Admin2 = "losen"
'###########SLUT PÅ SETTINGS#####################
%>
Men hur ska man ändra i den här koden?
här är lite kod ur sidan "admin":
<%Response.Buffer = True
Session.Lcid = 1053%>
<!--#Include file="settings.asp"-->
<html>
<head>
<title>Kalenderadmin</title>
<link rel="STYLESHEET" type="text/css" href="stil.css">
<script src="js/js.js"></script>
</head>
<body onLoad="<%=mess%>">
<%Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & db
If Request.Querystring("do")="" Then%>
<table align="center" width="100%" border="0">
<tr>
<td colspan="2"><b>Logga in!</b></td>
</tr>
<form name="loggain" method="post" action="admin.asp?do=login">
<tr>
<td width="10%">Anvnamn:</td><td width="90%"><input type="text" name="admin1" size="15" value="<%=Request.Cookies("anvnamn") %>">
</td>
</tr>
<tr>
<td>Lösenord:</td><td><input type="password" name="admin2" size="15">
</td>
</tr>
<tr>
<td>Typ av inloggning:</td>
<td>
<select name="val" style="width:95">
<option value="Admin">Admin
<option value="Users">Användare
</select>
</td>
</tr>
<tr>
<td colspan="2"><hr></td>
</tr>
<tr>
<td> </td><td><input type="submit" value="Logga in"></td>
</tr>
<%If Session("mess") <> "" Then%>
<tr>
<td colspan="2"><hr></td>
</tr>
<tr>
<td colspan="2" align="center" class="normal">
<%Response.Write Session("mess")
Session("mess") = ""%>
</td>
</tr>
<%End If%>
</form>
</table>
<%End If
If Request.Querystring("do")="login" Then
If Request.Form("val") = "Admin" Then
If Request.Form("admin1") = Admin1 AND Request.Form("admin2") = Admin2 Then
admin="ok"
Else
Session("mess") = "Fel lösenord."
Response.Redirect "admin.asp"
End If
ElseIf Request.Form("val") = "Users" Then
Set RecSet=Conn.Execute("Select * From Users where anvnamn='" & Request.Form("admin1") & "'")
Response.Cookies("anvnamn") = Request.Form("anvnamn")
Response.Cookies("anvnamn").Expires = date + 365
If Not RecSet.EOF Then
If Request.Form("admin2") = RecSet("losen") Then
If RecSet("admin") = True Then
admin="ok"
Else
login="ok"
End If
Else
Session("mess") = "Du skrev fel lösenord!"
Response.Redirect "admin.asp"
End If
Else
Session("mess") = "Anvnamnet finns inte!"
Response.Redirect "admin.asp"
End If
End If
If admin="ok" Then
Session("admin") = "ok"
Session.TimeOut = 40
Response.Redirect "admin.asp?do=inne"
End If
If login="ok" Then
Session("login") = "ok"
Session.TimeOut = 40
Response.Redirect "admin.asp?do=laggtill"
End If
End If
If Request.Querystring("do")="inne" AND Session("admin") = "ok" Then
Set RS = Server.CreateObject("ADODB.Recordset")%>
<table width="100%" border="0" cellspacing="0" cellpadding="1">
<%Const perSida = 12
Sidan = Request.QueryString("sida")
If Sidan = "" then
sida = 1
Else
sida = Sidan
End If
With RS
.CursorLocation = 3
.CacheSize = perSida
End With
SQL = "Select * From Mess Order By datum DESC"
RS.Open SQL, Conn
If RS.EOF Then%>
K@llenMedlem sedan mars 20032 667 inlägg Din kod verkar lite halvfärdig, jag ändrade och kommenterade så långt det gick förstå vad du ville göra. Men din inloggning går att göra bättre :)
Ett av många tidigare exempel finns här:
http://www.webforum.nu/showthread.php?s=&postid=78202#post78202
<%Response.Buffer = True
Session.Lcid = 1053%>
<!--#Include file="settings.asp"-->
<html>
<head>
<title>Kalenderadmin</title>
<link rel="STYLESHEET" type="text/css" href="stil.css">
<script src="js/js.js"></script>
</head>
<body onLoad="<%=mess%>">
<%
'### anropa och öppna databasförbindelse ###
Set objDB = GetDBConn()
If Request.Querystring("do")="" Then%>
<table align="center" width="100%" border="0">
<tr>
<td colspan="2"><b>Logga in!</b></td>
</tr>
<form name="loggain" method="post" action="admin.asp?do=login">
<tr>
<td width="10%">Anvnamn:</td><td width="90%"><input type="text" name="admin1" size="15" value="<%=Request.Cookies("anvnamn") %>">
</td>
</tr>
<tr>
<td>Lösenord:</td><td><input type="password" name="admin2" size="15">
</td>
</tr>
<tr>
<td>Typ av inloggning:</td>
<td>
<select name="val" style="width:95">
<option value="Admin">Admin
<option value="Users">Användare
</select>
</td>
</tr>
<tr>
<td colspan="2"><hr></td>
</tr>
<tr>
<td> </td><td><input type="submit" value="Logga in"></td>
</tr>
<%If Session("mess") <> "" Then%>
<tr>
<td colspan="2"><hr></td>
</tr>
<tr>
<td colspan="2" align="center" class="normal">
<%Response.Write Session("mess")
Session("mess") = ""%>
</td>
</tr>
<%End If%>
</form>
</table>
<%End If
If Request.Querystring("do")="login" Then
If Request.Form("val") = "Admin" Then
If Request.Form("admin1") = Admin1 AND Request.Form("admin2") = Admin2 Then
admin="ok"
Else
Session("mess") = "Fel lösenord."
Response.Redirect "admin.asp"
End If
ElseIf Request.Form("val") = "Users" Then
sql ="Select * From Users where anvnamn='" & Request.Form("admin1") & "'"
set RecSet = objDB.execute(sql)
Response.Cookies("anvnamn") = Request.Form("anvnamn")
Response.Cookies("anvnamn").Expires = date + 365
If Not RecSet.EOF Then
If Request.Form("admin2") = RecSet("losen") Then
If RecSet("admin") = True Then
admin="ok"
Else
login="ok"
End If
Else
Session("mess") = "Du skrev fel lösenord!"
Response.Redirect "admin.asp"
End If
Else
Session("mess") = "Anvnamnet finns inte!"
Response.Redirect "admin.asp"
End If
End If
If admin="ok" Then
Session("admin") = "ok"
Session.TimeOut = 40
Response.Redirect "admin.asp?do=inne"
End If
If login="ok" Then
Session("login") = "ok"
Session.TimeOut = 40
Response.Redirect "admin.asp?do=laggtill"
End If
End If
'#########################################################
'### Vad ska detta nedan leda till? Fram till hit har jag ändrat ########
'#########################################################
If Request.Querystring("do")="inne" AND Session("admin") = "ok" Then %>
<table width="100%" border="0" cellspacing="0" cellpadding="1">
<%Const perSida = 12
Sidan = Request.QueryString("sida")
If Sidan = "" then
sida = 1
Else
sida = Sidan
End If
With RS
.CursorLocation = 3
.CacheSize = perSida
End With
SQL = "Select * From Mess Order By datum DESC"
RS.Open SQL, Conn
If RS.EOF Then%>
sahleMedlem sedan jan. 200336 inlägg Tack för tipsen.
Jag har försökt att ändra i koden, men jag får nya felmeddelande.
på sidan "admin" så får jag detta felmeddelade:
Feltyp:
Körningsfel i Microsoft VBScript (0x800A01BE)
Namngivna argument stöds inte av objektet.: 'CacheSize'
/kalender/admin.asp, line 130
Här är kod runt linje 130
If Request.Querystring("do")="inne" AND Session("admin") = "ok" Then
'### anropa och öppna databasförbindelse ###
Set objDB = GetDBConn()%>
<table width="100%" border="0" cellspacing="0" cellpadding="1">
<%Const perSida = 12
Sidan = Request.QueryString("sida")
If Sidan = "" then
sida = 1
Else
sida = Sidan
End If
With objDB
.CursorLocation = 3
.CacheSize = perSida
End With
SQL = "Select * From Mess Order By datum DESC"
set RecSet = objDB.execute(sql)
If RS.EOF Then%>
Ska det vara så svårt att få ett script som är gjort för access att fungera med mysql?
Jag bifogar scriptet som det var ifrån början.
Är det någon som skulle vilja hjälpa mig att ändra så att jag kan
använda det mot databas "mysql".
K@llenMedlem sedan mars 20032 667 inlägg
på sidan "admin" så får jag detta felmeddelade:
Feltyp:
Körningsfel i Microsoft VBScript (0x800A01BE)
Namngivna argument stöds inte av objektet.: 'CacheSize'
/kalender/admin.asp, line 130
Iom att du inte anger någon cursertyp kan du inte använda ADO på samma sätt som tidigare. Ett tips är att titta på det pagingskriptet som PatrikB har i skriptarkivet. Det är enkelt att modifiera till mysql och kräver ingen öppning med speciella cursertyper.