3

处理完毕后,我在上一页使用以下命令发送用户:

header('Location: ' . $_SERVER['HTTP_REFERER'] . '?Add=Successful');

现在它把我送到我的add.php

http://localhost/add.php?Add=Successful

当我再添加一个数据时,标题位置再次传递以下内容:

http://localhost/add.php?Add=Successful?Add=Successful

我想要的是修剪标题位置直到问号:

让我们说一些类似修剪的事情并将其保存$_SERVER['HTTP_REFERER']?一个变量中,这样如果关键字?存在,它应该再次修剪它http://localhost/add.php,然后将该变量传递到标题位置,这样它就可以变成这样:

header('Location: ' . $trimmedHeader . '?Add=Successful');
4

4 回答 4

9

您还可以使用 PHP parse_url()函数。

$url = parse_url($_SERVER['HTTP_REFERER']);
$trimmedHeader = $url['scheme'] . '://' . $url['host'] . $url['path'];
header('Location: ' . $trimmedHeader . '?Add=Successful');
于 2012-03-29T12:27:20.167 回答
0
preg_replace('/(.*)\?/',$_SERVER['HTTP_REFERER'],'\1');
于 2012-03-29T12:17:14.913 回答
0

这将返回字符串中第一个问号之前的所有内容。

$trimmedheader = array_shift(explode("?", $_SERVER['HTTP_REFERER']));
于 2012-03-29T12:25:35.377 回答
0
$urlArray = parse_url($_SERVER['HTTP_REFERER']);
$newUrl = $urlArray['scheme'].'://'.$urlArray['host'].$urlArray['path'].'?Add=Successful';
header("Location: $newUrl");

这已经过测试并且工作正常......

于 2012-03-29T12:29:19.687 回答