/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Kommentar mulighed
Fra : Tommy


Dato : 13-01-03 18:21

Hej NG

Jeg har før fået kanon hjælp så jeg prøver igen

På en af de sider jeg har kunne jeg tænke mig at give brugeren en mulighed
for at komme med en kommentar til det de ser. Det skulle være lidt i stil
med en "gæstebog" jeg har set at det er masser a forskellige "gratis"
gæstebøger på nettet men det var ikke lige det jeg havde tænkt mig. Det
skulle helst kunne afvikles på mit webhotel (jirty).
Er den mon nogen der har et eksempel eller ved hvor er er ?

På forhånd tak

--
Tommy



 
 
Jakob Andersen (13-01-2003)
Kommentar
Fra : Jakob Andersen


Dato : 13-01-03 18:43

"Tommy" <info@manniken.dk> wrote
> På en af de sider jeg har kunne jeg tænke mig at give brugeren en mulighed
> for at komme med en kommentar til det de ser.

Du laver blot en tabel i din database som indeholder f.eks.:

Kommentar
Navn
(evt. en indikation af hvilken side det er da du så kan bruge samme tabel
til kommentarer på flere sider)

Og herefter laver du nederst på din sider en formular med de samme felter
som poster til en side der indsætter dataene i tabellen.
Under formularen laver du et udtræk der henter alle kommentarerne til
artiklen og viser dem.

Så simpelt er det, sig til hvis du har brug for mere hjælp til nogle af
punkterne.

--
Jakob Andersen



Tommy (13-01-2003)
Kommentar
Fra : Tommy


Dato : 13-01-03 21:35



>
> Så simpelt er det, sig til hvis du har brug for mere hjælp til nogle af
> punkterne.
>
> --
> Jakob Andersen

Jo tak. Det gør jeg så . Det lyder jo som om det kan lade sige gøre. Men jeg
kan nok lave en form der virker og jeg kan også få vist på en side hvad der
bliver indtastet i formen men hvordan jeg forbinder det med databasen ved
jeg ikke. Så hjælp til det ville være meget fint. Jeg kunne tænke mig at
have felterne; navn, email, site og selfølgelig, kommentar. Er det muligt at
lave en indtastet email adresse til et aktivt link ? Jeg vil blive utrolig
glad om jeg kan få det til at virke .

Tommy



Tommy (14-01-2003)
Kommentar
Fra : Tommy


Dato : 14-01-03 16:15



Nu er jeg på tynd is . Jeg har forsøgt mig med først at læse fra databasen
men det går ikke. Jeg mener selv jeg har angivet det den brokker sig over
men det har jeg sikkert ikke. Jeg vil være meget taknemlig for lidt hjælp ;

Jeg får følgende fejlmeddelse ;

a.. Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Driver Manager] Datakildenavnet blev ikke fundet, og der er
ikke angivet en standarddriver.
/database1.asp, line 14

Her er min kode



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<!--#include virtual= "/adovbs.inc"-->
<title>Database test</title>
</head>

<body>
<%
Dim objConn
Set objConn = Server.CreateObject ("ADODB.Connection")
objConn.ConnectionString="DRIVER ={ Microsoft Access Driver (*.mdb)};" &
"DBQ=D:\Dokumenter\comments.mdb"
objConn. Open
Dim objRS
Set objRS = Server.CreateObject ("ADODB.Recordset")
objRS.Open "comments", objConn, , , adCmdTable

Do While Not objRS.EOF
Response.Write"<B>" & objRS("Name") & "</B><BR>"
Response.Write objRS("Email") & "<BR>"
Response.Write objRS("Url") & " <BR>"
Response.Write objRS("Comment") & "<BR>"
objRS.MoveNext
Loop

objRS.Close
Set objRS = Nothing

objConn.Close
Set objConn = Nothing
%>

</body>
</html>

På forhånd tak

Tommy




Jakob Andersen (14-01-2003)
Kommentar
Fra : Jakob Andersen


Dato : 14-01-03 17:16

"Tommy" <info@manniken.dk> wrote
> Jo tak. Det gør jeg så . Det lyder jo som om det kan lade sige gøre. Men
jeg
> kan nok lave en form der virker og jeg kan også få vist på en side hvad
der
> bliver indtastet i formen men hvordan jeg forbinder det med databasen ved
> jeg ikke.

Lad os sige at du i din database har en tabel med navnet kommentarer med
følgende felter:

Navn | Email | Site | Kommentar


Du skal så et eller andet sted vise dataene, dette kan du gøre vha. noget
ala nedenstående:

<%
'Vi laver en forbindelse til access databasen
Dim objConn
Set objConn = Server.CreateObject( "ADODB.Connection" )
objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\sti\til\din\database.mdb"
objConn.Open()

'Vi hiver data ud i et recordset
Set objRS = objConn.Execute( "SELECT Navn, Email, Kommentar FROM
kommentarer WHERE Site = 'den side vi er på'" )

'Vi løber igennem dataene og udskriver kommentarerne
Do while Not objRS.EOF
Response.Write( "Kommentar skrevet af <a href="mailto:" &
Trim(objRS( "Email" )) & ">" & objRS( "Navn" ) & "</a>:<br />" )
Response.Write( objRS( "Kommentar" ) & "<br /><hr /><br />")
objRS.Movenext
Loop

'Vi rydder op i objekter
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
%>

Mht. indsættelsen i databasen laver du blot din formular ala nedenstående:

<form method="post" action="indsaetkommentar.asp">
<input type="hidden" name="Site" value="<siden vi er på>" />
Navn: <input type="text" name="Navn" /><br />
Email: <input type="text" name="Email" /><br />
Kommentar: <textarea name="Kommentar"></textarea><br />
<input type="submit" value="Opret kommentar" /><br />
</form>

På siden indsaetkommentar.asp laver du så følgende kode:
<%
'Vi laver en forbindelse til access databasen
'(dette kan du evt. ligge i en inkludefil så det kun skal ændres et
sted)
Dim objConn
Set objConn = Server.CreateObject( "ADODB.Connection" )
objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\sti\til\din\database.mdb"
objConn.Open()

