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


Reply via email to