我的网页上运行了一个搜索脚本,并且正在扩展搜索功能。目前,它搜索特定的动态用户字段。现在,如果第一次搜索没有结果,我想执行二次搜索。
假设有人搜索“健康”,搜索 url 输出将是:
" *.com/ .php?do=getall& study =health"
如果没有结果,将运行以下命令:
if ( preg_match( "~/(.*?)$~msi", $_SERVER[ "REQUEST_URI" ], $vv ))
{
$string = strstr( $vv[1], 'health=');
$n_string = explode("=",$string);
$url = 'http://www.****.com/***.php?do=getall&enjoys=' . $_GET[$n_string[1]];
ob_clean();
header('Location:' . $url);
}
该 url 将被重定向到另一个搜索字段。如果我不包含 ob_clean() 或某些变体,则会出现“标头已发送”错误。
问题是,在运行 ob_clean() 之后,$n_string 中的值丢失了。
感谢您的任何帮助!
- - 编辑 - -
谢谢大家的答案。我找到了解决我的代码中错误的方法。$url = 'http://www. * .com/ .php?do=getall&enjoys=' 。$_GET[$n_string[1]];
本来应该
$url = 'http://www.****.com/***.php?do=getall&enjoys=' . $n_string[1];
尽管允许我清理使用 ob_clean() 的方法,但您的回答很有帮助。