Avatar billede -sofus- Nybegynder
20. oktober 2001 - 18:29 Der er 25 kommentarer og
1 løsning

Request.QueryString

Har nu sidder med det her problem i lang tid og har også spurgt herinde tidligere,,, jeg skal lave en Request.QueryString.

min source so far:

<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"db/db.mdb\")
strSQL = \"select * from tabel where navn=\'\" & Request.QueryString(\"navn\") & \"\')\"
set rs = Conn.execute(strSQL)

if rs.EOF then
Response.write \"\"
else
Do Until rs.EOF
%>
Avatar billede food4u.dk Nybegynder
20. oktober 2001 - 18:30 #1
Hmm, hvad skal den \"Request.QueryString\" GØRE?
Avatar billede food4u.dk Nybegynder
20. oktober 2001 - 18:31 #2
Oh sorry

Hvad er der galt med den du har?
Avatar billede -sofus- Nybegynder
20. oktober 2001 - 18:31 #3
at min Request.QueryString ikke dur ?
Avatar billede food4u.dk Nybegynder
20. oktober 2001 - 18:32 #4
Hmm, prøv request(\"navn\")

Hvor kommer \"navn\" fra, en form?
Avatar billede -sofus- Nybegynder
20. oktober 2001 - 18:32 #5
Det jeg er ude på et en som giver mig en sql string som virker..

Avatar billede -sofus- Nybegynder
20. oktober 2001 - 18:33 #6
test.asp?navn=hansen eller noget

Avatar billede food4u.dk Nybegynder
20. oktober 2001 - 18:38 #7
<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"db/db.mdb\")
strSQL = \"select * from tabel where navn=\'\" & Request.QueryString(\"navn\") & \"\'\"
set rs = Conn.execute(strSQL)

if rs.EOF then
Response.write \"\"
else
Do Until rs.EOF
%>

Prøv at fjerne den sidste parentes, der er kun parentes slut, ikke parentes start!
Avatar billede -sofus- Nybegynder
20. oktober 2001 - 18:44 #8
Hmm jeg for ingen fejl nu..

men heller ingen løsning
Avatar billede -sofus- Nybegynder
20. oktober 2001 - 18:44 #9
dvs,, den er blank
Avatar billede pepsi2 Nybegynder
20. oktober 2001 - 18:47 #10
<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"db/db.mdb\")
strSQL = \"select * from tabel where navn=\'\" & Request.QueryString(\"navn\") & \"\'\"
set rs = Conn.execute(strSQL)

if rs.EOF then
Response.write \"\"
else
Do Until rs.EOF

Response.Write rs(\"navn\")
%>
Avatar billede pepsi2 Nybegynder
20. oktober 2001 - 18:49 #11
Avatar billede -sofus- Nybegynder
20. oktober 2001 - 18:50 #12
pepsi er det ikke den samme code som foods ?
Avatar billede food4u.dk Nybegynder
20. oktober 2001 - 19:07 #13
som pepsi sige

<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"db/db.mdb\")
strSQL = \"select * from tabel where navn=\'\" & Request.QueryString(\"navn\") & \"\'\"
set rs = Conn.execute(strSQL)

if rs.EOF then
Response.write \"\"
else
Response.Write rs(\"navn\")
Do Until rs.EOF
%>

Her finder du måske noget, men du skriver ikke noget, i pepsi koden, er der Response.Write rs(\"navn\"), så der kommer noget output
Avatar billede -sofus- Nybegynder
20. oktober 2001 - 19:15 #14
stadig blank !
Avatar billede apocryphal Nybegynder
20. oktober 2001 - 19:21 #15
Prøv at skrive Request(\"navn\") istedet...

--
Jonas
Avatar billede -sofus- Nybegynder
20. oktober 2001 - 19:26 #16
ehh
prøv at skrive hele sourcen apocryphal
Avatar billede pepsi2 Nybegynder
20. oktober 2001 - 21:52 #17
Denne virker på min computer

<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"data.mdb\")
strSQL = \"select * from tabel where navn=\'\" & Request.QueryString(\"navn\") & \"\'\"
set rs = Conn.execute(strSQL)
Response.Write rs(\"navn\")
Conn.Close
Set Conn = Nothing
%>
Avatar billede pepsi2 Nybegynder
20. oktober 2001 - 22:11 #18
Eller den lidt bedre

<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"data.mdb\")
strSQL = \"select * from tabel where navn=\'\" & Request.QueryString(\"navn\") & \"\'\"
set rs = Conn.execute(strSQL)
If rs.EOF Then
Response.Write \"Navnet findes ikke i databasen\"
Else
Response.Write rs(\"navn\")
End If
Conn.Close
Set Conn = Nothing
%>
Avatar billede -sofus- Nybegynder
20. oktober 2001 - 23:20 #19
Nu for jeg bare Fejl 500
Avatar billede pepsi2 Nybegynder
20. oktober 2001 - 23:39 #20
nu har du vil husket og skrive noget i db\'en
Avatar billede apocryphal Nybegynder
20. oktober 2001 - 23:58 #21
Denne kode, udskriver en QueryString (eller post-værdi), og gemmer den i databasen.

Jeg antager at getConnection() returnerer en åben database connection (ADODB.Connection), og at Databasen bruger Stored Procedures (hvilket alle burde gøre, osse i Access).

--

<% Language=\"JavaScript\"%>
<%
    var input = Request(\"navn\").Item;
    if(input == null) {
        Response.Write(\"Intet navn!\");
        Response.End();
    }

    try {
        var dbCon = getConnection();
        var sql = \"sp_addName \" + input;
        dbCon.execute(sql);
    }
    catch(exception) {
        Response.Write(\"Database fejl!\");
        Response.End();
    }
%>
Indsatte navn var: <%= input%>.

--

Hvis man IKKE vil ha\' at folk poster til siden, kan man skrive:

var method = Request.ServerVariables(\"HTTP_METHOD\");
if(method != \"GET\") {
    Response.Write(\"POST er ikke tilladt!\");
}

Så en anden ting...

Alle herinde bruger Access, ser det ud til, men hvorfor bruger i SQL statements i jeres ASP filer?

Under Forspørgelser i Access kan man lave noget der ligner Stored Procedures, som vi kender dem fra Sybase, Oracle og MS SQL.

For at få ovenstående eksempel til at virke i Access, lav da en forspørgsel ved navn \"sp_addName\", og lad den indeholde:

\"insert into names(name) values(@name);\"

--
Jonas
Avatar billede -sofus- Nybegynder
21. oktober 2001 - 00:08 #22
Jonas det eneste jeg fattede var dit navn...

Jeg har næsten fået pepsi/food løsningen til at virken,, men den dur ikke når den bliver blandet med resten af min source
Avatar billede -sofus- Nybegynder
21. oktober 2001 - 00:09 #23
Poster Hele siden:
--------------------------------------------------------------------------------------------------
<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"db/db.mdb\")
strSQL = \"select * from claner where navn=\'\" & Request.QueryString(\"navn\") & \"\'\"
set rs = Conn.execute(strSQL)

if rs.EOF then
Response.write \"\"
else
Do Until rs.EOF
%>
<b>

<font face=\"Verdana\" size=\"4\"><%= rs(\"navn\") %><br>
</font>
</b>
<table border=\"0\" width=\"90%\" cellspacing=\"0\" cellpadding=\"0\">
  <tr>
    <td width=\"24%\"><b><font face=\"Verdana\" size=\"2\">Tag:</font></b></td>
    <td width=\"76%\"><font face=\"Verdana\" size=\"2\"><%= rs(\"tag\") %></font></td>
  </tr>
  <tr>
    <td width=\"24%\"><b><font face=\"Verdana\" size=\"2\">Homepage:</font></b></td>
    <td width=\"76%\"><font face=\"Verdana\" size=\"2\"><a href=\"http://<%= rs(\"homepage\") %>\"><%= rs(\"homepage\") %></a></font></td>
  </tr>
  <tr>
    <td width=\"24%\"><b><font face=\"Verdana\" size=\"2\">IRC channel:</font></b></td>
    <td width=\"76%\"><font face=\"Verdana\" size=\"2\"><%= rs(\"irc\") %></font></td>
  </tr>
  <tr>
    <td width=\"24%\"><b><font face=\"Verdana\" size=\"2\">Rekrutere:</font></b></td>
    <td width=\"76%\"><font face=\"Verdana\" size=\"2\"><%= rs(\"rekrut\") %>
   
<%RS.MoveNext
Loop
end if

Conn.Close
Set Conn = Nothing%>
</font></td>
  </tr>
  <tr>
    <td width=\"24%\">
<b><font face=\"Verdana\" size=\"2\">Members: </td>
    <td width=\"76%\">
   
<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"db/db.mdb\")
strSQL = \"select * from brugere WHERE where navn=\'\" & Request.QueryString(\"navn\") & \"\'\"
set rs = Conn.execute(strSQL)

if rs.EOF then
Response.write \"\"
else
Do Until rs.EOF
%>

<%RS.MoveNext
Loop
end if

Conn.Close
Set Conn = Nothing%>

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


Avatar billede -sofus- Nybegynder
21. oktober 2001 - 00:13 #24
AAAAARGH !!!! enten er det utroligt svært eller også er det utroligt nemt...

jeg har skrevet \"select * from brugere WHERE where \" skriver man kun where 1 gang dur det

food4u.dk, skriv lige et svar så for du halvdelen af poitne
Avatar billede apocryphal Nybegynder
21. oktober 2001 - 00:23 #25
Øhm, man MÅ kun skrive where én gang... Skal man have flere kriterier, skal man skrive:

where noget=noget and nogetandet=nogetandet and nogettredie=nogettredie
Avatar billede -sofus- Nybegynder
21. oktober 2001 - 00:31 #26
jaja.. det var en fejl at jeg havde skrevet where 2 gange, det har jeg bare først set da jeg poster sourcen her..
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