Avatar billede gummimand Nybegynder
06. januar 2004 - 14:57 Der er 7 kommentarer og
1 løsning

POST vs. GET fra PHP

Hvis man fra php vil forbinde sig til en server via en url og sende data til denne gør jag det således:

$url = "http://www.domæne.com";
$data1 = 10;
$data2 = "hilsen"
fopen("$url?data1=$data1&data2=$data2");

Det går også godt så længe serveren forventer data send som "GET".

Men hvad gør jeg hvis jeg skal sende det som "POST"?
Avatar billede exp Juniormester
06. januar 2004 - 15:13 #1
så skal du sende det fra en form - du kan ikke hente fra query-strengen vis POST
Avatar billede phpwiz Nybegynder
06. januar 2004 - 15:32 #2
<form action="http://www.domæne.com" method="post">
<input type="hidden" name="data1" value="10">
<input type="hidden" name="data2" value="hilsen">
<input type="submit">
</form>

sådan
Avatar billede gummimand Nybegynder
06. januar 2004 - 15:38 #3
Udfordringen (læs problemet) er at vores bibliotek ikke vil sende en mail når en bog el.l. er ved at blive for gammel, men man kan selv logge sig ind (vha. en form på deres hjemmeside) og se ens lån og hvilken dato de skal afleveres. Det håbede jeg at kunne automatisere vha. et php-skript, når nu biblioteket ikke kan/vil ...

Derfor er løsningen med en form ikke brugbar i den sammenhæng.

Andre ideer?
Avatar billede fangel Nybegynder
06. januar 2004 - 15:45 #4
du _KAN_ godt fake et POST request - men det er væsenligt sværer end et get.. du skal

1) oprette en socket til server
2) lave et HTTP 1.1 /POST request (hvis du ikke ved hvordan man gør det)
3) loope gennem socketen for at hive data ud...

er ikke så skarp til HTTP by-hand, men det er noget i den stil her:

---
POST /side.php HTML/1.1
Content-length : ANTAL BYTES I POST

&variabel1=indhold1&variabel2=data2

---

tror der mangler et par headere - men det er noget i den stil - altså ikke nær så nemt som GET

Morten
Avatar billede chikaboo Nybegynder
06. januar 2004 - 19:38 #5
http://dk2.php.net/manual/en/function.fsockopen.php et stykke nede er et eksempel på det du ønsker! Der er en del kode så jeg vil ikke kopiere det ind her, men det starter med "This is a very fast program for test a form or link (many times)."
Avatar billede fangel Nybegynder
06. januar 2004 - 19:57 #6
fandt lidt om POST-requests her

http://www.wdvl.com/Authoring/Scripting/Tutorial/post.html (du kan lade være med at sende user-agent)

Morten
Avatar billede gummimand Nybegynder
07. januar 2004 - 07:42 #7
Jeg har nu "leget" lidt med ovenstående forslag hvilket blot har medført at udfordringen (læs problemet) er blevet større.
Biblioteket bruger selvfølgelig en httpS://  forbindelse når man overføre personlige oplysninger som lånernummer og PIN-kode, og det kan fsockopen() ikke håndtere.
Avatar billede fangel Nybegynder
07. januar 2004 - 15:45 #8
kører du Linux ? programmet "curl" kan vidst nok klare det (sende POST over https) - men er ikke sikker...

Morten
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester