23. oktober 2006 - 09:29Der er
14 kommentarer og 1 løsning
Den komplette POST streng.
Hej...
Jeg skal bruge en variabel med den komplette POST streng.
Jeg får postet noget XML med post, hvor det bare postes, og ikke er defineret som et parameter, det betyder at Der er et parameter der hedder: $_POST["<?xml_version"] og indeholder resten af XML'en. Det burde betyde, at man kunne definere XML som:
$xml = "<xml version=" . $_POST["<?xml_version"];
Så er der en måde jeg kan tage den komplette POST streng og fortolke på, så jeg ikke skal drage det hele udfra et parameter?
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
Slettet bruger
23. oktober 2006 - 11:05#1
Tjae, da POST jo er et array, vil den nok hedde $_POST["0"];
Du kan jo prøve at smide en print_r($_POST); ind og se hvad resultatet af din post er, og derudfra tage den key der indeholder den værdi du gerne vil have ud.
Jeg siger ikke jeg får det, for det gør jeg.... Den vel returnere således: array() { ['<?xml_version']=> "\"1.0\" encoding=\"iso-8859-1\"?>" }
Og det er meget fint, men ikke det jeg har brug for. Jeg kunne godt udelade det med en foreach og det er jeg klar over... Problemet opstår dog i at de poster "<?xml version", og php har det registeret som en POST variabel der hedder <?xml_version, så jeg skal replace _ med et mellemrum, før det bliver til XML.
Jeg leder efter en måde hvorpå jeg kan udelade strengen direkte uden at skulle ind redigere i det jeg har fået ind.
- a'hvad ...?!??!! Er det, hvad du tror, den returnerer - eller er det noget, du har prøvet?
Hvad er det, du gerne vil kunne - og hvordan? Jeg kan ikke få de ting, du skriver til at give mening. Noget kunne tyde på, der er noget, du har misforstået et eller andet sted :)
Det er hvad den returnere hvilket også giver mening... En normal POST paramter er et navn adskilt af et lighedstegn og en værdi, som f.eks foo=bar er $_POST["foo"] der indeholder værdien "bar".
Derfor når det er XML, er der et lighedstegn efter version, og dermed bliver navnet <?xml_version. Jeg forstår dog ikke hvorfor PHP Indsætter et underscore, og det gør at jeg er bliver nødt til at modificere strengen. Jeg vil gerne undgå dette, og have hele POST QUERY'en som en streng.
Sender du en form, med navnene foo og bar, der har værdierne bar og baz, vil din streng se således ud: foo=bar&bar=baz et var dump er således: array() { ['foo']=> "bar", ['bar']=> "baz" }
Jeg håber vi er enige så langt ?
Derfor vil jeg gerne have den streng der hedder foo=bar&bar=baz, uden at skulle bruge noget foreach el.l. Da PHP åbenbart modificerer navnet på parametret. Er du med nu?
Ok :) Ja, men jeg har selv været ude for at folk ikke sender Content-Length :\ Men så må man bare slå dem oven i hovedet med en RFC-udskrift! ;)
Synes godt om
Ny brugerNybegynder
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.