Min Första Gästbok
Förord
Vi vill alltså göra en en väldigt enkel men funktionell gästbok. För att göra det behöver vi en databas, förslagsvis en Access databas, en sida som visar inläggen och en sida som lägger till ett inlägg. Hela gästboken finnas för nedladdning i zip-format här till höger.Innehåll
»»
»
»
»
Databasen
Vi börjar med databasen som vanligt. Den här gången behöver endast en tabell(namn: gastbok) med 5 fält (ID, namn, mail, meddelande och datum). "ID" ska vara av fomatet räknare, "namn" och "mail" text, "meddelande" PM och "datum" ska vara av formatet datum/tid med standardvärde "= NU()". Spara och döp till databas.mdb. Sedan är databasen klar.
Filen guestbook.asp
Denna filen ska först upprätta en anslutning till databasen. Sedan ska den skapa ett Recordset så vi kan loopa igenom alla meddelanden och visa dem. Därefter ska ett formulär visas så att man kan lägga till ett meddelande. Filen ser ut så här:
<%
'databasanslutning med reckordset
SET Con = Server.CreateObject("ADODB.Connection")
Con.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("databas.mdb")
SQLStmt = "SELECT * FROM Gastbok ORDER BY ID DESC"
SET RecSet = Server.CreateObject("ADODB.Recordset")
RecSet.Open SQLStmt, Con, adOpenStatic, adLockOptimistic
'loopen för att skriva ut alla inlägg
DO UNTIL RecSet.EOF
%>
Namn:"><%=RecSet("namn")%>
Datum:<%=RecSet("RecSet("datum")%>
Meddelande:<%=RecSet("Meddelande")%>
<%
RecSet.MoveNext
LOOP
RecSet.Close
Con.Close
'formuläret för att man ska kunna lägga till ett meddelande
%>
Filen add.asp
Denna filen ska innehålla en kontroll av att man fyllt i namn och meddelande i formuläret och sedan lägga till det i databasen och sedan ska man skickas tillbaka till guestbook.asp. Har man inte fyllt i rätt så skrivs det ut ett felmeddelande. Filen ser ut så här:
<%
'en if sats som kontrollerar att man fyllt i ivart fall namn och meddelande
IF NOT Request.Form("Namn") = "" AND NOT Request.Form("Meddelande") = "" THEN
'databasconnection med ett recordset för att kunna lägga in en post
SET Con = Server.CreateObject("ADODB.Connection")
Con.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("databas.mdb")
SQLStmt = "SELECT * FROM Gastbok"
SET RecSet = Server.CreateObject("ADODB.Recordset")
RecSet.Open SQLStmt, Con, adOpenStatic, adLockOptimistic
'kod för att lägga till en post i database
RecSet.AddNew
RecSet("Namn") = Request.Form("Namn")
RecSet("Mail") = Request.Form("Mail")
RecSet("Meddelande") = Request.Form("Meddelande")
RecSet.Update
RecSet.Close
Con.Close
'redirectar tillbaka till gästboken
Response.Redirect "guestbook.asp"
ELSE
'felmeddelande
%>
Du måste åtminstone fylla i namn och meddelande.
Tillbaka
<%END IF%>
Exempelfil att tanka
Fil: guestbook.zip
Sammanfattning
Detta var en ganska enkel gästbok men den fyller sin funktion. Den innehåller än så länge ingen design. Det överlåter jag till dig för att du ska få den precis som du vill ha den. Hela exemplet finns för nedladdning uppe till höger. Var denna artikeln användbar?
Om du gör något intressant (eller kanske något konstigt fel) på grund av detta material så skicka gärna det med ett mail eller bifoga en länk till mig så presenterar jag detta som ytterligare exempelfiler för kursen. Om detta innehållet är felaktigt eller du lärt dig fler finesser så skriv gärna en rad eller varför inte en egen kurs baserat på dina erfarenheter. Sänd gärna in dina tips till denna kurs.
// Carl Gustavsson
0 Kommentarer