Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 搜索其他站点的搜索框_Php_Search_Parameters - Fatal编程技术网

Php 搜索其他站点的搜索框

Php 搜索其他站点的搜索框,php,search,parameters,Php,Search,Parameters,站点A:开发中(PHP) 地点B: 我想在站点A中包含一个输入框;键入查询并按Enter键后,打开一个新选项卡以显示B的搜索结果。这就像我直接将搜索查询键入B一样 例如,我搜索了“testing”,并检查了来自B的搜索结果,我看到了以下内容。如何将查询从站点A传递到站点B <div id="search"> <form action="/Resources/SiteSearch" id="siteSearchForm" method="post"> &l

站点A:开发中(PHP) 地点B:

我想在站点A中包含一个输入框;键入查询并按Enter键后,打开一个新选项卡以显示B的搜索结果。这就像我直接将搜索查询键入B一样

例如,我搜索了“testing”,并检查了来自B的搜索结果,我看到了以下内容。如何将查询从站点A传递到站点B

<div id="search">
   <form action="/Resources/SiteSearch" id="siteSearchForm" method="post">
      <label for="search-box">
      SEARCH</label>
      <div id="search-box-wrapper">
         <input type="text" id="search-box">
      </div>
      <input id="searchText" name="searchText" type="hidden" value="testing"><input id="siteSearchUrl" name="siteSearchUrl" type="hidden" value="http://yboss.yahooapis.com/ysearch/limitedweb?format=xml&amp;sites=www.apprenticesearch.com&amp;q=testing">
      <input type="image" src="/userfiles/images/E/buttons/go.png" id="search-button" value="GO" siteurl="www.apprenticesearch.com"><!-- www.apprenticesearch.com -->
   </form>
</div>

搜寻

您只需在站点a的表单中包含target=“\u blank”,以及请求在站点B上的工作方式必须包含siteSearchUrl输入

<form id="apprenticeForm" action="http://www.apprenticesearch.com/Resources/SiteSearch" method="POST" target="_blank" onsubmit='submitSearch()'>
    <input type="text" name="searchText" id="searchText" value=""/>
    <input type="submit" value="Submit"/>
    <input id="siteSearchUrl" name="siteSearchUrl" type="hidden" value="http://yboss.yahooapis.com/ysearch/limitedweb?format=xml&sites=www.apprenticesearch.com&q="/>
</form>

您需要使用javascript进行额外输入的原因与Site B在发送请求之前使用javascript填充siteSearchUrl的原因相同

查看服务器的工作方式:站点B将该请求发送到/Resources/SiteSearch,在该服务器上调用
SiteSearch(String searchtext,String siteSearchUrl)
函数。如果直接转到没有post参数的页面,您会发现由于没有从服务器设置siteSearchUrl,会抛出
System.ArgumentNullException参数名称:uriString

如果要分析siteSearchUrl的参数:

  • URL
    yboss.yahooapi.com
    用于API服务
  • sites
    参数告诉API要在结果中搜索和显示的站点
  • q
    参数就是要搜索的查询

连接到B的数据库并在其上运行查询。因此,您将从BI获得结果。我不认为我需要这样做(而且无论如何也无法这样做)。谢谢!你为我指明了正确的方向。。。现在的问题是如何在提交表单时附加正确的搜索参数。我是否需要使用Javascript在用户键入时不断更新q=xxx的值?我尝试了类似的方法,
function updateSearch(){document.getElementById(“siteSearchUrl”).value=http://yboss.yahooapis.com/ysearch/limitedweb?format=xml&;sites=www.peeditsearch.com&;q='+document.getElementById(“searchText”).value}
是的,您需要Javascript,我已经用代码和另一个指向JSFIDLE的链接更新了答案,显示了siteSearchUrl问题的修复方法。
function submitSearch()
{
    q = document.getElementById("searchText").value;
    document.getElementById("siteSearchUrl").value = 'http://yboss.yahooapis.com/ysearch/limitedweb?format=xml&sites=www.apprenticesearch.com&q=' + q; 
    return true;
}