无法在php$_GET中传递多个参数
本文关键字:参数 GET php | 更新日期: 2023-09-27 18:21:32
我有以下php代码,它充当我的http服务器的代理
slaveRef.php
<?php
$url = 'http://xyzdei/IPDWSRest/Service1.svc/getServerUtil';
$callback = $_GET["callback"];
echo($callback . "(");
header('Content-Type: application/json; charset=utf8');
echo(file_get_contents($url . '/' . $_GET["poolingServer"], $_GET["serverPID"]));
echo (")");
?>
IIS上托管的Web服务具有以下合同
[OperationContract]
[FaultContract(typeof(ExceptionOnIPDWS))]
[WebInvoke(BodyStyle = WebMessageBodyStyle.WrappedRequest, UriTemplate = "getServerUtil/{poolingServer}&{serverPID}", ResponseFormat = WebMessageFormat.Json, Method = "GET")]
//Status getServerUtil(string poolingServer,string serverPID, ref string oCreateResult);
string getServerUtil(string poolingServer, string serverPID);
在浏览器中,我试图将uri称为
http://:1136/slavePerf.php?poolingServer=thunderw7dei&服务器PID=23456
但是,请求失败,并显示以下消息
>
Notice: Undefined index: callback in C:'Users'xom'Documents'My Web
> Sites'EmptySite2'slavePerf.php on line 4 ( Warning:
> file_get_contents(http://xomw764dei/IPDWSRest/Service1.svc/getServerUtil/thunderw7dei):
> failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in
> C:'Users'xom'Documents'My Web Sites'EmptySite2'slavePerf.php on line 8
> )
我认为我没有正确传递参数
您没有设置名为"callback"的参数,因此它不会在$_GET变量中设置。
您可以通过以下操作修复错误消息:
$callback = "";
if(array_key_exists('callback', $_GET) == TRUE){
$callback = $_GET['callback'];
}
并添加一个'&'在url中:
echo(file_get_contents($url . '/' . $_GET["poolingServer"] . '&' . $_GET["serverPID"]))
当我为file_get_contents 修改php文件时,问题得到了解决
echo(file_get_contents($url . '/' . $_GET["poolingServer"]));
和我的uriTemplate到
[WebInvoke(BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "getServerUtil/{poolingServer}/{serverPID}", ResponseFormat = WebMessageFormat.Json, Method = "GET")]