我已经搜索过,无法让我的表单发布,然后重定向到我自己的网址。我可以把它拿到一个或另一个但不是两个。如果我把api放在表单操作中它写入数据库。 我试图允许用户提交表单,数据通过API传递到另一台服务器上的数据库,用户被重定向到我选择的页面。 以下Q& A是我最接近的 Using both form submission and redirection 在表单提交上,用户被发送到" sendthedata.php"其中包含以下代码
现在,当我提交表单时,它会重定向到指定的页面,但不会发布任何数据。当我尝试使用javascript(来自示例链接)时,表单甚至不提交,页面刷新,数据在提交的表单中的URL中。任何想法我做错了什么?我之前从未使用过curl。
**更新了代码但现在获得的页面的输出我不明白
IronRouter
数组([url] => http://DATABASE.com/listener.php [content_type] => 为text / html; charset = UTF-8 [http_code] => 200 [header_size] => 387 [request_size] => 292 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 0.156171 [namelookup_time] => 7.6E-5 [connect_time] => 0.060235 [pretransfer_time] => 0.060291 [size_upload] => 88 [size_download] => 27 [speed_download] => 172 [speed_upload] => 563 [download_content_length] => 27 [upload_content_length] => 88 [starttransfer_time] => 0.15614 [redirect_time] => 0 [certinfo] => Array()[primary_ip] => xxxxxxxxxxx [primary_port] => 80 [local_ip] => xxxxxxxxxxx [local_port] => 35623 [redirect_url] => )0-警告:无法修改 标题信息 - 已经发送的标题(输出开始于 /home/xxxxx/public_html/xxxxx/tst/poster.php:42)in 第52行/home/xxxxx/public_html/xxx/tst/poster.php
答案 0 :(得分:0)
从您的代码中,我可以看到您已使用curl注释了数据发布。启用它。
此外,使用http_build_query()
准备您的帖子数据,而不是手动准备它以避免任何有关特殊字符的问题。所以整体看起来如下:
$post_string = http_build_query($post_data);
curl_setopt($curl_connection, CURLOPT_POST, true);
curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $post_string);