Avatar billede chrisrj Forsker
08. juli 2002 - 15:04 Der er 22 kommentarer og
1 løsning

update + form + url = problem

Jeg har en form der skal opdatere en tuble i db. men når jeg trykker opdater, opdatere den ikke og skriver en forkert url i adresse-linien?!?!?

Koden se sådan ud:

<%Dim ID,opslag

id=Request.QueryString("ID")

Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("/tennisklub/databaser/database.mdb")

if request.querystring("knap")<>"Ret" then

    SQLstringK="SELECT * FROM aktivitet WHERE id="&id
    SET opslag=Connection.Execute(SQLstringK)
else
   
    SQLstringK="UPDATE aktivitet SET navn='"&Request.QueryString("navn")&"',

overskrift='"&Request.QueryString("overskrift")&"', tekst='"&Request.QueryString("tekst")&"' WHERE id="&id
    Connection.Execute(SQLstringK)
    response.buffer=true
    response.clear
    response.redirect "oversigt.asp"
    response.end

end if
    %>

<head>
<title>Ret Aktivitets kalender</title>
<link rel="stylesheet" href="../styles.css" type="text/css">
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#006699" vlink="#006699" alink="#006699">
<p>&nbsp;
<table border="0" width="500" bgcolor="#ffffff" cellspacing="0s" cellpadding="0" align="center">
  <tr>
    <td width="100%" bgcolor="#FFFFFF" valign="top">
      <table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr bgcolor="#FFFFFF">
          <td width="100%">
        <font size="5">
            <b>
                <font face="Verdana, Arial, Helvetica, sans-serif">
                    Ret aktivitets kalender
                </font>
            </b>
        </font>
      </td>
          <td align="right" valign="bottom" nowrap width="50%">
            <div align="right"></div>
          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table border='0' cellspacing='0' cellpadding='0' width='500' align="center" height="19">
  <tr>
    <td width='0' valign='top' bgcolor='#ffffff'><img src="images/intet.gif" width='0'></td>
    <td width='500' valign='top' bgcolor='#ffffff'>
      <table width="100%" border="0" cellspacing="0" cellpadding="0" height="17">
        <tr>
          <td width="50%">
        <font face="Verdana, Arial, Helvetica, sans-serif">
            <b>
                <font size="2">
                    [
                    <a href="../portal.asp">
                                Forsiden
                    </a>
                    |
                    <a href="../aktivitetskalender.asp">
                        Vis Aktivitets kalender
                    </a>
                    |
                    <a href="portal.asp" target="_self">
                        Administrator forside
                    </a>
                    ]
                </font>
            </b>
        </font>
      </td>
        </tr>
      </table>
    </td>
   
  </tr>
</table>
<table border="0" width="500" bgcolor="#ffffff" cellspacing="1" cellpadding="0" align="center">
  <tr>
    <td bgcolor="#FFFFFF" valign="top" colspan="2">
      <div align="center"> <br>
        <%if not opslag.eof then %>
<form method="GET" action="portal.asp?page=ret.asp?<%=request.servervariables("SCRIPT_NAME")%>">
                   
          <table width="400" border="0" cellspacing="1" cellpadding="3" class="bottom" align="center" bgcolor="#f7f7f7">
            <tr>
              <td width="134"><font size="2" face="tahoma">Tilf&oslash;jet af<br>
                <input type="text" name="navn" maxlength="100" class="bottom" value="<%=OPSLAG("navn")%>">
                </font></td>
              <td width="251"><font size="2" face="tahoma">overskrift<span class="rot"><br>
                <input type="text" name="overskrift" maxlength="100" class="bottom" value="<%=OPSLAG("overskrift")%>">
                </span></font></td>
            </tr>
            <tr>
              <td colspan="2" height="167"><font size="2" face="tahoma"> Nyhed<span class="rot"><font color="#FFFFFF">
                </font></span></font><font color="#FF0000" face="tahoma" size="2"><br>
                </font> <font face="tahoma" size="2">
                <textarea name="tekst" cols="50" rows="8" class="bottom"><%=OPSLAG("tekst")%></textarea>
                </font></td>
            </tr>
            <tr>
              <td colspan="2" height="4">
                </span></font></td>
        </tr>
      </table>

<INPUT type="hidden" name="id" value="<%=opslag("id")%>">
              <input type="submit" value="Ret" name="knap">
</form>

<%end if%>
<br>   
  </div>
    </td>
  </tr>
</table>
</body>

Jeg indkredset problemet til denne linie:

<form method="GET" action="portal.asp?page=ret.asp?<%=request.servervariables("SCRIPT_NAME")%>">

Hvad er der galt?
Avatar billede avlund Nybegynder
08. juli 2002 - 15:06 #1
Prøv at lave en hidden med navnet "page" og værdien "ret.asp?<%=request.servervariables("SCRIPT_NAME")%>" i stedet for at skrive det direkte i form-tagget.
Avatar billede chrisrj Forsker
08. juli 2002 - 15:07 #2
øhhh :-)

Hvordan gør jeg det?
Avatar billede whatever Nybegynder
08. juli 2002 - 15:10 #3
Noget helt andet. Du burde ikke benytte GET i dit tilfælde. Der er noget med at browseren ikke kan håndtere mere end 255 tegn i querystringen.
Avatar billede chrisrj Forsker
08. juli 2002 - 15:11 #4
Og hvad skal det "andet" så være?

f.eks. "POST" ?
Avatar billede chrisrj Forsker
08. juli 2002 - 15:16 #5
Hvis jeg laver en "POST", skriver den den rigtige sti. Men tager ikke argumenterne med!!
Avatar billede whatever Nybegynder
08. juli 2002 - 15:20 #6
Hvilke argumenter tager den ikke med?
Avatar billede chrisrj Forsker
08. juli 2002 - 15:25 #7
før jeg rettede den, skrev den: http://localhost/tennisklub/admin/portal.asp?navn=gfdhrf&overskrift=tyeduted&tekst=ytefy&id=10