'Vi bruger SQL's insert kommando til at indsætte dataene i databasen
objConn.Execute( "INSERT INTO kommentarer( Navn, Email, Site,
Kommentar ) VALUES( '" & Replace( Request.Form( "Navn" ) & "", "'", "''" ) &
"','" & Replace( Request.Form( "Email" ) & "", "'", "''" ) & "', '" &
Replace( Request.Form( "Site" ) & "", "'", "''" ) & "' Replace(
Server.HTMLEncode(Request.Form( "Kommentar" )) & "", "'", "''" ) & "' )" )

'Vi rydder op i objekter
objConn.Close
Set objConn = Nothing
%>


Ovenstående er ikke testet, og du skal passe på knækkede linier.

--
Jakob Andersen



Tommy (14-01-2003)
Kommentar
Fra : Tommy


Dato : 14-01-03 18:08



Jacob

Tusind tak . Jeg er igang . Vender tilbage når jeg har prøvet. Det er vildt
spændende.


Tommy



Tommy (14-01-2003)
Kommentar
Fra : Tommy


Dato : 14-01-03 18:48

OK Jeg kom et stykke af vejen. Jeg er der næsten for læsedelen Men jeg
får følgende fejl;

Fejltype:
Der opstod en Microsoft VBScript-kompileringsfejl (0x800A03EE)
Tegnet ')' var ventet
/database2.asp, line 18, column 43
Response.Write("Comment written by<a href="mailto:"&
Trim(objRS("Email"))&">"& objRS("Name")& "</a>:<br/>")


På forhånd tak

Tommy

PS man kan blive helt grebet af det her !



Jakob Andersen (14-01-2003)
Kommentar
Fra : Jakob Andersen


Dato : 14-01-03 19:03

"Tommy" <info@manniken.dk> wrote
> Der opstod en Microsoft VBScript-kompileringsfejl (0x800A03EE)
> Tegnet ')' var ventet
> /database2.asp, line 18, column 43
> Response.Write("Comment written by<a href="mailto:"&
> Trim(objRS("Email"))&">"& objRS("Name")& "</a>:<br/>")

Når man bruger Response.Write( "tekst" ) kan man i teksten ikke benytte
"-tegnet da VBScript fortolkeren tror at strengen slutter, derfor skal man
"escape" disse og dette gøres i VBScript ved at skrive " foran altså skal
din Response.Write linie se sådan her ud:

Response.Write("Comment written by<a href=""mailto:"& Trim(objRS("Email")) &
""">" & objRS("Name") & "</a>:<br/>")

--
Jakob Andersen



Tommy (14-01-2003)
Kommentar
Fra : Tommy


Dato : 14-01-03 21:34


Tak igen Jacob. Det er rart med en forklaring man kan lære noget af, nu
gælder det bare om at huske den ! Jeg blev så opslugt af dette at jeg nær
havde glemt et møde her til aften.

Tommy




Tommy (14-01-2003)
Kommentar
Fra : Tommy


Dato : 14-01-03 22:06

Ja se nu er den gal igen, jeg håber at lære noget mere.

Her er min fejl

a.. Fejltype:
Microsoft JET Database Engine (0x80040E10)
Der er ikke angivet nogen værdi for en eller flere krævede parametre.
/database2.asp, line 16



Her er min linie 16, har jeg misforstået Site=den side vi er på ?

Set objRS=objConn.Execute("SELECT Name,Email,Url,Comment FROM comments WHERE
Site='database2.asp'")

På forhånd tak

Tommy



Jakob Andersen (14-01-2003)
Kommentar
Fra : Jakob Andersen


Dato : 14-01-03 22:43

"Tommy" <info@manniken.dk> wrote
> Ja se nu er den gal igen, jeg håber at lære noget mere.
>
> Her er min fejl
>
> a.. Fejltype:
> Microsoft JET Database Engine (0x80040E10)
> Der er ikke angivet nogen værdi for en eller flere krævede parametre.
> /database2.asp, line 16

Denne fejl skyldes oftest at du enten prøver at bruge tekst i en tal
kolonne(der skal ' uden om tekst, ikke uden om tal) en anden mulighed er
fordi du har stavet et af feltnavnene eller tabelnavnene forkert, så prøv
lige at tjekke igen.

Udover ovenstående er mit enenste forslag at det kan være at feltnavnet Name
er et reserveret ord, et reserveret ord er et ord som systemet bruger f.eks.
er SELECT, FROM og WHERE reserverede ord. For at gøre databasen opmærksom på
dette kan man omgive navnene med firkanter altså så du skriver [Name]
istedet for Name.

Så:

1. Tjek for stavefejl
2. Tjek for datatyper streng vs. tal
3. Tjek for reserverede ord

--
Jakob Andersen



Tommy (15-01-2003)
Kommentar
Fra : Tommy


Dato : 15-01-03 20:01


Jacob

Tusind tak for hjælpen , nu køre det !

Tommy



Jakob Andersen (15-01-2003)
Kommentar
Fra : Jakob Andersen


Dato : 15-01-03 22:45

"Tommy" <info@manniken.dk> wrote
> Tusind tak for hjælpen , nu køre det !

Det var så lidt, må vi se det i aktion?

--
Jakob Andersen




Søg
Reklame
Statistik
Spørgsmål : 177503
Tips : 31968
Nyheder : 719565
Indlæg : 6408540
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste