On Fri, 2010-02-26 at 13:26 -0600, Shawn McKenzie wrote:
> I remembered seeing this question on the list several times in the past,
> so I thought I would post something I just hacked up for someone.
>
> As we know, we can user header() to redirect the browser, but of course
> we can't redirect the browser and have it post data to the new page. If
> you need to do this it will require javascript. Here's a quick and
> dirty function:
>
> function http_post_redirect($url='', $data=array(), $doc=false) {
>
> $data = json_encode($data);
>
> if($doc) {
> echo "<html><head></head><body>";
> }
> echo "
> <script type='text/javascript'>
> var data = eval('(' + '$data' + ')');
> var jsForm = document.createElement('form');
>
> jsForm.method = 'post';
> jsForm.action = '$url';
>
> for (var name in data) {
> var jsInput = document.createElement('hidden');
> jsInput.setAttribute('name', name);
> jsInput.setAttribute('value', data[name]);
> jsForm.appendChild(jsInput);
> }
> document.body.appendChild(jsForm);
> jsForm.submit();
> </script>";
>
> if($doc) {
> echo "</body></html>";
> }
> exit;
> }
>
> --
> Thanks!
> -Shawn
> http://www.spidean.com
>
Someone mentioned on the whatwg mailing list that most browsers are
capable of understanding multipart content, so that you could send down
two types of content a bit like you'd send a multipart email.
Thanks,
Ash
http://www.ashleysheridan.co.uk