Avatar billede casm2000 Nybegynder
12. december 2000 - 23:17 Der er 16 kommentarer

utt...af min kiosk

hvad er der galt med denne kode?
Det er første gang at jeg prøver mig med asp, så dette ser umiddelbart rigtigt ud for mig.
Mit problem er at de data man indtaster i formularen bliver ikke skrevet i databasen.


<%
Response.Buffer = True

            Function FixQuotes( TheString )
            FixQuotes = Replace ( TheString, \"\'\", \"\'\'\" )
End Function

        Nyhed = Request( \"Nyhed\" )
        Forfatter = Request( \"Forfatter\" )
        Billede = Request( \"Billede\" )

Set Con = Server.CreateObject( \"ADODB.Connection\" )
DBPath = \"DBQ=\" & Server.MapPath( \"DB.mdb\" )
Con.Open \"Driver={Microsoft Access Driver (*.mdb)}; \" & DBPath

If Request.ServerVariables(\"Content_Lenght\") > 0 Then
Sql = \"INSERT INTO Casm2000 (Dato, Nyhed, Forfatter, Billede) VALUES(\'\" & Date() & \"\',\'\" & fixQuotes( Nyhed ) & \"\',\'\" &  fixQuotes( Forfatter ) & \"\',\'\" & FixQuotes( Billede ) &  \"\')\"
Con.Execute Sql

Response.Write \"Dine Data er nu blevet optaget i databasen\"

End If
%>

<HTML>
<HEAD>
<TITLE>
1
</TITLE>
</HEAD>

<BODY><BR><BR><BR>
<FORM action=\"content.asp\" method=\"POST\" target=\"_self\">
<p>
    <input type=\"text\" name=\"Forfatter\">
  </p>
  <p>
    <input type=\"file\" name=\"Billede\">
  </p>
  <p>
    <textarea name=\"Nyhed\" cols=\"50\" rows=\"1\"></textarea>
  </p>
  <p>
    <input type=\"submit\" name=\"Submit\" value=\"Submit\">
  </p>
</FORM>
</BODY>
</HTML>

Avatar billede kurtj Nybegynder
12. december 2000 - 23:21 #1
Du ser vist lige rigeligt med reklamer. Hvar ;)
Avatar billede stigc Nybegynder
12. december 2000 - 23:30 #2
hvad er fejlmeddelelsen? Hvis der er nogen!
Avatar billede casm2000 Nybegynder
12. december 2000 - 23:39 #3
Det er også  en del af problem...der nemlig ingen fejlmedelese det eneste man kan se fejlen på er  at databasen ikke indeholder noget af det man har indtastet.
komandoen.
Response.Write \"Dine Data er nu blevet optaget i databasen\"
bliver heller ikke udført.
Avatar billede chris Nybegynder
12. december 2000 - 23:44 #4
Udskift:
Nyhed = Request( \"Nyhed\" )
Forfatter = Request( \"Forfatter\" )
Billede = Request( \"Billede\" )

Med dette:

Nyhed = Request.form(\"Nyhed\")
Forfatter = Request.form(\"Forfatter\")
Billede = Request.form(\"Billede\")

Avatar billede stigc Nybegynder
12. december 2000 - 23:46 #5
problemet er at din

Request.ServerVariables(\"Content_Lenght\")

aldrig er større end nul!

Hvad bruger du den til?
Avatar billede stigc Nybegynder
12. december 2000 - 23:49 #6
Fjern den if sætning, og husk \"end if\"
Avatar billede easybob Nybegynder
12. december 2000 - 23:52 #7
Det ser også ud til at du får problemer med FixQuotes = Replace ( TheString, \"\'\", \"\'\'\" ) at der mangler en \'  i den første \"\'\"! Så det bliver

FixQuotes = Replace ( TheString, \"\'\'\", \"\'\'\" )

Avatar billede stigc Nybegynder
12. december 2000 - 23:55 #8
brug denne i stedet for:

<%

Function CleanString(n)

    n = Replace(n, \"\'\", \"´\")
    n = Replace(n, chr(34), \"´\")   
    CleanString = n

End function

%>

og brug den her, istedet for i din sql sætning:

Nyhed = CleanString(Request( \"Nyhed\" ) )
Forfatter = CleanString(Request( \"Forfatter\" ) )
Billede = CleanString(Request( \"Billede\" ) )


Avatar billede casm2000 Nybegynder
13. december 2000 - 00:17 #9
Jeg har prøvet alle overstående mulig heder men det virker stadig ikke??
Avatar billede casm2000 Nybegynder
13. december 2000 - 00:25 #10
min kode ser nu således ud:::

<%
Response.Buffer = True
%>
            <%

Function CleanString(n)

    n = Replace(n, \"\'\", \"´\")
    n = Replace(n, chr(34), \"´\")   
    CleanString = n

End Function
%>
<%
        Nyhed = CleanString(Request( \"Nyhed\" ) )
        Forfatter = CleanString(Request( \"Forfatter\" ) )
        Billede = CleanString(Request( \"Billede\" ) )


Set Con = Server.CreateObject( \"ADODB.Connection\" )
DBPath = \"DBQ=\" & Server.MapPath( \"DB.mdb\" )
Con.Open \"Driver={Microsoft Access Driver (*.mdb)}; \" & DBPath

Request.Servervariables(\"Content_Length\") > 0 THEN

Sql = \"INSERT INTO Casm2000 (Dato, Nyhed, Forfatter, Billede) VALUES(\'\" & Date() & \"\',\'\" & fixQuotes( Nyhed ) & \"\',\'\" &  fixQuotes( Forfatter ) & \"\',\'\" & FixQuotes( Billede ) &  \"\')\"
Con.Execute Sql

Response.Write \"Dine Data er nu blevet optaget i databasen\"

End If
%>

<HTML>
<HEAD>
<TITLE>
1
</TITLE>
</HEAD>

<BODY><BR><BR><BR>
<FORM action=\"content.asp\" method=\"POST\" target=\"_self\">
<p>
    <input type=\"text\" name=\"Forfatter\">
  </p>
  <p>
    <input type=\"file\" name=\"Billede\">
  </p>
  <p>
    <textarea name=\"Nyhed\" cols=\"50\" rows=\"1\"></textarea>
  </p>
  <p>
    <input type=\"submit\" name=\"Submit\" value=\"Submit\">
  </p>
</FORM>
</BODY>
</HTML>

Og viser nu denne fejl...

Der opstod en Microsoft VBScript-kompileringsfejl fejl \'800a0401\'

Slut på sætning var ventet

/news_1.2/mit/content.asp, linje 24

Request.Servervariables(\"Content_Length\") > 0 THEN
----------------------------------------------^
Avatar billede stigc Nybegynder
13. december 2000 - 00:45 #11
prøv:


<%
Response.Buffer = True
%>
            <%

Function CleanString(n)

    n = Replace(n, \"\'\", \"´\")
    n = Replace(n, chr(34), \"´\")   
    CleanString = n

End Function
%>
<%
        Nyhed = CleanString(Request( \"Nyhed\" ) )
        Forfatter = CleanString(Request( \"Forfatter\" ) )
        Billede = CleanString(Request( \"Billede\" ) )


Set Con = Server.CreateObject( \"ADODB.Connection\" )
DBPath = \"DBQ=\" & Server.MapPath( \"DB.mdb\" )
Con.Open \"Driver={Microsoft Access Driver (*.mdb)}; \" & DBPath

Sql = \"INSERT INTO Casm2000 (Dato, Nyhed, Forfatter, Billede) VALUES(\'\" & Date() & \"\',\'\" &  Nyhed  & \"\',\'\" &  Forfatter  & \"\',\'\" &  Billede & \"\')\"

Con.Execute Sql

Response.Write \"Dine Data er nu blevet optaget i databasen\"

End If
%>

<HTML>
<HEAD>
<TITLE>
1
</TITLE>
</HEAD>

<BODY><BR><BR><BR>
<FORM action=\"content.asp\" method=\"POST\" target=\"_self\">
<p>
    <input type=\"text\" name=\"Forfatter\">
  </p>
  <p>
    <input type=\"file\" name=\"Billede\">
  </p>
  <p>
    <textarea name=\"Nyhed\" cols=\"50\" rows=\"1\"></textarea>
  </p>
  <p>
    <input type=\"submit\" name=\"Submit\" value=\"Submit\">
  </p>
</FORM>
</BODY>
</HTML>

Avatar billede chris Nybegynder
13. december 2000 - 00:47 #12
Du mangler et IF

sådan her:
if
Request.Servervariables(\"Content_Length\") > 0 THEN


Avatar billede chris Nybegynder
13. december 2000 - 00:50 #13
du hiver ikke fat i din form nogle steder...

erstat:
Nyhed = CleanString(Request( \"Nyhed\" ) )
        Forfatter = CleanString(Request( \"Forfatter\" ) )
        Billede = CleanString(Request( \"Billede\" ) )

med:
Nyhed = CleanString(Request.form( \"Nyhed\" ) )
        Forfatter = CleanString(Request.form( \"Forfatter\" ) )
        Billede = CleanString(Request.form( \"Billede\" ) )
Avatar billede stigc Nybegynder
13. december 2000 - 00:51 #14
du skal ikke have:

if
Request.Servervariables(\"Content_Length\") > 0 THEN


med.



Det er defor det ikke virker! Copy&paste det jeg har skrevet to svar oppe!
Avatar billede stigc Nybegynder
13. december 2000 - 00:52 #15
man behøver ikke \"Request.form\"

request gør det også!
Avatar billede chris Nybegynder
13. december 2000 - 01:49 #16
casm2000:
se her hvordan man korrekt requester en form

http://help.activeserverpages.com/iishelp/iis/htm/asp/intr4fl9.htm
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