スクリプトメモ » SSI - HTML
20080709
クエリー取得

URLの後ろの、?から続いている部分の取得と編集方法です。
環境変数$QUERY_STRINGで全文が取れるので、そこから必要な部分を正規表現で抜き出します。

<!--#if expr="$QUERY_STRING= /mode=([^&]+)/" -->
<!--#set var="mode" value="$1"-->
<!--#endif -->

たとえばindex.html?mode=viewとなっていると、変数modeには"view"が入ります。





この下に送信した内容が表示されます。

[an error occurred while processing this directive] QUERY_STRING:
[an error occurred while processing this directive] 表示が選択されました ・・・ 

if文を使って、表示の切り替えを行っています。

<!--#if expr="$QUERY_STRING= /mode=([^&]+)/" -->
<!--#set var="mode" value="$1"-->
<!--#endif -->

<!--#if expr="$mode = 'view'" -->
表示が選択されました ・・・ <!--#echo var="mode" --><br>
<!--#elif expr="$mode = 'edit'" -->
編集が選択されました ・・・ <!--#echo var="mode" --><br>
<!--#else -->
フォームの内容は送信されていません。
<!--#endif -->

ifによる分岐の中で<link>や<style>を使ってスタイルシートを変更したり、
<!--#include virtual -->を使用すると、フォームの送信内容に合わせて、外部ファイルを取り込むことができます。


スクリプトチップス集 Index
Wicker Wings