3

処理後、次を使用して前のページでユーザーを送信しています。

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

これでadd.phpに送られます:

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

もう一度、もう 1 つのデータを追加すると、ヘッダーの場所は次のように渡されます。

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

これにより、文字列の最初の疑問符の前のすべてが返されます。

$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 に答える
0
preg_replace('/(.*)\?/',$_SERVER['HTTP_REFERER'],'\1');
于 2012-03-29T12:17:14.913 に答える