/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Gemme post data i var.
Fra : Dennis T.


Dato : 07-12-01 17:20

Hejsa..

Søger en løsning på dette problem...

Jeg har en url, hvor der kommer en POST request (fra et system, som jeg
ikke kan ændre på) - jeg skal derfor have fundet ud af, hvordan jeg
håndterer dataene med PHP.

Dataene bliver nemlig sendt som en lang streng, og ikke som et array eller
noget...

Hvordan hiver man dette ud?

I asp (føj) ville løsningen være:

Bytes = request.totalbytes
data = Request.BinaryRead(Bytes)


Hvordan kommer jeg frem til de "rå" data i php? HTTP_POST_VARS syntes ikke
rigtigt at kunne bruges...

 
 
Mogens Meier Christe~ (07-12-2001)
Kommentar
Fra : Mogens Meier Christe~


Dato : 07-12-01 20:19

"Dennis T." <viol8r@technologist.com> wrote in message
news:3c10ec3d$0$7902$edfadb0f@dspool01.news.tele.dk...

> Jeg har en url, hvor der kommer en POST request

> Hvordan kommer jeg frem til de "rå" data i php? HTTP_POST_VARS syntes ikke
> rigtigt at kunne bruges...

Jo, det fuldstændig det assoc. array du skal kigge i!!!

> Dataene bliver nemlig sendt som en lang streng, og ikke som et array eller
> noget...

Hvis du mener at du kan se dem i adresselinien er det *ikke* en POST men
derimod en GET!

Så skal du nok udskifte POST med GET for at få navnet på arrayet ;)

I øvrigt er PHP som standard sat op til at overføre alle POST- og
GET-variabler til globale variable med samme navn som deres index - hvis du
f.eks. sender:
http:/.../script.php?text=hej

så kan du altså både nå teksten "hej" som $HTTP_GET_VARS["text"] og $text

--
Mvh. Mogens
www.momech.dk




Kim Emax - ayianapa.~ (07-12-2001)
Kommentar
Fra : Kim Emax - ayianapa.~


Dato : 07-12-01 20:33

"Mogens Meier Christensen" <mmc@nospam.dk> skrev

> I øvrigt er PHP som standard sat op til at overføre alle POST- og
> GET-variabler til globale variable med samme navn som deres index - hvis
du
> f.eks. sender:
> http:/.../script.php?text=hej

ikke helt, PHP skal være kompileret med "--enable-track-vars" ellers virker
$HTTP_(GET|POST)_VARS ikke.

Been there, done that

--
Take Care
Kim Emax
http://www.emax.dk
http://www.ayianapa.dk
Køb din vin online på http://www.gmvin.dk,
Danmarks måske mest avancerede VinWebShop



Mogens Meier Christe~ (07-12-2001)
Kommentar
Fra : Mogens Meier Christe~


Dato : 07-12-01 20:49

> ikke helt, PHP skal være kompileret med "--enable-track-vars" ellers
virker
> $HTTP_(GET|POST)_VARS ikke.

Døh - kompileret??

Som windows-mand henter man bare den bin. distrib. på
nettet og konfigurer med en ini-fil, meget smart ting, ini-filer, så slipper
man for at kompilere om når man skal rette et komma ;)

Seriøst, har PHP til Lunix ikke en dotfile der tager sig af den slags
konfiguration? ;)

Standard-konfig-filen til Windows har trackvars aktiveret. Gæder noget andet
under Lunix?

--
Mvh. Mogens
www.momech.dk





Peter Brodersen (08-12-2001)
Kommentar
Fra : Peter Brodersen


Dato : 08-12-01 00:38

On Fri, 7 Dec 2001 20:33:21 +0100, "Kim Emax - ayianapa.dk"
<newsgroup@sletdette-ayianapa.dk> wrote:

>ikke helt, PHP skal være kompileret med "--enable-track-vars" ellers virker
>$HTTP_(GET|POST)_VARS ikke.

Fra http://www.php.net/manual/en/install.configure.php :

==
[..]
--enable-track-vars
PHP 3: Enable GET/POST/Cookie track variables by default.
PHP 4: Option not available in PHP 4; as of PHP 4.0.2, track_vars is
always on.
[..]
==

--
- Peter Brodersen
24 Days of Crashmas - julekalender:
http://jul.bums.dk/

Dennis T. (07-12-2001)
Kommentar
Fra : Dennis T.


Dato : 07-12-01 21:29

Mogens Meier Christensen wrote:
> Hvis du mener at du kan se dem i adresselinien er det *ikke* en POST men
> derimod en GET!

Det gør jeg ikke. Jeg skal bruge de rå binære data, der bliver overført via
en POST. Det som svarer til det ASP eksempel jeg kom med.

> http:/.../script.php?text=hej
> så kan du altså både nå teksten "hej" som $HTTP_GET_VARS["text"] og $text

Problemet er netop, at jeg ikke kan hente det ud (svjv) med HTTP_POST_VARS,
fordi jeg skal bruge de rå binære data, uden at splitte det op i et array
(dem som jeg skal bygge et system op i mod sender data på denne måde, og
det kan nemt lade sig gøre i ASP).

<%
Bytes = request.totalbytes
data = Request.BinaryRead(Bytes)
%>

Hvad svarer til dette i PHP? Altså hvordan får jeg hele http POST'en til at
ligge råt i en variabel.

Mogens Meier Christe~ (07-12-2001)
Kommentar
Fra : Mogens Meier Christe~


Dato : 07-12-01 23:25

> Det gør jeg ikke. Jeg skal bruge de rå binære data, der bliver overført
via
> en POST. Det som svarer til det ASP eksempel jeg kom med.

OK, nu svarede jeg som jeg har forstand til - jeg kender ikke ASP, men det
plejer ikke at være et problem i dette forum... ;)

> Altså hvordan får jeg hele http POST'en til at ligge råt i en variabel.

Håber nogen kan svare på det - det er mere "low-level" end jeg kan klare.

--
Mvh. Mogens
www.momech.dk



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste