Avatar billede krak Nybegynder
09. december 2004 - 15:41 Der er 13 kommentarer og
1 løsning

Formular: Behold _"_ og lav ikke om til _%22_

Hej

Jeg har en søge-formular, hvor der skal være mulighed for at indtaste "-tegnet. Men i øjeblikket bliver det erstattet af %22 hvor variablen brat afsluttes lige før %22.

Hvad skal der gøres for at "-tegnet kan overføres?
Avatar billede Slettet bruger
09. december 2004 - 15:44 #1
$_GET['variabel'] = str_replace("%20", "_", $_GET['variabel']);

På siden som udfører søgningen..
Avatar billede detox Nybegynder
09. december 2004 - 15:45 #2
Ellers brug POST istedet for GET som method i din form.
Avatar billede Slettet bruger
09. december 2004 - 15:47 #3
detox -> Da ikke hvis man vil bruge GET!? :s
Avatar billede Slettet bruger
09. december 2004 - 15:48 #4
det var selvfølgelig
str_replace("%22", "\"", $_GET['variabel']);

(sikke noget sludder, det andet...) :-)
Avatar billede detox Nybegynder
09. december 2004 - 15:53 #5
Du kan osse se på: urldecode().

gartzen -> Det fremgår da heller ikke at GET er et krav ;o)
Avatar billede Slettet bruger
09. december 2004 - 15:57 #6
detox -> Man vælger vel POST eller GET ud fra nogle overvejelser.
Avatar billede krak Nybegynder
09. december 2004 - 16:03 #7
Nu skal I ikke komme op at tottes...

Jeg fandt ud af, at selve variablen er ok, når der bare udføres stripslashes på den. Men når jeg sætter den som value i mit input-felt, går det galt. Indholdet bliver kappet ved "-tegnets begyndelse.
Avatar billede Slettet bruger
09. december 2004 - 16:08 #8
så laver du jo bare det omvendte af den funktion jeg nævnte:

<input type="text" name="name" value="<?= str_replace("\"", "%22", $_GET['variabel']) ?>">
Avatar billede krak Nybegynder
09. december 2004 - 16:26 #9
Hopla: Det var htmlspecialchars(stripslashes($variabel)) der skulle til...

Smid et svar, og I kan dele de sølle 15 point for jeres forsøg.
Avatar billede Slettet bruger
09. december 2004 - 16:28 #10
Jeg tror aldrig jeg helt forstod dit spørgsmål så?
Kan du ikke vise lidt kode selvom du fandt svaret selv alligevel?
Avatar billede krak Nybegynder
09. december 2004 - 16:37 #11
Ok:

I inputfeltet:

echo "<input size=\"40\" type=\"text\" name=\"searchString\" value=\"".htmlspecialchars(stripslashes($searchString))."\">";

indtastes: a "bcd efg"

i URL'en står der:  search.php?searchString=a+%22bcd+efg%22

denne searchString-variabel indsættes atter i input-feltet, så brugeren kan se resultatet og samtidig redigere sin søgning.
Avatar billede Slettet bruger
09. december 2004 - 16:41 #12
Ok.. Så forstod jeg det rigtig nok.
Jeg kendte ikke htmlspecialchars().. Men det er da sej nok :-)
Avatar billede Slettet bruger
09. december 2004 - 17:17 #13
detox -> Vil du have 7,5?
Avatar billede detox Nybegynder
09. december 2004 - 22:34 #14
gartzen -> Nej tak :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
Vi tilbyder markedets bedste kurser inden for webudvikling

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