2

确切的问题:尝试将参数从 url 传递到搜索框目标页面。

参数是这样“subid”的:

http://www.domain.com/?subid=3456

以及 php 中的当前(非工作)搜索表单代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
<form action="http://search.yahoo.com/search?subid=<?php print $_GET['subid'];?>&" target="_blank" id="search-box">
  <input type="text" name="p" size="31" />
  <input type="submit" value="Search" />
</form>

</body>
</html>

当我去这里时,我可以通过萤火虫看到 subid 在表单操作中:

http://www.domain.com/?subid=3456

但是当我在表单中运行查询时,并没有传递给雅虎。

那么问题出在哪里?

4

2 回答 2

4

您也应该subid作为参数发布,并将方法指定为get.

<form action="http://search.yahoo.com/search" target="_blank" method="get" id="search-box">
  <input type="hidden" name="subid" value="<?php print $_GET['subid'];?>" />
  <input type="text" name="p" size="31" />
  <input type="submit" value="Search" />
</form>
于 2013-05-16T15:52:09.797 回答
0

根据作者的要求,为 GET 参数添加了一些过滤:

<form action="http://search.yahoo.com/search" target="_blank" method="get" id="search-box">
  <input type="hidden" name="subid" value="<?=(int)$_GET['subid']?>" />
  <input type="text" name="p" size="31" />
  <input type="submit" value="Search" />
</form>

或者您可以在输出之前使用strip_tags+htmlentities函数。

于 2013-05-23T18:51:05.113 回答