[ASP] Escape karakter omzijlen lukt niet

Pagina: 1
Acties:

  • Zaagmans
  • Registratie: Januari 2000
  • Laatst online: 16-07 21:13
Ik zit dus met een zoekfunctie te spelen.
Mensen kunnen in een input veld van een form een zoekstring invoeren. Nu kom ik alleen nog dingen tegen zoals de & en de * etc die ik op GEEN manier kan omzetten naar een string lijkt het wel.

Stel ik gebruik de volgende vb-functie
code:
1
  Replace(Zoekstring,"&","\&")

of iets dergelijks, dan helpt dat helemaal niet. Hij blijft namelijk in de query altijd de & als een escape karakter zien en niet als een string waar hij op moet zoeken. :?

- Ruud


  • Onno
  • Registratie: Juni 1999
  • Niet online
Sinds wanneer is & een escape-teken? :?

  • Banpei
  • Registratie: Juli 2001
  • Laatst online: 16-09 08:48
In de database zetten als HTML encoded hexcode. Daar zou je dus wel op kunnen zoeken en als de data weer op je asp pagina getoond wordt pakt HTML em automatisch weer als de goede.

Niet de mooiste oplossing, maar volgens mij werkt het wel... *D

  • Zaagmans
  • Registratie: Januari 2000
  • Laatst online: 16-07 21:13
Op dinsdag 27 november 2001 12:01 schreef Onno het volgende:
Sinds wanneer is & een escape-teken? :?
het is iig een speciaal teken wat in de query wordt gezien als AND en dat wil ik niet, het moet een string zijn...

- Ruud


  • Basszje
  • Registratie: Augustus 2000
  • Laatst online: 12:17

Basszje

Reisvaap!]

& vervangen door chr( nog iets ) ( de character waarde dus ) .

Beware of listening to the imposter; you are undone if you once forget that the fruits of the earth belong to us all, and the earth itself to nobody.


  • Onno
  • Registratie: Juni 1999
  • Niet online
Op dinsdag 27 november 2001 12:06 schreef Zaagmans het volgende:
het is iig een speciaal teken wat in de query wordt gezien als AND
Uh? Strings staan toch binnen quotes? Daar wordt dan verder toch niets aan geinterpreteerd?

  • Zaagmans
  • Registratie: Januari 2000
  • Laatst online: 16-07 21:13
Op dinsdag 27 november 2001 12:17 schreef Onno het volgende:

[..]

Uh? Strings staan toch binnen quotes? Daar wordt dan verder toch niets aan geinterpreteerd?
dat dacht ik dus ook...blijkbaar niet.
Ik heb bijvoorbeeld de volgende tabel :
code:
1
2
3
4
5
6
7
--------------------
| Naam       |
--------------------
| Kabouter Plop    |
| Bassie & Adriaan |
| De Smurfen     |
--------------------

maar ik wil dus als resultaat hebben: Bassie & Adriaan.

Als ik dan zoek op de &, dan krijg ik alle velden in de tabel te zien, dus zowel kabouter plop, als bassie & adriaan en De Smurfen :?

- Ruud


  • Onno
  • Registratie: Juni 1999
  • Niet online
En met wat voor query doe je dat dan?

  • Zaagmans
  • Registratie: Januari 2000
  • Laatst online: 16-07 21:13
code:
1
2
sQRY = Request.QueryString("qry")
oRS.Open "select * from contact where naam like '%"&sQRY&"%' ORDER BY naam", oConn, adOpenStatic, adLockReadOnly

- Ruud


  • Onno
  • Registratie: Juni 1999
  • Niet online
Hmm.. werkt hier gewoon. Wat voor database gebruik je?

  • Zaagmans
  • Registratie: Januari 2000
  • Laatst online: 16-07 21:13
Access 97

- Ruud


  • Zaagmans
  • Registratie: Januari 2000
  • Laatst online: 16-07 21:13
Ok ik kom er net achter dat ie het '&' dinges in de url zet maar dus niet eruit filtert.

../zoek.asp?qry=&

Hij moet dus de & als string zien, maar als ik er haakjes omheengooi dan gooit ie die haakjes ook in de string en dat moet weer niet.
Ik probeer het nu met de POST method van een form (zodat de info in de variabele wordt meegegeven in de header van de pagina), alleen kan ik dan niet met behulp van javascript op het desbetreffende frame (parent.main.frame2('../zoek.asp?qry=&') de juiste zoekresultaten zien. |:(

- Ruud


  • Onno
  • Registratie: Juni 1999
  • Niet online
Op dinsdag 27 november 2001 14:37 schreef Zaagmans het volgende:
Ok ik kom er net achter dat ie het '&' dinges in de url zet maar dus niet eruit filtert.
Wie doet dat? Een browser maakt van & in een url netjes %26 hoor.. zoals het hoort. :)
alleen kan ik dan niet met behulp van javascript op het desbetreffende frame (parent.main.frame2('../zoek.asp?qry=&') de juiste zoekresultaten zien
Ah, jijzelf. Je moet als je zelf een url samenstelt de parameters *altijd* door urlencode heengooien.

(en POST lost niks op, die gebruikt precies dezelfde encoding)

  • Mart!
  • Registratie: Februari 2000
  • Laatst online: 15-09 10:30
Je kan de post methode wel gebruiken. Geef dan bij je form tag een target aan... dan wordt de resultaatpagina in de target die je hebt aangegeven getoond...

  • Zaagmans
  • Registratie: Januari 2000
  • Laatst online: 16-07 21:13
Mart! You R Da man! :)
Het lukt, nooit geweten dat je met een form ook een target frame kon opgeven |:(

De rest ook bedankt voor alle info! :)

- Ruud

Pagina: 1