Avatar billede webbygger Nybegynder
20. januar 2005 - 19:46 Der er 29 kommentarer og
1 løsning

Request.querystring problem !

Hej !

Jeg har fundet en fejl i min kode, der skal tilføjes
rs("kategori"), men uanset hvad jeg gør virker det ikke :o((


Her ser du den linie jeg har problemer med :

response.redirect "poptop.asp?rid="&request.querystring("rid")& "&t=" & rs("kategori")
Avatar billede Jman Praktikant
20. januar 2005 - 21:12 #1
har du lukket din conection ?
Du bliver nok nødt til at diske op med lidt mere kode ...
Avatar billede webbygger Nybegynder
20. januar 2005 - 21:15 #2
Her ser har du lidt mere :

<%' HER ER FORMSIDEN
DBPATH = "DBQ=" & Server.MapPath("jerg.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open DBPATH

If Request.QueryString("mode") = "new" Then
    navn = Request.Form("navn")
    besked1 = Request.Form("besked")
    besked1 = Replace(besked1, "'", "''")
    besked1 = Replace(besked1, vbCrLf, "xbr")
    besked = besked1
    kategori=request.querystring("rid")
    If navn="" Or besked="" then
        Response.Write "<b>Du skal udfylde alle felter!</b>"
    Else
       
        strSQL="INSERT INTO kommen (kommennavn,besked,kategori,kommendato) VALUES('" & navn & "','" & besked & "'," & kategori & ",'" & day(now) & "-" & month(now) & "-" & year(now)  & "' )"
        Conn.Execute(strSQL)

'og så lige lidt orden, måske ;)
conn.close
set conn=nothing

'og SÅ:
response.redirect "poptop.asp?rid="&request.querystring("rid")& "&t=" & rs("kategori")
   
    End If
End If

Set Conn = Nothing
%>
Avatar billede Jman Praktikant
20. januar 2005 - 21:19 #3
Du har lukket din connection, så derfor kan du ikke hente et RecordSet ind..
Avatar billede Jman Praktikant
20. januar 2005 - 21:20 #4
I det hele taget .. hvor er din forbindelse, så du kan lave en rs("kategori") ??
Avatar billede webbygger Nybegynder
20. januar 2005 - 21:24 #5
superior -> Nu har jeg ikke så meget check på koderne, men det her virkede fint nok:  response.redirect "poptop.asp?rid="&request.querystring("rid")& "&t=butik"


Jeg skulle gerne  bruge rs("kategori") i Url, kan det lade sig gøre ???
Avatar billede webbygger Nybegynder
20. januar 2005 - 21:25 #6
Skal jeg lige smide hele siden ind?
Avatar billede Jman Praktikant
20. januar 2005 - 21:26 #7
det kan sagtens fungere .. men hvis din rs("kategori") er tom, kommer der jo intet med.. præv at smide hele siden ind
Avatar billede webbygger Nybegynder
20. januar 2005 - 21:27 #8
Det må jeg heller gøre ;o)

<%
dim mode,  id
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("jerg.mdb")
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strDSN

    id = Request("rid")
%>
<html>
<head>
<title></title>
<style type="text/css">
<!--
.ramme {
    border: 1px solid #333333;
}
-->
</style>
<style type="text/css">
<!--
body {
    margin: 0px;
    padding: 0px;
}
-->
</style>
<style type="text/css">
<!--
a:link {
    font-weight: bold;
    color: #0000CC;
}
a:visited {
    font-weight: bold;
    color: #0000CC;
}
a:hover {
    font-weight: bold;
    text-decoration: none;
    color: #0000CC;
}
a:active {
    font-weight: bold;
    color: #0000CC;
}
-->
</style>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>
<body onload="parent.document.getElementById('indhold').style.height=((document.body.scrollHeight)?document.body.scrollHeight:document.body.offsetHeight)+'px'">
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("jerg.mdb")
strUpdate = "UPDATE anm SET visninger = visninger + 1 WHERE id = "& request.querystring("rid") &""
Conn.Execute(strUpdate)%>
<div align="center"> <font face="Courier New, Courier, mono" size="2"> </font></div>
<font face="Courier New, Courier, mono" size="2"><o:p></o:p><o:p></o:p> </font>
<tr>
  <td valign="top" >
          <%    strSQL = "SELECT * From anm where id = " & id
    Set rs = myConn.Execute(strSQL)
%>
      </font></p>
   
   
<table width="80%" border="0" align="center" valign="top" cellpadding="4" cellspacing="4">
      <tr>
        <td height="6"> <div align="center">
            <h3><font color="#0000CC"><%=rs("kategori")%></font></h3>
            <br>
          </div></td>
      </tr>
      <tr>
        <td height="6" bordercolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td><a href="java script:history.go(-1)">&lt; Tilbage</a></td>
              <td><div align="center"> </div></td>
              <td><div align="right"><a href="/anmeldelse/anmeldelse.asp">&lt;&lt;
                  Index</a></div></td>
            </tr>
          </table></td>
      </tr>
      <tr>
        <td height="16" bordercolor="#000000" bgcolor="#E4E4E4" class="ramme">
          <div align="left">
            <%
       
'Så kan du checke om "t" er "butik" eller "grej":

dim t
t = LCase(request.querystring("t"))

' LCase betyder at den skal check småbogstaver, da der er forskel på butik, buTIK, BUtik, osv..

Select Case t
case "grejbutik"
' udfør kode der har med "butik" at gøre
response.write "<div align='left'>"

response.write"<table width=100% border=0 bgcolor=#E4E4E4 cellpadding=8 >"

    response.write"<tr>"
    response.write"<td>"
    response.write"<b>  </b>"
    response.write"</td>"
   
    response.write"<td>"
    response.write " "
    response.write"</td>"
   
    response.write"<td >"
    response.write "<font size=2>" & "læst:" & "&nbsp;" & rs("visninger") & " </font> "
    response.write"</td>"
   
    response.write"<tr>"
    response.write"<td>"
    response.write"<b> Indsendt af:</b>"
    response.write"</td>"
   
   
    response.write"<td>"
    response.write rs("navn") & "&nbsp;&nbsp;" & rs("dato")
    response.write"</td>"
   
    response.write"<tr>"
    response.write"<td>"
    response.write"<b>  Butik:</b>"
    response.write"</td>"
   
    response.write"<td>"
    response.write rs("butik")
    response.write"</td>"
   
    response.write"<tr>"
    response.write"<td>"
    response.write"<b> By:</b>"
    response.write"</td>"
   
    response.write"<td>"
    response.write rs("by")
    response.write"</td>"
   
    response.write"<tr>"
    response.write"<td>"
    response.write"<b>  Hjemmeside:</b>"
    response.write"</td>"
   
    response.write"<td>"
    Response.write "<a href=" & rs("url") & ">Besøg siden</a>"
    response.write"</td>"
   
    response.write"<tr>"
    response.write"<td>"
    response.write"<b> Faglig ekspertise:</b>"
    response.write"</td>"
   
    response.write"<td>"
    for i = 1 to CInt(rs("faglig"))
                                                    response.write "<img src=""orange.gif"">"
                                                    next
    response.write"</td>"
   
    response.write"<tr>"
    response.write"<td>"
    response.write"<b> Kundeservice:</b>"
    response.write"</td>"
   
    response.write"<td>"
    for i = 1 to CInt(rs("kunde"))
                                                    response.write "<img src=""orange.gif"">"
                                                    next
    response.write"</td>"
   
    response.write"<tr>"
    response.write"<td>"
    response.write"<b> Udvalg:</b>"
    response.write"</td>"
   
    response.write"<td>"
    for i = 1 to CInt(rs("udvalg"))
                                                    response.write "<img src=""orange.gif"">"
                                                    next
    response.write"</td>"
       
       
    response.write"<tr>"
    response.write"<td valign=top>"
    response.write"<b> Bemærkning:</b>"
    response.write"</td>"
   
    response.write"<td>"
    response.write  Replace(rs("beskrivelse"),vbCrLf,"<br>")
    response.write"</td>"
   
   
 

response.write "</table>"
response.write "</div>"



case else
' udfør kode der har med "butik" at gøre
response.write "<div align='left'>"
response.write"<table width=80% border=0 bgcolor=#E4E4E4 cellpadding=8 >"

    response.write"<tr>"
    response.write"<td>"
    response.write"<b>  </b>"
    response.write"</td>"
   
    response.write"<td>"
    response.write " "
    response.write"</td>"
   
    response.write"<td>"
    response.write "<font size=2>" & "læst:" & "&nbsp;" & rs("visninger") & " </font> "
    response.write"</td>"
   
    response.write"<tr>"
    response.write"<td>"
    response.write"<b>  Produkt:</b>"
    response.write"</td>"
   
    response.write"<td>"
    response.write rs("produkt")
    response.write"</td>"
   
   
    response.write"<tr>"
    response.write"<td>"
    response.write"<b> Indsendt af:</b>"
    response.write"</td>"
   
    response.write"<td>"
    response.write rs("navn") & "&nbsp;&nbsp;" & rs("dato")
    response.write"</td>"
   
    response.write"<tr>"
    response.write"<td>"
    response.write"<b> Anslået antal ture:</b>"
    response.write"</td>"
   
    response.write"<td>"
    response.write rs("ture")
    response.write"</td>"
   
    response.write"<tr>"
    response.write"<td>"
    response.write"<b> Karakter:</b>"
    response.write"</td>"
   
    response.write"<td>"
    for i = 1 to CInt(rs("karakter"))
                                                    response.write "<img src=""orange.gif"">"
                                                    next
    response.write"</td>"
   
    response.write"<tr>"
    response.write"<td valign=top>"
    response.write"<b> Bedømmelse:</b>"
    response.write"</td>"
   
    response.write"<td>"
    response.write  Replace(rs("beskrivelse"),vbCrLf,"<br>")
    response.write"</td>"
   
    response.write"<tr>"
    response.write"<td>"
    response.write"<b> Pris:</b>"
    response.write"</td>"
   
    response.write"<td>"
    response.write rs("pris")
    response.write"</td>"
   
    response.write"<tr>"
    response.write"<td>"
    response.write"<b> </b>"
    response.write"</td>"
   
    response.write"<td>"
    billed_url = rs("url")
                  if billed_url<>"" then
                    Response.write "<br>" & "<br>" & "<img src='" & billed_url & "'"
                      end if
                       
    response.write"</td>"
   
   
 

response.write "</table>"
response.write "</div>"




end select

%>
          </div></td>
      </tr>
    </table>
   
    <div align="center"><br>
     
<table width="80%" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
          <td> <p align="center"><strong>Kommentar :</strong></p>
            <p>
              <%' HER ER VISNING SIDEN
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("jerg.mdb")
strSQL = "Select * from kommen where kategori="&request.querystring("rid")

set rs = Conn.execute(strSQL)

if rs.EOF then
Response.write ""
else
Do Until rs.EOF
%>
              <b>Dato:</b> <%=RS("kommendato")%><br>
              <b>Indsendt af:</b> <%=RS("kommennavn")%><br>
              <b>Kommentar:</b> <%=RS("besked")%><br></p>
              </p>
            <hr align="left">
          <div align="left"><br>
            <%RS.MoveNext
Loop
end if

Conn.Close
Set Conn = Nothing%>
          </div></td>
      </tr>
      <tr>
     

      <td>
    <form action="poptop.asp?mode=new&rid=<%=request.querystring("rid")%>" method="post">

       
            <p>Tilf&oslash;j en kommentar : </p>
            <p><b>Navn:</b><br>
              <input type='text' name='navn' size='25'>
              <br>
              <b>Kommentar:</b><br>
              <textarea cols="37" rows="6" name="besked"></textarea>
              <br>
              <br>
              <input type="submit" value="Tilføj">
            </p>
          </form>



<%' HER ER FORMSIDEN
DBPATH = "DBQ=" & Server.MapPath("jerg.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open DBPATH

If Request.QueryString("mode") = "new" Then
    navn = Request.Form("navn")
    besked1 = Request.Form("besked")
    besked1 = Replace(besked1, "'", "''")
    besked1 = Replace(besked1, vbCrLf, "xbr")
    besked = besked1
    kategori=request.querystring("rid")
    If navn="" Or besked="" then
        Response.Write "<b>Du skal udfylde alle felter!</b>"
    Else
       
        strSQL="INSERT INTO kommen (kommennavn,besked,kategori,kommendato) VALUES('" & navn & "','" & besked & "'," & kategori & ",'" & day(now) & "-" & month(now) & "-" & year(now)  & "' )"
        Conn.Execute(strSQL)

'og så lige lidt orden, måske ;)
conn.close
set conn=nothing

'og SÅ:
response.redirect "poptop.asp?rid="&request.querystring("rid")& "&t=" & rs("kategori")
   
    End If
End If

Set Conn = Nothing
%>
</td>
        </tr>
      </table>
     
    </div>

        </td>
      </tr>
   
    </table>



</body>
</html>
Avatar billede webbygger Nybegynder
20. januar 2005 - 21:32 #9
Den skulle gerne ikke være tom...du kan se mit problem her http://www.lystfiskerens.net/anmeldelse.asp og prøv at indtast en kommentar i under linket TruttaShop
Avatar billede Jman Praktikant
20. januar 2005 - 21:33 #10
Prøv at definere variablen oppe hvor du henter info fra databasen:

            <%' HER ER VISNING SIDEN
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("jerg.mdb")
strSQL = "Select * from kommen where kategori="&request.querystring("rid")

set rs = Conn.execute(strSQL)

if rs.EOF then
Response.write ""
else
Do Until rs.EOF
dim kategori
kategori = rs("kategori")
%>

'og SÅ:
response.redirect "poptop.asp?rid="&request.querystring("rid")& "&t=" & kategori
Avatar billede Jman Praktikant
20. januar 2005 - 21:33 #11
Hvis kategori IKKE er et talfelt , så skal den hedde
response.redirect "poptop.asp?rid="&request.querystring("rid")& "&t='" & kategori & "'"
Avatar billede webbygger Nybegynder
20. januar 2005 - 21:39 #12
Hmm den viderestiller ikke til den rigtig side ???
Avatar billede Jman Praktikant
20. januar 2005 - 21:43 #13
http://www.lystfiskerens.net/anmeldelse/poptop.asp?rid=14&t=Grejbutik

ovenstående er siden som jeg har indtastet en kommentar i..
Så er t altså ikke et talfelt.. Har du da prøvet den nederste redirect jeg skrev ?
Avatar billede Jman Praktikant
20. januar 2005 - 21:45 #14
Jeg kan se at den redirecter til http://www.lystfiskerens.net/anmeldelse/poptop.asp?rid=14&t='14'
- hvor skulle den have være henne?
Avatar billede webbygger Nybegynder
20. januar 2005 - 21:50 #15
ARG !/?¤~~

For hulens da, rs("kategori") skal hentes fra en anden tabel som hedder anm, kan det lade sig gøre ?
Avatar billede Jman Praktikant
20. januar 2005 - 21:53 #16
så skal du til at lave en inner join.. det er lidt mere beværligt, når jeg ikke ved om du har forbundet tabellerne med et ID eller noget..
Avatar billede webbygger Nybegynder
20. januar 2005 - 21:59 #17
Jo de er forbundet med ID

"tabel amn" ID er lige med kategori i "tabel kommen"

Jeg ved godt det er et langt spørgsmål, men her har jeg fået hjælp join http://eksperten.dk/spm/581432
Avatar billede Jman Praktikant
20. januar 2005 - 22:07 #18
kan du lige svare mig.. hvor skal den redirectes hen ?
det kan jo være du har informationerne allerede
Avatar billede webbygger Nybegynder
20. januar 2005 - 22:10 #19
På den siden(poptop.asp) man allerede er på - den med formularet eksembelvis denne http://www.lystfiskerens.net/anmeldelse/poptop.asp?rid=14&t=Grejbutik
Avatar billede Jman Praktikant
20. januar 2005 - 22:13 #20
Så har du jo dine vriabler allerede...

response.redirect "poptop.asp?rid="&request.querystring("rid")& "&t=" & request("t")
Avatar billede webbygger Nybegynder
20. januar 2005 - 22:17 #21
nope det er stadig den forkert side man kommer til !!!


Den rigtig side ser sådan ud http://www.lystfiskerens.net/anmeldelse/poptop.asp?rid=14&t=Grejbutik
Avatar billede Jman Praktikant
20. januar 2005 - 22:21 #22
aarh - du skal lig medføre "t" hele vejen.. så du skal også ændre din <form>

<form action="poptop.asp?mode=new&rid=<%=request.querystring("rid")&t=<%=request.querystring("t")%>" method="post">
Avatar billede webbygger Nybegynder
20. januar 2005 - 22:25 #23
HMm det vil den godt nok ikke æde....

Microsoft VBScript compilation error '800a0408'

Invalid character

/anmeldelse/poptop.asp, line 346

Response.Write(request.querystring("rid")&t=<%=request.querystring("t"))
---------------------------------------------^
Avatar billede Jman Praktikant
20. januar 2005 - 22:29 #24
hvad er nu det... det er jo noget response.write.. ????
Avatar billede Jman Praktikant
20. januar 2005 - 22:31 #25
hvis der er formen, så skal den lige rettes:

<form action="poptop.asp?mode=new&rid=<%=request.querystring("rid")%>&t=<%=request.querystring("t")%>" method="post">
Avatar billede webbygger Nybegynder
20. januar 2005 - 22:32 #26
Ja det sidder jeg også og kikker på .....
er det ikke den der sidder lidt højer oppe i koden:

<%' HER ER VISNING SIDEN
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("jerg.mdb")
strSQL = "Select * from kommen where kategori="&request.querystring("rid")

set rs = Conn.execute(strSQL)

if rs.EOF then
>>>>>>>>>>>>>>>>>>>Response.write ""
else
Do Until rs.EOF
dim kategori
kategori = rs("kategori")
%>
              <b>Dato:</b> <%=RS("kommendato")%><br>
              <b>Indsendt af:</b> <%=RS("kommennavn")%><br>
              <b>Kommentar:</b> <%=RS("besked")%><br></p>
              </p>
            <hr align="left">
          <div align="left"><br>
            <%RS.MoveNext
Loop
end if

Conn.Close
Set Conn = Nothing%>
          </div></td>
      </tr>
      <tr>
     

      <td>
<form action="poptop.asp?mode=new&rid=<%=request.querystring("rid")&t=<%=request.querystring("t")%>" method="post">
Avatar billede webbygger Nybegynder
20. januar 2005 - 22:35 #27
UPSsssssss det virker !!!
Avatar billede Jman Praktikant
20. januar 2005 - 22:39 #28
cool!
Avatar billede webbygger Nybegynder
20. januar 2005 - 22:41 #29
Ja det er mig der skal sig COOL - Tak for hjælpen ;o))
Avatar billede Jman Praktikant
20. januar 2005 - 23:01 #30
..var så lidt :O)
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