Portal.asp er filen der kalder ret.asp

nu skriver den bare:

http://localhost/tennisklub/admin/portal.asp
Avatar billede avlund Nybegynder
08. juli 2002 - 15:25 #8
Nej, det er klart. Med post bruger den ikke ?noget=værdi-strukturen.

Skriv flg.:

<input type="hidden" name="page" value="ret.asp?<%=request.servervariables("SCRIPT_NAME")%>">

Og i formen ændres action til "portal.asp" UDEN alt det efterfølgende.

Hvad angår længden på din querystring, står der følgende her:

http://mastercgi.com/howtoinfo/formtutorial.shtml

"The GET method can send only a limited amount of information. The limitation depends on the server where the current web page is on and the server where the information is sent to. The limitation can be as little as 256 bytes but is often 1k or more.

(...)

The POST method can send much more information than the typical GET method. Currently, most browsers and servers limit the amount of POST information to about 32k."
Avatar billede chrisrj Forsker
08. juli 2002 - 15:31 #9
Så skriver den:

http://localhost/tennisklub/admin/portal.asp?navn=gfdhrf&overskrift=tyeduted&tekst=ytefy&id=10&page=ret.asp%3F%2Ftennisklub%2Fadmin%2Fportal.asp&knap=Ret

dvs. alt det der står mellem "portal.asp" og "ret.asp" skal stå efter ret.asp og det der står mellem "ret.asp" og "&knap=Ret" skal IKKE med...

:-)
Avatar billede avlund Nybegynder
08. juli 2002 - 15:35 #10
Så prøv at fjerne den hidden-knap og lad din action stå som jeg foreslog. Hvad sker der så?
Avatar billede chrisrj Forsker
08. juli 2002 - 15:39 #11
Så går den helt amok!!!

Den loader alle mine menuer i en uendelig løkke!!!

Det var vist ikke meningen.. :-)
Avatar billede avlund Nybegynder
08. juli 2002 - 15:40 #12
OK...

så hvordan ser din form ud nu?
Avatar billede chrisrj Forsker
08. juli 2002 - 15:41 #13
<form method="POST" action="portal.asp">
                   
          <table width="400" border="0" cellspacing="1" cellpadding="3" class="bottom" align="center" bgcolor="#f7f7f7">
            <tr>
              <td width="134"><font size="2" face="tahoma">Tilf&oslash;jet af<br>
                <input type="text" name="navn" maxlength="100" class="bottom" value="<%=OPSLAG("navn")%>">
                </font></td>
              <td width="251"><font size="2" face="tahoma">overskrift<span class="rot"><br>
                <input type="text" name="overskrift" maxlength="100" class="bottom" value="<%=OPSLAG("overskrift")%>">
                </span></font></td>
            </tr>
            <tr>
              <td colspan="2" height="167"><font size="2" face="tahoma"> Nyhed<span class="rot"><font color="#FFFFFF">
                </font></span></font><font color="#FF0000" face="tahoma" size="2"><br>
                </font> <font face="tahoma" size="2">
                <textarea name="tekst" cols="50" rows="8" class="bottom"><%=OPSLAG("tekst")%></textarea>
                </font></td>
            </tr>
            <tr>
              <td colspan="2" height="4">
                </span></font></td>
        </tr>
      </table>

<INPUT type="hidden" name="id" value="<%=opslag("id")%>">
<INPUT type="hidden" name="side" value="<%=request.servervariables("SCRIPT_NAME")%>">
              <input type="submit" value="Ret" name="knap">
</form>
Avatar billede chrisrj Forsker
08. juli 2002 - 15:43 #14
Jeg bruger "page" til min portal.asp, hvis det har noget at sige...
Avatar billede avlund Nybegynder
08. juli 2002 - 15:44 #15
Men du har en hidden, der hedder side? Skulle den ikke hedde page?
Avatar billede chrisrj Forsker
08. juli 2002 - 15:47 #16
jo, men der gav den jo en uendelig løkke...

Sikkert fordi den loadede portal.asp i portal.asp ovs...
Og det skal den jo ikke.
Avatar billede avlund Nybegynder
08. juli 2002 - 16:15 #17
Hmm.

Kan du ikke sende filen til mig pr. email, så vil jeg rette i den derfra?

jacob@avlund.dk

Det tror jeg næsten er nemmere.
Avatar billede chrisrj Forsker
08. juli 2002 - 22:02 #18
email sendt...

Jeg beklager at jeg først har svaret nu, men jeg har ikke været hjemme..
Avatar billede avlund Nybegynder
09. juli 2002 - 17:23 #19
Det er helt OK.

Sig mig, har du overhovedet brug for den dér servervariabel?
Avatar billede chrisrj Forsker
09. juli 2002 - 21:02 #20
øhh.. nææ.. hvis du siger det, har jeg vel ikke...

Lyder det ikke som om jeg har helt vildt tjek på min kode?? ;-)

Har du fundet problemet??
Avatar billede chrisrj Forsker
11. juli 2002 - 01:53 #21
Hva'æh tygger du stadig på den eller hva'

Jeg ville bare gerne vide om jeg venter forgæves eller om det rent faktiskt kommer noget ud af det her?
Avatar billede chrisrj Forsker
21. juli 2002 - 01:41 #22
Jeg har selv klaret problemet....
Avatar billede avlund Nybegynder
21. juli 2002 - 18:06 #23
OK!

Har først læst dette her nu. Hvad var det der var galt?
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