[php] gecodeerde spaties in URL

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo,

Ik wil in een URL een variabele doorgeven in een PHP script.
Deze variabele heeft alleen een spatie.
Nou dus dan gooi je er een "%20" tussen dacht ik.
Dus bv: www.blaat.com/blaat.php?var=het%20is%20me%20me%20wat.
Als ik iexplorer gebruik werkt dit prima. Mijn php script snapt het allemaal
geen probleem.
Alleen als ik het in netscape 4.x doe krijg ik een "bad request" errror terug van de apache webserver.

RAAAAAR!

Acties:
  • 0 Henk 'm!

  • supakeen
  • Registratie: December 2000
  • Laatst online: 09-09 14:42
Netscape 4.x is antiek, gebruik 6 ofzo ;) Is iets van 0.2 procent dat nog Netscape 4.x gebruikt.

[ Voor 4% gewijzigd door supakeen op 04-05-2003 22:48 ]


Acties:
  • 0 Henk 'm!

  • MikeN
  • Registratie: April 2001
  • Laatst online: 15-09 18:48
Volgens mij werkt een + ook, en hoort dat ook in Netscape gewoon te werken.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ja klopt. Alleen is het voor een opdracht waar het voor netscape 4 MOET werken.
Dus back to the oertijd. Heerlijk frustrerend.

Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

De uitkomst van urlencode($varinhoud); zou toch echt moeten werken in Netscape, kan zijn dat ie iets anders niet goed vindt zoals die . aan het eind? :)

Acties:
  • 0 Henk 'm!

  • FailFr8er
  • Registratie: Juli 2001
  • Laatst online: 13:11
Het KAN aan mij liggen, maar is het niet var=het+is+me+wat in PHP?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Met een + gaattie bij netscape 4 alsnog piepen:

Bad Request

Your browser sent a request that this server could not understand.

The request line contained invalid characters following the protocol string.


Apache/1.3.27 Server at localhost Port 80

Hetzelfde als bij %20.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
url encode heeft niks met dit alles te maken dacht ik? Het is toch gewoon zo dat als ik
www.blaat.com/blaat.php?var=het%20is%20me%20me%20wat. Gebruik in PHP gewoon
de variabele var kan aanroepen die dan de waarde "het is me wat" heeft.

Acties:
  • 0 Henk 'm!

  • machielk
  • Registratie: Juni 2000
  • Laatst online: 15-02-2024

machielk

The server has been updated

Het is niet "RAAAR", maar vervelend.

Je moet voor jezelf bepalen of je site(s)/ server(s) compatible moeten zijn met netscape 4.

Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Verwijderd schreef op 04 May 2003 @ 23:25:
Met een + gaattie bij netscape 4 alsnog piepen:

Bad Request

Your browser sent a request that this server could not understand.

The request line contained invalid characters following the protocol string.


Apache/1.3.27 Server at localhost Port 80

Hetzelfde als bij %20.
Kijk anders even in je access / error logs om de request string van Netscape te achterhalen?

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dan krijg ik:
[Sun May 04 23:24:11 2003] [error] [client 127.0.0.1] request failed: erroneous characters after protocol string: GET /ib/static/ib site/startpage.php

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
kan je een letter (q ofzo) gebruiken, en dan die met ereg_replace in
code:
1
 
veranderen?

ik weet t, is geen nette methode, maar het zal best werken....

edit :

PHP:
1
$variabele = eregi_replace("q", " ", $variabele);

[ Voor 33% gewijzigd door Cartman! op 05-05-2003 01:00 ]


Acties:
  • 0 Henk 'm!

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Verwijderd schreef op 04 May 2003 @ 23:30:
Dan krijg ik:
[Sun May 04 23:24:11 2003] [error] [client 127.0.0.1] request failed: erroneous characters after protocol string: GET /ib/static/ib site/startpage.php
Het probleem zit hem nu juist in moderne browsers. Die vervangen spaties in URLs door %20. Daardoor gebruikt nu iedereen spaties in URLs, wat b0rked in oudere browsers die hier geen rekening mee houden. Ik doel nu op de spatie in 'ib site'. Haal die weg en maak van je %20 in je variables plusjes, en alles moet werken :)

All my posts are provided as-is. They come with NO WARRANTY at all.


Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Verwijderd schreef op 04 May 2003 @ 23:25:
Met een + gaattie bij netscape 4 alsnog piepen:

Bad Request

Your browser sent a request that this server could not understand.

The request line contained invalid characters following the protocol string.


Apache/1.3.27 Server at localhost Port 80

Hetzelfde als bij %20.
zoals je ziet heeft ie dat al geprobeerd CyBeR......

Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Nee, de spatie in de 'ib site' is van belang, niet of er %20 of + staat in de variabelen verder... (overiges kan je die spatie in de url ook vervangen door een %20 (niet door een + meen ik) ipv de dirnaam te veranderen).
Verwijderd schreef op 04 May 2003 @ 23:26:
url encode heeft niks met dit alles te maken dacht ik? Het is toch gewoon zo dat als ik
www.blaat.com/blaat.php?var=het%20is%20me%20me%20wat. Gebruik in PHP gewoon
de variabele var kan aanroepen die dan de waarde "het is me wat" heeft.
url encode heeft daar alles mee te maken, want dat is een urlencoded string...

Je kijkt echter naar de verkeerde plek om je bug te vinden, zoals al hierboven al gezegd wordt.

[ Voor 55% gewijzigd door ACM op 05-05-2003 12:36 ]


Acties:
  • 0 Henk 'm!

Verwijderd

misschien een lompe opmerking, maar waarom vervang je de spaties niet door een "-" ofzo? bespaard je veel gezeik.

Acties:
  • 0 Henk 'm!

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Verwijderd schreef op 06 May 2003 @ 09:09:
misschien een lompe opmerking, maar waarom vervang je de spaties niet door een "-" ofzo? bespaard je veel gezeik.
Da's in het geval van filenames geen slecht idee, alhoewel underscores gebruikelijker zijn. In het geval van variables (?foo=bar&moo=cow) is het volgens de http spec een +-je.

All my posts are provided as-is. They come with NO WARRANTY at all.


Acties:
  • 0 Henk 'm!

  • Twan V
  • Registratie: Oktober 2001
  • Laatst online: 16-09 15:39

Twan V

...en er stralend uitzien

Het is een "plakband"-oplossing, maar wel een oplossing. Een javascriptje dat bij de submit spaties veranderd in een - of _ (in geval van een form) en deze er in PHP weer uithaalt.

Blaat het niet dan schaadt het niet...
Reflex Discoshow - Het beste wat je bruiloft kan overkomen

Pagina: 1