php[world] in Washington, D.C.

output_add_rewrite_var

(PHP 4 >= 4.3.0, PHP 5)

output_add_rewrite_varURL リライタの値を追加する

説明

bool output_add_rewrite_var ( string $name , string $value )

この関数は、URL リライト機構に新しい名前/値の組を追加します。 名前および値は、URL (GET パラメータとして) およびフォーム (hidden フィールドとして) で追加されます。これは、session.use_trans_sid で透過的 URL リライティングが有効になっている場合に セッション ID が渡される方法と同じです。 絶対 URL (http://example.com/..) はリライトされないことに注意しましょう。

この関数の挙動は、php.ini パラメータ url_rewriter.tags によって制御されます。

注意: もし出力バッファリングが有効になっていない場合、この関数を コールすると出力バッファリングが暗黙的に開始されます。

パラメータ

name

変数名。

value

変数の値。

返り値

成功した場合に TRUE を、失敗した場合に FALSE を返します。

例1 output_add_rewrite_var() の例

<?php
output_add_rewrite_var
('var''value');

// リンク
echo '<a href="file.php">リンク</a>
<a href="http://example.com">リンク2</a>'
;

// フォーム
echo '<form action="script.php" method="post">
<input type="text" name="var2" />
</form>'
;

print_r(ob_list_handlers());
?>

上の例の出力は以下となります。

<a href="file.php?var=value">リンク</a>
<a href="http://example.com">リンク2</a>

<form action="script.php" method="post">
<input type="hidden" name="var" value="value" />
<input type="text" name="var2" />
</form>

Array
(
    [0] => URL-Rewriter
)

参考

add a note add a note

User Contributed Notes 3 notes

up
2
Bruce
6 years ago
Just to clarify...

session.use_trans_sid does NOT need to be enabled in order for output_add_rewrite_var() to work.
up
1
Niko
6 years ago
This function also adds a parameter to <input type="image"> fields!

Example:
This code:

<?
output_add_rewrite_var ('var','value');
echo '<form action="" method="post">
        <input type="image" src="image.jpg" alt="go">
        </form>';
?>

will output something like this:

<form action="" method="post">
        <input type="hidden" name="var" value="value">
        <input type="image" src="image.jpg?var=value" alt="go">
        </form>
up
0
Anonymous
5 years ago
For a completely valid XHTML document you have to set the arg_separator, use this before you use output-add-rewrite-var:

<?php
ini_set
('arg_separator.input', '&');
ini_set('arg_separator.output', '&');
?>
To Top