Avatar billede kenpal Nybegynder
16. august 2001 - 10:45 Der er 21 kommentarer og
1 løsning

Akut databaseadgangsproblem!

Jeg kan simpelthen ikke få denne form til at lægge sig ind i databasen! Jeg har ikke brug for password eller andet - de indtastede oplysninger skal blot lægge sig ind uden nogen former for check!

Jeg bliver ved med at få denne fejl:

Response object error \'ASP 0156 : 80004005\'
Header Error

The HTTP headers are already written to the client browser. Any HTTP header modifications must be made before writing page content.

Hvis nogen vil rette scriptet - ville jeg blive lykkelig...  :-)

**********her kommer scriptet**********


<%
Response.Buffer = true
catnavn = Request(\"catnavn\")
adresse = Request(\"adresse\")
navn = Request(\"navn\")
alder = Request(\"alder\")
kon = Request(\"kon\")

Const adOpenKeyset = 1
Const adLockOptimistic = 3
Conn.Open \"PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"/log/users.mdb\") & \";UID=admin;PWD=;\"

    Set rs = Server.CreateObject(\"ADODB.RecordSet\")
    strSQL = \"Select * From denmark\"
    rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic%>
<% if Request.ServerVariables(\"REQUEST_METHOD\") = \"POST\" then       
               
                if catnavn = \"\" then
                    Response.Write(\"<span class=\'skrift\'><font color=\'#FF3300\'>Du skal vælge et catnavn<br></font></span>\")
                end if
               
               
                   
                    if catnavn <> \"\"  then
                    rs.AddNew
                    rs(\"catnavn\") = Request.form(\"catnavn\")
                      rs(\"adresse\") = Request.form(\"adresse\")
                      rs(\"navn\") = Request.form(\"navn\")
                      rs(\"alder\") = Request.form(\"alder\")
                      rs(\"kon\") = Request.form(\"kon\")
                      rs(\"email\") = Request.form(\"email\")
                      rs(\"telefon\") = Request.form(\"telefon\")
                      rs(\"website\") = Request.form(\"website\")
                      rs(\"om\") = Request.form(\"om\")
                      rs(\"hits\") = \"0\"
                    rs.update
                    Response.Redirect(\"adduser.asp\")
                    end if
                    end if %>
            <form method=\"post\" action=\"adduser.asp\" id=form name=form>
              <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
                <tr>
                  <td width=\"140\" valign=\"top\" class=\"skrift\">Topic:</td>
                  <td>
                    <input type=\"text\"        name=\"catnavn\"        value=\"\" maxlength=\"255\" class=\"bottom\" size=\"50\">
                  </td>
                </tr>
                <tr>
                  <td width=\"140\" valign=\"top\" class=\"skrift\">adresse:</td>
                  <td>
                    <input type=\"text\"    name=\"adresse\"        value=\"\" maxlength=\"255\" class=\"bottom\" size=\"50\">
                  </td>
                </tr>
                <tr>
                  <td width=\"140\" valign=\"top\" class=\"skrift\">navn:</td>
                  <td>
                    <input type=\"text\"        name=\"navn\" value=\"\" size=\"50\" maxlength=\"255\" class=\"bottom\">
                  </td>
                </tr>
                <tr>
                  <td width=\"140\" valign=\"top\" class=\"skrift\">text:</td>
                  <td>
                    <input type=\"text\"        name=\"alder\"  maxlength=\"255\" size=\"50\" class=\"bottom\">
                  </td>
                </tr>
                <tr>
                  <td width=\"140\" valign=\"top\" class=\"skrift\">Køn:</td>
                  <td>
                    <select name=\"kon\" class=\"bottom\" size=\"1\">
                      <option value=\"-\" selected>(Vælg)</option>
                      <option value=\"Mand\">Mand</option>
                      <option value=\"Kvinde\">Kvinde</option>
                    </select>
                  </td>
                </tr>
                <tr>
                  <td width=\"140\" valign=\"top\" class=\"skrift\">Email:</td>
                  <td>
                    <input type=\"text\"        name=\"email\"    value=\"\" size=\"50\" maxlength=\"255\" class=\"bottom\">
                  </td>
                </tr>
                <tr>
                  <td width=\"140\" valign=\"top\" class=\"skrift\">telefon:</td>
                  <td>
                    <input type=\"text\"        name=\"telefon\"        value=\"\" size=\"50\" maxlength=\"255\" class=\"bottom\">
                  </td>
                </tr>
                <tr>
                  <td width=\"140\" valign=\"top\" class=\"skrift\">Website:</td>
                  <td>
                    <input type=\"text\"        name=\"website\"        value=\"http://\" size=\"50\" maxlength=\"255\" class=\"bottom\">
                  </td>
                </tr>
                <tr>
                  <td width=\"140\" valign=\"top\" class=\"skrift\">Fritekst:</td>
                  <td>
                    <textarea name=\"om\" rows=\"8\" cols=\"100\" class=\"bottom\"></textarea>
                  </td>
                </tr>
                <tr>
                  <td width=\"110\" valign=\"top\">&nbsp;</td>
                  <td>
                    <input type=\"submit\" value=\"Registr&eacute;r\" class=\"bottom\">
                  </td>
                </tr>
              </table>
            </form>
          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<p>&nbsp;</p>
</body>
</html>
Avatar billede nil.dk Nybegynder
16. august 2001 - 10:48 #1
er det ikke fordi du slet ikke har angivet

<html>
<head></head>
??
Avatar billede slash Nybegynder
16. august 2001 - 10:48 #2
prøv at udkommentere din response.buffer=true
Avatar billede oswald Nybegynder
16. august 2001 - 10:50 #3
Problemet er sikkert din Response.Redirect(\"adduser.asp\"). Den må ikke bruges whis der er skrevet noget til browseren. Response.Buffer = true skulle kunne hjælpe, men jeg mener ikke altid den virker.
Avatar billede kenpal Nybegynder
16. august 2001 - 10:58 #4
Nil: jeg har bevidst ikke postet alt det der er før scriptudklippet, da det er alm. html inklusiv <head></head> etc...

slash: hvordan udkommentere?

oswald: skal jeg fjerne noget?
Avatar billede kenpal Nybegynder
16. august 2001 - 11:00 #5
NB! headerfejlen skulle ligge i linie 52 som er response.Buffer=true  ....hvis det kan hjælpe?
Avatar billede nil.dk Nybegynder
16. august 2001 - 11:00 #6
kenpal >> okay. Så tror jeg at oswald har fat i det rigtige..
Avatar billede slash Nybegynder
16. august 2001 - 11:01 #7
udkommentere = sæt \' foran din response.buffer = true
Avatar billede oswald Nybegynder
16. august 2001 - 11:02 #8
For det første så skal du skrive <%Response.buffer=true %> som det aller første på din asp side. Det næste du bør lave på siden er  alle tjeks som kan foresage et redirect. Derefter kan du begynde at skrive html kode.
Avatar billede oswald Nybegynder
16. august 2001 - 11:05 #9
Det er en dårlig ide at udkommenterer response.buffer = true da den faktisk betyder en preformance forbedring. Og hvis den er det første der står på siden giver den ikke problemer (Og med \'det første\' så mener jeg at det ikke engang må stå en mellemrum før).
Avatar billede harlequin Nybegynder
16. august 2001 - 11:14 #10
prøv at flytte Response.Buffer til den først linie på siden
Avatar billede kenpal Nybegynder
16. august 2001 - 11:14 #11
OK - det hjalp - nu kommer formen frem...fremskridt - men data lagres ikke i databsen?  Skal jeg poste hele scripet?
Avatar billede oswald Nybegynder
16. august 2001 - 11:16 #12
Kommer den med en database fejl, eller gemmer den bare ikke.
Avatar billede oswald Nybegynder
16. august 2001 - 11:20 #13
Måske er problemer at \'if Request.ServerVariables(\"REQUEST_METHOD\") = \"POST\" then\' er afsluttet med en \'End if\' før du udskriver din Form. Måske skulle du lave den om til en \'else\' og lave din \'End if\' efter formen.
Som den er lavet nu får du altid formen medmindre du redirecter
Avatar billede oswald Nybegynder
16. august 2001 - 11:23 #14
Ved nærmere eftertanke, opload scriptet, så vi ved at vi snakker om det samme. Jeg kunne godt have en mistanke om at du redirecter før du gemmer.
Avatar billede kenpal Nybegynder
16. august 2001 - 11:26 #15
Det hele virker nu - Takker Oswald - du har reddet min dag
Avatar billede oswald Nybegynder
16. august 2001 - 11:28 #16
Velbekomme. Skulle det være en anden gang. ;)
Avatar billede kenpal Nybegynder
16. august 2001 - 11:36 #17
Måske een af Jer lige vil hjælpe med et lille spørgsmål på sidenlinien (uden points..)

Når jeg indsætter tekst i formfeltet \"om\" (som er et memo-felt i databasen), så virker min return tast ikke - hvilket vil sige at al tekst står i een lang smøre - hvordan laver man linieskift? Skal man slå noget til/fra i accessdatabasen?

Altså på samme vis som når man skriver noget her i ekspertens kommentarfelt - så kan man lave linieskift
Avatar billede oswald Nybegynder
16. august 2001 - 11:38 #18
Hvis du udskriver teksten som HTML så skal du kører en Replace(OmText,chr(13),\"<br>\"). Det kan være det.
Avatar billede kenpal Nybegynder
16. august 2001 - 11:42 #19
Hvordan gør jeg det ?  - undskyld - jeg er en abe til det her :-)
Avatar billede kenpal Nybegynder
16. august 2001 - 11:44 #20
Sådan ser min kode ud i visningsscriptet:

<tr>
                      <td class=\"skrift\">Fritekst: <font color=\"#0066CC\"> </font></td>
                      <td class=\"skrift\"><font color=\"#0066CC\">
                        <% If rs(\"om\") & \"\" = \"\" then %>
                        <% response.write(\"-\") %>
                        <% Else %>
                        <% = rs(\"om\") %>
                        <% end if %>
                        </font></td>
                    </tr>
Avatar billede oswald Nybegynder
16. august 2001 - 11:46 #21
Der hvor du skriver Response.write rs(\"om\") (Eller <%= rs(\"om\")%>) skriver du istedet Replace(rs(\"om\"),chr(13),\"<br>\") eller alternativt server.htmlencode rs(\"om\")(Det mener jeg den hedder).
Avatar billede kenpal Nybegynder
16. august 2001 - 11:56 #22
Det virkede også - 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