PHP の便利な関数 output_add_rewrite_var
PHP から出力する HTML に最終的に a タグや form タグを見つけ出し、自動で指定した変数をクエリストリングや hidden 属性で挿入してくれる関数です。
PHP4.3 から追加されたようなのですが知らなかったです。
昔から、session.use_trans_sid というセションID を a タグや form タグの hidden 属性に追加してくれるのはありましたが、それをセションID 以外にも使用できるように関数化したもののようです。
URL リライト機構に新しい名前/値の組を追加します。 名前および値は、URL (GET パラメータとして) およびフォーム (hidden フィールドとして) で追加されます。これは、session.use_trans_sid で透過的 URL リライティングが有効になっている場合に セッション ID が渡される方法と同じです。 絶対 URL (http://example.com/..) はリライトされないことに注意しましょう。
- PHP マニュアルより
userid の値 $userid を全てのリンクに付与したい場合は、
output_add_rewite_var('userid', $userid);
と書くことにより
<a href="index.php">TOP</a>
が
<a href="index.php?userid=1">TOP</a>
と出力されます。
form タグも
<form action="index.php" method="post">
が
<input type="hidden" name="userid" value="1">
となります。
注意点としては絶対URLはりライトされないことです。
これがないと他サイトにまで、セションID などを渡してしまいますからね。
PHP マニュアル
output_add_rewrite_var
関連する投稿
One comment
コメントをどうぞ
Additional comments powered by BackType
3debauchery…
…