/ 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
$_POST læser fra?
Fra : Jonas Delfs


Dato : 14-02-02 00:40

Hej -

Man kan sige at $_GET ($HTTP_GET_VARS) er baseret på $QUERY_STRING, hvad
læses der fra når $_POST kreeres?
Jeg har kun prøvet det i Ruby hvor man kan parse denne linie som var det
$QUERY_STRING:

$stdin.read(Integer(ENV['CONTENT_LENGTH']))

hvordan gør jeg i PHP?

--
Mvh./Best Regards
Jonas Delfs, http://delfs.dk



 
 
Jonas Delfs (14-02-2002)
Kommentar
Fra : Jonas Delfs


Dato : 14-02-02 01:02

"Jonas Delfs" <jonas@NOSPAMdelfs.dk> skrev i en meddelelse
news:a4etno$90j$1@sunsite.dk...

> Man kan sige at $_GET ($HTTP_GET_VARS) er baseret på $QUERY_STRING

Det ville nok være mere korrekt at sige $argv siden $QUERY_STRING er Apache
specifik.

--
Mvh./Best Regards
Jonas Delfs, http://delfs.dk



Jonas Koch Bentzen (14-02-2002)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 14-02-02 01:09

Jonas Delfs skrev:
>
> Man kan sige at $_GET ($HTTP_GET_VARS) er baseret på $QUERY_STRING,
> hvad læses der fra når $_POST kreeres?

De data, browseren har sendt via POST-metoden. Det går jeg ud fra, du
allerede ved, så jeg undrer mig lidt over, hvad det egentlig er, du vil?
: ) Vil du bare have længden på POST-data?

> Jeg har kun prøvet det i Ruby hvor man kan parse denne linie som var
> det $QUERY_STRING:
>
> $stdin.read(Integer(ENV['CONTENT_LENGTH']))

Du kender godt CGI-klassen til Ruby, ikke?

> hvordan gør jeg i PHP?

Gør hvad?

--
Jonas Koch Bentzen

http://understroem.dk/

Jonas Delfs (14-02-2002)
Kommentar
Fra : Jonas Delfs


Dato : 14-02-02 01:37

"Jonas Koch Bentzen" <ingen.emailadresse@eksempel.dk> skrev i en meddelelse
news:a4ev7i$d0l$1@sunsite.dk...
> Jonas Delfs skrev:
> >
> > Man kan sige at $_GET ($HTTP_GET_VARS) er baseret på $QUERY_STRING,
> > hvad læses der fra når $_POST kreeres?
>
> De data, browseren har sendt via POST-metoden.

Wow - det er løgn? :)

> Det går jeg ud fra, du
> allerede ved, så jeg undrer mig lidt over, hvad det egentlig er, du vil?
> : ) Vil du bare have længden på POST-data?

For at være helt ærlig ved jeg ikke hvordan jeg tilgår POST-data i PHP. Det
skyldes nok min lidt for ringe viden om HTTP. :)

> > Jeg har kun prøvet det i Ruby hvor man kan parse denne linie som var
> > det $QUERY_STRING:
> >
> > $stdin.read(Integer(ENV['CONTENT_LENGTH']))

(Kommer i tanke om at $stdin's binmode-metode vist skal kaldes først)

> Du kender godt CGI-klassen til Ruby, ikke?

Jo, men jeg ville implementere PHP's $_GET, $_POST og $_REQUEST i Ruby uden
at skulle behøve hele cgi-klassen. (som i øvrigt ikke er særligt lækker)

--
Mvh./Best Regards
Jonas Delfs, http://delfs.dk



Jonas Koch Bentzen (14-02-2002)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 14-02-02 09:52

Jonas Delfs skrev:

> "Jonas Koch Bentzen" <ingen.emailadresse@eksempel.dk> skrev i en
> meddelelse news:a4ev7i$d0l$1@sunsite.dk...
>> Jonas Delfs skrev:
>> >
>> > Man kan sige at $_GET ($HTTP_GET_VARS) er baseret på $QUERY_STRING,
>> > hvad læses der fra når $_POST kreeres?
>>
>> De data, browseren har sendt via POST-metoden.
>
> Wow - det er løgn? :)

