在PHP函数中通过表单动作传递url中的参数


passing parameters in url through form action in php functions

我正在使用web服务成功地从SOAP客户端获取参数。我想通过html表单在url传递这个参数,这样我就可以用这个参数连接到我的系统。我有两个函数。函数login()用于设置SOAP客户机连接的参数,函数getVehicle()用于获取这些参数。在getVehicle()我想发送参数用户,哈希密码,dealer_number, corporate_group_id从url到client.php。这个参数我想从没有提交按钮的表单动作发送。

index . php

    function login()
    {
        $wsdl = 'http://www.schwackenet.de/awonline/de/service2/SNWebService.php?wsdl';
        $options = array('trace' => true);
        $params = array(
          'user' =>               utf8_encode('deshmukh'),
          'password' =>           utf8_encode('deshmukh'),
          'corporate_group_id' => '101',
          'dealer_number' =>      'INT31303',
          'dms_id' =>             'A13T2D19',
          'dms_image_url' =>      '', 
          'dms_keepalive_url' =>  '', 
          'dms_followup_url' =>   ''  
        );
        $client = new SoapClient($wsdl, $options);  
        $result = $client->Login($params);      
        return $return;
    }
if($parameter['aktion'] == 'getVehicle') 
{       
    //var_dump(Login());
    $vehicle=login();
    $user_login=$vehicle['user'];
    $password=$vehicle['password'];
    $dealer_no=$vehicle['dealer_number'];
    $group_id=$vehicle['corporate_group_id'];
//form action here         
    }

您可以使用内置的php函数file_get_contents()将数据作为GET请求传输到client.php,如下所示:

if ($parameter['aktion'] == 'getVehicle') 
{       
    $vehicle=login();
    $user_login=$vehicle['user'];
    $password=$vehicle['password'];
    $dealer_no=$vehicle['dealer_number'];
    $group_id=$vehicle['corporate_group_id'];
    // send the data to your system
    $system_url = 'http://yoursite.com/path/to/client.php';
    header("Location: $system_url?user=$user_login&password=$password&dealer_number=$dealer_no&corporate_group_id=$group_id");
    exit();
}

如果你想,你可以让client.php返回一个"成功"或"错误"输出,你会把它放在$response变量上,你可以记录它或用它做其他事情。

在您的login()中,您返回$return,这是错误的。您需要返回$result,它保存curl请求的结果。

function login()
    {
        $wsdl = 'http://www.schwackenet.de/awonline/de/service2/SNWebService.php?wsdl';
        $options = array('trace' => true);
        $params = array(
          'user' =>               utf8_encode('deshmukh'),
          'password' =>           utf8_encode('deshmukh'),
          'corporate_group_id' => '101',
          'dealer_number' =>      'INT31303',
          'dms_id' =>             'A13T2D19',
          'dms_image_url' =>      '', 
          'dms_keepalive_url' =>  '', 
          'dms_followup_url' =>   ''  
        );
        $client = new SoapClient($wsdl, $options);  
        $result = $client->Login($params);      
        return $result;
    }
if($parameter['aktion'] == 'getVehicle') 
{       
    $vehicle=login();
    var_dump($vehicle);
  }