Avatar billede tyler.d Nybegynder
07. december 2002 - 21:12 Der er 21 kommentarer og
1 løsning

Meget simpel shoutbox

Hejsa allesammen... I må bare hjælpe mig!
Jeg har styr på HTML, men ASP er jeg først lige begyndt på. Hvilket ikke er så godt da jeg står og mangler en meget simpel ASP Shoutbox... det er vigtigt! Kig f. eks på denne her http://www.kasp.dk/build/system/default.asp

Den skal helst være præcis ligesom den... altså bare et felt til ens navn, besked og selvfølgelig beskederne!
Avatar billede musicchart.dk Nybegynder
07. december 2002 - 21:20 #1
www.mypage.dk --> artikler --> tagwall
Avatar billede tyler.d Nybegynder
07. december 2002 - 21:23 #2
linket til download er dødt!
Avatar billede eagleeye Praktikant
07. december 2002 - 21:33 #3
HVis du laver en database som indeholder en tabel som hedder beskeder med 3 kolonner:
ID : autonummer
navn : tekst
besked : tekst


Så kan du du prøve kode.:

<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.RecordSet")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath("db5.mdb")

if Request.ServerVariables ("REQUEST_METHOD") = "POST" then
  navn = replace(Request.Form("navn"),"'","''")
  shout = replace(Request.Form("shout"),"'","''")
  strSQL = "insert into beskeder (navn, besked)"
  strSQL = strSQL & " values ("
  strSQL = strSQL & "'" & navn & "', "
  strSQL = strSQL & "'" & shout & "')"
  Conn.Execute (strSQL)
end if

SQL = "SELECT TOP 10 navn, besked FROM beskeder ORDER BY ID DESC"
set rs = conn.Execute(SQL)

Response.Write "<table>"
do while not rs.EOF
  Response.Write "<tr><td><b>Navn:</b><td></tr>"
  Response.Write "<tr><td>" &rs("Navn") & "<td></tr>"
  Response.Write "<tr><td>" & rs("besked") & "<td></tr>"
  rs.MoveNext
loop
Response.Write "</table>"
Conn.Close
%>

<TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="0">
<form method="post" action="" id=form1 name=form1>
<tr><td>
<INPUT TYPE="TEXT" SIZE="30" NAME="shout" VALUE="Shout" MAXLENGTH="25">
</td></tr>
<TR><td>
<INPUT TYPE="text" NAME="navn" SIZE="20" VALUE="Navn" MAXLENGTH="25">
</TD></tr>
<tr><td>
<INPUT TYPE="submit" VALUE="Shout" NAME="submit">
</TD></TR></TABLE>
</form>

</BODY>
</HTML>


Jeg kan så skrive det modsatte, HTML delen har jeg ikke så meget styr på men jeg kan hjælpe med ASP koden.
Avatar billede tyler.d Nybegynder
07. december 2002 - 22:05 #4
Jeg har ikke så meget styr på ASP, så du må være lidt mere pædagoisk... hvis du altså har tid...

Jeg har oprettet databasen... (hvad skal den egentlig hedde?) Men hva så nu... er det bare det? Eller hvad... som sagt har jeg ikke en meter forstand på ASP... Please hjælp... der er jo 200 point på spil!
Avatar billede eagleeye Praktikant
07. december 2002 - 22:10 #5
Databasen kalder du et eller andet. Den connecter man til i denne linie:

Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath("db5.mdb")

Her hedder databasen db5.mdb og den ligger sammen med ASP filen.


Vil du havde klommentere koden eller hvad mener du?
Avatar billede tyler.d Nybegynder
07. december 2002 - 22:14 #6
Jeg mener, er det her alt hvad man skal bruge? En ASP side med den kode og databasen...
Avatar billede tyler.d Nybegynder
07. december 2002 - 22:19 #7
Skal man ikke også bruge noget kode som henter oplysninger (shouts) fra databasen... Jeg spørger dumt, da jeg er dum på dette område
Avatar billede eagleeye Praktikant
07. december 2002 - 22:22 #8
Ja jeg kan lige kommentere koden


<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<%
'Definere connecion object og recordset
Set Conn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.RecordSet")
'Åbner en connection til databasen
'Her hedder database file db5.mdb
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath("db5.mdb")

'Tjekker om der er send data til siden fra formen længere nede på siden
'hvis der er det så gem navn og besked i databasen
if Request.ServerVariables ("REQUEST_METHOD") = "POST" then
  'Hendter navn fra formen med Request.Form("navn")
  'Grunden til replace omkring er for at lave en ' om til to '' så der ikke kommer SQL fejl
  navn = replace(Request.Form("navn"),"'","''")
  'beskeden hendtes fra formen
  shout = replace(Request.Form("shout"),"'","''")
  'Laven en SQL sætning som indsætte data i de to kolonner navn og besked som er udsfyldt.
  strSQL = "insert into beskeder (navn, besked)"
  strSQL = strSQL & " values ("
  strSQL = strSQL & "'" & navn & "', "
  strSQL = strSQL & "'" & shout & "')"
  'Denne linie udføre SQL sætningen og dermed gemmes data i databasen
  Conn.Execute (strSQL)
