FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Imported messages » comp.lang.php » Simulating a Form Method=Post submission in PHP
Show: Today's Messages :: Polls :: Message Navigator
Switch to threaded view of this topic Create a new topic Submit Reply
Simulating a Form Method=Post submission in PHP [message #178421] Sat, 16 June 2012 18:25 Go to next message
Robert Rosenberg is currently offline  Robert Rosenberg
Messages: 6
Registered: May 2012
Karma: 0
Junior Member
I would like to go to an external site and send a form to it via Post
(simulating having generated the form and having the user submit it). I know
that if I had been using GET, I could just code the parms along with the URL
in the location command. To simulate Post I assume that I just need to use
header to send the POST parms but I do not know the format of what to place
in the header request (and I assume that I then use location to fire off to
connection).

Can someone either supply me with a sample code to do this or give me the
URL of the documentation of the Headers that get sent by Post so I can look
them up and create the needed script myself.

Thank You.
Re: Simulating a Form Method=Post submission in PHP [message #178423 is a reply to message #178421] Sat, 16 June 2012 18:45 Go to previous messageGo to next message
Jerry Stuckle is currently offline  Jerry Stuckle
Messages: 2598
Registered: September 2010
Karma: 0
Senior Member
On 6/16/2012 2:25 PM, Robert Rosenberg wrote:
> I would like to go to an external site and send a form to it via Post
> (simulating having generated the form and having the user submit it). I know
> that if I had been using GET, I could just code the parms along with the URL
> in the location command. To simulate Post I assume that I just need to use
> header to send the POST parms but I do not know the format of what to place
> in the header request (and I assume that I then use location to fire off to
> connection).
>
> Can someone either supply me with a sample code to do this or give me the
> URL of the documentation of the Headers that get sent by Post so I can look
> them up and create the needed script myself.
>
> Thank You.
>

Look up the cURL functions.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex(at)attglobal(dot)net
==================
Re: Simulating a Form Method=Post submission in PHP [message #178424 is a reply to message #178421] Sat, 16 June 2012 18:46 Go to previous messageGo to next message
Luuk is currently offline  Luuk
Messages: 329
Registered: September 2010
Karma: 0
Senior Member
On 16-06-2012 20:25, Robert Rosenberg wrote:
> I would like to go to an external site and send a form to it via Post
> (simulating having generated the form and having the user submit it). I know
> that if I had been using GET, I could just code the parms along with the URL
> in the location command. To simulate Post I assume that I just need to use
> header to send the POST parms but I do not know the format of what to place
> in the header request (and I assume that I then use location to fire off to
> connection).
>
> Can someone either supply me with a sample code to do this or give me the
> URL of the documentation of the Headers that get sent by Post so I can look
> them up and create the needed script myself.
>
> Thank You.
>


use curl (example #2)
see: http://www.php.net/manual/en/function.curl-setopt.php

or file_get_contents
see: http://www.php.net/manual/en/function.file-get-contents.php#108309
Re: Simulating a Form Method=Post submission in PHP [message #178426 is a reply to message #178424] Sun, 17 June 2012 00:10 Go to previous messageGo to next message
Robert Rosenberg is currently offline  Robert Rosenberg
Messages: 6
Registered: May 2012
Karma: 0
Junior Member
On 06/16/2012 14:46, in article 6s0va9-ugd(dot)ln1(at)luuk(dot)invalid(dot)lan, "Luuk"
<luuk(at)invalid(dot)lan> wrote:

> On 16-06-2012 20:25, Robert Rosenberg wrote:
>> I would like to go to an external site and send a form to it via Post
>> (simulating having generated the form and having the user submit it). I know
>> that if I had been using GET, I could just code the parms along with the URL
>> in the location command. To simulate Post I assume that I just need to use
>> header to send the POST parms but I do not know the format of what to place
>> in the header request (and I assume that I then use location to fire off to
>> connection).
>>
>> Can someone either supply me with a sample code to do this or give me the
>> URL of the documentation of the Headers that get sent by Post so I can look
>> them up and create the needed script myself.
>>
>> Thank You.
>>
>
>
> use curl (example #2)
> see: http://www.php.net/manual/en/function.curl-setopt.php
>
> or file_get_contents
> see: http://www.php.net/manual/en/function.file-get-contents.php#108309
>

Thank You.

Example 2 was EXACTLY what I needed (even though all I wanted to do was pass
a set of parms not load a file).

One other query. I seem to remember a site whose function was to display all
the headers being passed. I think it was a security type page whose purposed
was to show all the data being leaked/sent in the headers when you connect.
I would like to see what I ended up sending (as well as all the headers
being sent) so I have a reference to see what the cURL function caused the
browser to send. Cam you refresh my memory by supplying a URL for that site.

Thank You.
Re: Simulating a Form Method=Post submission in PHP [message #178427 is a reply to message #178426] Sun, 17 June 2012 00:41 Go to previous messageGo to next message
Jerry Stuckle is currently offline  Jerry Stuckle
Messages: 2598
Registered: September 2010
Karma: 0
Senior Member
On 6/16/2012 8:10 PM, Robert Rosenberg wrote:
> On 06/16/2012 14:46, in article 6s0va9-ugd(dot)ln1(at)luuk(dot)invalid(dot)lan, "Luuk"
> <luuk(at)invalid(dot)lan> wrote:
>
>> On 16-06-2012 20:25, Robert Rosenberg wrote:
>>> I would like to go to an external site and send a form to it via Post
>>> (simulating having generated the form and having the user submit it). I know
>>> that if I had been using GET, I could just code the parms along with the URL
>>> in the location command. To simulate Post I assume that I just need to use
>>> header to send the POST parms but I do not know the format of what to place
>>> in the header request (and I assume that I then use location to fire off to
>>> connection).
>>>
>>> Can someone either supply me with a sample code to do this or give me the
>>> URL of the documentation of the Headers that get sent by Post so I can look
>>> them up and create the needed script myself.
>>>
>>> Thank You.
>>>
>>
>>
>> use curl (example #2)
>> see: http://www.php.net/manual/en/function.curl-setopt.php
>>
>> or file_get_contents
>> see: http://www.php.net/manual/en/function.file-get-contents.php#108309
>>
>
> Thank You.
>
> Example 2 was EXACTLY what I needed (even though all I wanted to do was pass
> a set of parms not load a file).
>
> One other query. I seem to remember a site whose function was to display all
> the headers being passed. I think it was a security type page whose purposed
> was to show all the data being leaked/sent in the headers when you connect.
> I would like to see what I ended up sending (as well as all the headers
> being sent) so I have a reference to see what the cURL function caused the
> browser to send. Cam you refresh my memory by supplying a URL for that site.
>
> Thank You.
>

You may be thinking of the HTTP Headers plugin for Firefox. A great
tool, but it doesn't help with cURL because cURL doesn't use the browser.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex(at)attglobal(dot)net
==================
Re: Simulating a Form Method=Post submission in PHP [message #178428 is a reply to message #178426] Sun, 17 June 2012 12:19 Go to previous messageGo to next message
J.O. Aho is currently offline  J.O. Aho
Messages: 194
Registered: September 2010
Karma: 0
Senior Member
Robert Rosenberg wrote:
> On 06/16/2012 14:46, in article 6s0va9-ugd(dot)ln1(at)luuk(dot)invalid(dot)lan, "Luuk"

>> use curl (example #2)
>> see: http://www.php.net/manual/en/function.curl-setopt.php
> Example 2 was EXACTLY what I needed (even though all I wanted to do was pass
> a set of parms not load a file).
>
> One other query. I seem to remember a site whose function was to display all
> the headers being passed. I think it was a security type page whose purposed
> was to show all the data being leaked/sent in the headers when you connect.
> I would like to see what I ended up sending (as well as all the headers
> being sent) so I have a reference to see what the cURL function caused the
> browser to send. Cam you refresh my memory by supplying a URL for that site.

First of all, when you are using PHP on a website, everything regarding PHP is
executed on the web server, so the users web browser will not do anything more
than send a form to your script.

If you want to have header information which curl sent to the server, you can
do the following before you use curl_close():

$sentheader = curl_getinfo($ch, CURLINFO_HEADER_OUT);



If you want to have the header you got from the remote server, then do the
following before curl_exec():

curl_setopt($ch, CURLINFO_HEADER_OUT, 1);

and before curl_close():

$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$header = substr($response, 0, $header_size);


If you are interested of seeing the header that the user sent when they posted
the the form:

$headers = apache_request_headers();

foreach ($headers as $header => $value) {
echo "$header: $value <br />\n";
}

This will only work on a apache server, depending on how you have setup the
apache server to execute php. There is suggestion on a work around which you
can read at:

http://www.rvaidya.com/blog/php/2009/02/25/get-request-headers-sent-by-clie nt-in-php/



--

//Aho
Re: Simulating a Form Method=Post submission in PHP [message #178431 is a reply to message #178427] Sun, 17 June 2012 18:14 Go to previous messageGo to next message
Luuk is currently offline  Luuk
Messages: 329
Registered: September 2010
Karma: 0
Senior Member
On 17-06-2012 02:41, Jerry Stuckle wrote:
> On 6/16/2012 8:10 PM, Robert Rosenberg wrote:

>> I would like to see what I ended up sending (as well as all the headers
>> being sent) so I have a reference to see what the cURL function caused
>> the
>> browser to send. Cam you refresh my memory by supplying a URL for that
>> site.
>>
>> Thank You.
>>
>
> You may be thinking of the HTTP Headers plugin for Firefox. A great
> tool, but it doesn't help with cURL because cURL doesn't use the browser.
>

or, if you use IE, press F12.... ;)
Re: Simulating a Form Method=Post submission in PHP [message #178435 is a reply to message #178421] Mon, 18 June 2012 07:54 Go to previous messageGo to next message
Arno Welzel is currently offline  Arno Welzel
Messages: 317
Registered: October 2011
Karma: 0
Senior Member
Robert Rosenberg, 16.06.2012 20:25:

> I would like to go to an external site and send a form to it via Post
> (simulating having generated the form and having the user submit it). I know
> that if I had been using GET, I could just code the parms along with the URL
> in the location command. To simulate Post I assume that I just need to use
> header to send the POST parms but I do not know the format of what to place
> in the header request (and I assume that I then use location to fire off to
> connection).

If available - use curl:

<http://php.net/manual/en/book.curl.php>

> Can someone either supply me with a sample code to do this or give me the
> URL of the documentation of the Headers that get sent by Post so I can look
> them up and create the needed script myself.

<?php
$data = array(
'field1'=>'value1',
'field2'=>'value2'
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://server.example');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_exec($ch);
curl_close($ch);
?>


--
Arno Welzel
http://arnowelzel.de
http://de-rec-fahrrad.de
Re: Simulating a Form Method=Post submission in PHP [message #178575 is a reply to message #178426] Tue, 03 July 2012 12:11 Go to previous message
Denis McMahon is currently offline  Denis McMahon
Messages: 634
Registered: September 2010
Karma: 0
Senior Member
On Sat, 16 Jun 2012 20:10:09 -0400, Robert Rosenberg wrote:

> One other query. I seem to remember a site whose function was to display
> all the headers being passed.

Assuming you have a web server available to you, it shouldn't be too
difficult to set this up yourself. Just make a page on your server that
logs the relevant data to a file, and point your curl routines at that
page.

Rgds

Denis McMahon
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: Reading & Displaying Latex Rendered images
Next Topic: Apache and php to show http request headers.
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Sat Nov 23 04:21:43 GMT 2024

Total time taken to generate the page: 0.02242 seconds