我正在尝试几天,但我无法得到我真正需要的东西,我在互联网上阅读了这么多帖子和很多实验,但仍然无法得到我的结果。
我需要什么:
我有服务器1和服务器2.我需要我将数据从服务器2发布到服务器1以填写表单并提交它而不将用户重定向到服务器1,并且在提交表单后我需要将执行来自服务器1的PHP,并将提交表单的结果发送回服务器2.
下面的代码可能会更清楚:
顺便说一下,表格是在ajax中。
来自服务器2的PHP:
$url_base
= 'the_path_of_the url_of_the_form_frontend_file_server_1.php';
$url_param =
'name=' . $_USER['name'] .
'&email=' . $_USER['email'] .
'&phone=' . $_USER['phone'] .
'&country=' . $_USER['country'].
'&password=' . $_USER['password'] .
'&verify_code=' . '-' .
'&group=' . 1 .
'&leverage=' . 100 .
'&deposit=' . 10000 .
'&state=' . '-' .
'&zipcode=' . '-' .
'&city=' . '-' .
'&phone_password=' . '-' .
'&send_reports=' . '-' .
'®ister_demo=' . 'yes_register';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url_base);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $url_param);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($url_param))
);
$result = curl_exec($ch);
curl_close($ch);
= 'the_path_of_the url_of_the_form_frontend_file_server_1.php';
$url_param =
'name=' . $_USER['name'] .
'&email=' . $_USER['email'] .
'&phone=' . $_USER['phone'] .
'&country=' . $_USER['country'].
'&password=' . $_USER['password'] .
'&verify_code=' . '-' .
'&group=' . 1 .
'&leverage=' . 100 .
'&deposit=' . 10000 .
'&state=' . '-' .
'&zipcode=' . '-' .
'&city=' . '-' .
'&phone_password=' . '-' .
'&send_reports=' . '-' .
'®ister_demo=' . 'yes_register';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url_base);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $url_param);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($url_param))
);
$result = curl_exec($ch);
curl_close($ch);
我的代码是从服务器2向服务器1发送数据并填写表单,$ result显示表单的html,但我需要在表单从服务器2提交到服务器1后,我需要服务器1的表单的php将被执行并发回表单的结果,实际上在提交表单后,结果将是用户的登录名和密码,在提交表单后创建登录名和密码。
我发送了一个额外的参数'& register_demo ='。 'yes_register';为了确定从服务器1完成表单的时间,我的表单有2个文件,一个文件用于前端,另一个用于后端,因为我使用ajax。
如果我没有犯错,似乎在从服务器2向服务器1提交表单后,我得到结果OK但似乎在服务器1上没有执行php,我可以检索回登录名和密码。我尝试获取此参数'& register_demo ='。 'yes_register';什么都不做,似乎只提交表单而不是后端文件。
对于任何帮助,我都会非常感激,这种情况让我发疯。
我出来了这个解决方案,因为表单只能从一个IP提交,因此我在另一台服务器上有相同的表单,我需要以某种方式从服务器2提交表单并获取登录名和密码服务器2将其显示给用户。
提前感谢你。
答案 0 :(得分:0)
我将在下面介绍解决方案,如果有人需要帮助,我可以帮忙解决问题。
解决方案:
由于我的表单正在使用AJAX,我正在从服务器2向服务器1发送curl以完成表单并在服务器1上执行PHP后得到结果。由于AJAX,我的PHP没有被执行。
所以我创建了一个服务器2将使用它的API。我在不同的文件和我需要执行的所有PHP(平面PHP)中实现了表单。之后,我将CURL发送到该API,我开始执行PHP并返回所需的结果。
如果有人需要更多帮助,请与我联系,我可以提供帮助,或者我可以根据您的要求提供代码示例。
感谢大家提供正确的提示。