[PHP] Breekt Post af na spatie

Pagina: 1
Acties:
  • 51 views sinds 30-01-2008

  • MrDirk
  • Registratie: Januari 2002
  • Laatst online: 04-07-2023
De waardes die ik meegeef in de Posts worden na een spatie afgebroken.
Bijvoorbeeld na de upload van een bestand met spaties in de bestandsnaam.

code:
1
print "<A href=email.php?enotif=".$_POST["Group"]."&fil=\"".$_FILES["file"]["name"]."\"&fol=\"".$_POST["Folder"]."\">Notify all users by email</A>";


Alle search hier op GOT leveren op: Value plaatsen tussen quotes ("").

Maar dat heb ik. Verder volgens mij ook alle mogelijke combinaties geprobeerd.

Ik zie gewoon de fout niet ...

"We do not first see, then define, we define first and then see" (Lippmann)


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 07-04 22:27

Bosmonster

*zucht*

urlencode

  • Obliterator
  • Registratie: November 2000
  • Laatst online: 30-03 13:50
^ idd. want spaties moeten %20 worden. urlencode is een functie by the way

[ Voor 33% gewijzigd door Obliterator op 22-02-2006 20:41 ]


Verwijderd

ps, je moet dubbele quotes om je url gebruiken (dan is het sowieso verholpen, dit kost denk ik minder tijd dan urlencode())

  • MrDirk
  • Registratie: Januari 2002
  • Laatst online: 04-07-2023
Het zijn toch dubbele quotes?

Bedankt voor de voor mij nieuwe functie.
Het resultaat is echter geen %20 maar +-+:

email.php?enotif=26&fil=Nieuw+-+Tekstdocument.txt&fol="0"

[ Voor 7% gewijzigd door MrDirk op 22-02-2006 20:47 . Reden: typo ]

"We do not first see, then define, we define first and then see" (Lippmann)


  • Voutloos
  • Registratie: Januari 2002
  • Niet online
De value van het href atrribuut zet je doorgaans ook tussen quotes in de uiteindelijke HTML. ;)
Verder doe je moeilijk met escapes als \", je kan net zo goed je string opbouwen met single quotes. :)

[ Voor 4% gewijzigd door Voutloos op 22-02-2006 20:52 ]

{signature}


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 11-03 14:33

NMe

Quia Ego Sic Dico.

Goed, maar het feitelijke probleem was dus dat je je HTML inderdaad niet netjes omsluit met quotes, waardoor alles de soep in gaat. Je browser kan hier echt niet aan zien wat jij bedoelt:
HTML:
1
<a href=foo bar.html title=blaat ...>

Voor je browser is de href automatisch alleen "foo", omdat alles daarachter niet herkend wordt als deel van een url. "bar.html" is verder een stukje van die url waar je browser niets mee kan, en dus rendert ie dat niet. Daarna komt ie weer wel een attribuut tegen dat hij kent, namelijk de title.

Simpelweg zorgen dat je quotes gebruikt om urls heen (in dit geval in HTML dus, niet alleen in PHP!) had je probleem ook opgelost, al is het inderdaad netter om urlencode erbij te gebruiken. Maar zeker dat stukje over het omsluiten van urls tussen quotes had je best zelf moeten kunnen vinden, het staat nota bene nog in onze FAQ. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.