end if

'Hendter de sidste 10 indskrevne beskeder
SQL = "SELECT TOP 10 navn, besked FROM beskeder ORDER BY ID DESC"
'Denne ligger data fra databasen ind i et recordset.
set rs = conn.Execute(SQL)

'Start på at udskrive de seneste 10
%>
<table>
<%
'Lav en løkke som udksriver data fra recordsetet
do while not rs.EOF
  'Udskriver en kolonne der står Navn: i 
  Response.Write "<tr><td><b>Navn:</b><td></tr>"
  'Udskriver en kolonne med navnet fra posten
  Response.Write "<tr><td>" &rs("Navn") & "<td></tr>"
  'Udskriver en kolonne med beskeden fra posten
  Response.Write "<tr><td>" & rs("besked") & "<td></tr>"
  'Flytter til næste post i databasen
  rs.MoveNext
loop
%>
</table>
<% 'Lukker for connection til databasen
Conn.Close
%>

<% 'formen laves her %>
<TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="0">
<form method="post" action="" id=form1 name=form1>
<tr><td>
<INPUT TYPE="TEXT" SIZE="30" NAME="shout" VALUE="Shout" MAXLENGTH="25">
</td></tr>
<TR><td>
<INPUT TYPE="text" NAME="navn" SIZE="20" VALUE="Navn" MAXLENGTH="25">
</TD></tr>
<tr><td>
<INPUT TYPE="submit" VALUE="Shout" NAME="submit">
</TD></TR></TABLE>
</form>

</BODY>
</HTML>
Avatar billede tyler.d Nybegynder
07. december 2002 - 22:32 #9
hhmmm... kan simpelthen ikke få det til at fungere
Avatar billede tyler.d Nybegynder
07. december 2002 - 22:34 #10
Kan man ikke lave det med Microsoft Access Driver
Avatar billede eagleeye Praktikant
07. december 2002 - 22:35 #11
Ok.. vil du uddybe ikke fungere???
Får du en fejl, blank side, eller...
Avatar billede eagleeye Praktikant
07. december 2002 - 22:36 #12
Jo det kan man, så skal du lave denne linie:

Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath("db5.mdb")

Om til

Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& server.mappath("db5.mdb")
Avatar billede tyler.d Nybegynder
07. december 2002 - 22:47 #13
det virker bare ikke... Ved ikke hvad der går galt?
Avatar billede eagleeye Praktikant
07. december 2002 - 22:49 #14
Er det din egen server eller et web-hotel?

Får du ikke en fejl kode?
Avatar billede tyler.d Nybegynder
07. december 2002 - 22:51 #15
et web-hotel med ASP...

Der står bare at siden ikke kan åbnes... blah blah... HTTP 500 - Intern serverfejl
Avatar billede eagleeye Praktikant
07. december 2002 - 22:55 #16
Hvem har du som udbyder?
Typisk hos et web-hotel har man en specel folder hvor databasen skal ligge i.

Prøv i IE at slå denne fra
funktioner -> internetindstillinger -> avanceret -> fjern kryds i "ved meddelelse om uskadelige http-fejl"
Avatar billede eagleeye Praktikant
07. december 2002 - 22:55 #17
Så du få en bedre fejl kode.
Avatar billede tyler.d Nybegynder
07. december 2002 - 23:04 #18
Så får jeg denne... 

Microsoft OLE DB Provider for ODBC Drivers error '80040e37'

[Microsoft][ODBC Microsoft Access Driver] The Microsoft Jet database engine cannot find the input table or query 'beskeder'. Make sure it exists and that its name is spelled correctly.

/shoutbox/shout.asp, line 34
Avatar billede tyler.d Nybegynder
07. december 2002 - 23:06 #19
Har fikset det... du får en masse dejlige point
Avatar billede eagleeye Praktikant
07. december 2002 - 23:07 #20
Så kan den da finde databasen filen hvor den ligger.

Det betyder den ikke kan finden tabellen : beskeder
i database filen. Hvad har du kaldt tabellen ?
Avatar billede tyler.d Nybegynder
07. december 2002 - 23:08 #21
Mange mange mange mange tak!!!! Det var sgu dejligt... så skal jeg bare lige gøre den NICE! Huskede jeg at sige TAK!!!
Avatar billede eagleeye Praktikant
07. december 2002 - 23:08 #22
Ok :) magne tak
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