Spørger man dumt, får man et dumt svar : )

--
Jonas Koch Bentzen

http://understroem.dk/

Niels Andersen (14-02-2002)
Kommentar
Fra : Niels Andersen


Dato : 14-02-02 07:31

"Jonas Delfs" <jonas@NOSPAMdelfs.dk> wrote in message
news:a4etno$90j$1@sunsite.dk...
> Man kan sige at $_GET ($HTTP_GET_VARS) er baseret på $QUERY_STRING, hvad
> læses der fra når $_POST kreeres?

Jeg tror ikke du i PHP kan få direkte adgang til POST-data. Kun den
fortolkede version, som bla. er tilgængelig via _POST. Men jeg er ikke
heeelt sikker. :)

Du tænker måske mere på hvordan POST-data overføres via HTTP, og ikke selve
PHP-delen?

--
Mvh.

Niels Andersen



Jonas Delfs (14-02-2002)
Kommentar
Fra : Jonas Delfs


Dato : 14-02-02 15:13

"Niels Andersen" <niels-usenet@myplace.dk> skrev i en meddelelse
news:7TIa8.12153$B43.880777@news000.worldonline.dk...
> "Jonas Delfs" <jonas@NOSPAMdelfs.dk> wrote in message
> news:a4etno$90j$1@sunsite.dk...
> > Man kan sige at $_GET ($HTTP_GET_VARS) er baseret på $QUERY_STRING, hvad
> > læses der fra når $_POST kreeres?
>
> Jeg tror ikke du i PHP kan få direkte adgang til POST-data. Kun den
> fortolkede version, som bla. er tilgængelig via _POST. Men jeg er ikke
> heeelt sikker. :)

Aaah - det kan vist ikke helt passe.

> Du tænker måske mere på hvordan POST-data overføres via HTTP, og ikke
selve
> PHP-delen?

Nej. Jeg tænker på hvordan jeg tilgår POST-data i en ikke-parset version.

--
Mvh./Best Regards
Jonas Delfs, http://delfs.dk



Jonas Koch Bentzen (14-02-2002)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 14-02-02 15:44

Jonas Delfs skrev:
>
> Nej. Jeg tænker på hvordan jeg tilgår POST-data i en ikke-parset
> version.

Ifølge et par af kommentarerne på
http://dk.php.net/manual/en/language.variables.predefined.php virker
$HTTP_RAW_POST_DATA - men kun, hvis encoding på formularen er sat til
noget specielt, som er svært at tyde ud af kommentaren. Jeg har ikke
selv kunnet få det til at virke, men du kan jo prøve dig frem.

--
Jonas Koch Bentzen

http://understroem.dk/

Andreas Kleist Svend~ (14-02-2002)
Kommentar
Fra : Andreas Kleist Svend~


Dato : 14-02-02 15:53

On Thu, 14 Feb 2002 15:13:29 +0100
"Jonas Delfs" <jonas@NOSPAMdelfs.dk> wrote:

> Nej. Jeg tænker på hvordan jeg tilgår POST-data i en ikke-parset
> version.

Med følgende linie i php.ini kan du bruge $HTTP_RAW_POST_DATA til
formålet. always_populate_raw_post_data = On

(Jeg fandt det ved at søge på $_POST på http://lxr.php.net, og derefter på
$HTTP_RAW_POST_DATA.)

mvh Andreas


Jonas Delfs (29-03-2002)
Kommentar
Fra : Jonas Delfs


Dato : 29-03-02 00:25

"Jonas Delfs" <jonas@NOSPAMdelfs.dk> skrev i en meddelelse
news:a4etno$90j$1@sunsite.dk...

> Man kan sige at $_GET ($HTTP_GET_VARS) er baseret på $QUERY_STRING, hvad
> læses der fra når $_POST kreeres?

Okay, det var min lidt for begrænsede viden om CGI der herskede da jeg skrev
ovenstående.
Jeg har nu fundet ud af at stdin kan tilgås via: fopen("php://stdin", "r");

--
Mvh./Best Regards
Jonas Delfs, http://delfs.dk



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

Månedens bedste
Årets bedste
Sidste års bedste