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

cookie取得

cookieは環境変数HTTP_COOKIEに入っているので、クエリー取得と同じようにして必要な部分を取り出します。
クッキーの区切り文字は ";"(セミコロン)です。

<!--#set var="cookie" value="$HTTP_COOKIE" -->
<!--#if expr="$HTTP_COOKIE = /myck=([^;]+)/" -->
<!--#set var="myck" value="$1"-->
<!--#endif -->

cookie全体:

クッキーはありません

クッキーを保存してリロード

<!--#if expr="$myck" -->
<em>クッキー保存済み: <!--#echo var="myck" --></em><br>
<br>
<a href="index.html" onclick="cookieDelete();">クッキーを消してリロード</a>
<!--#else -->
<em>クッキーはありません</em><br>
<br>
<a href="index.html" onclick="cookieSave();">クッキーを保存してリロード</a>
<!--#endif -->

このページのクッキーはJavaScriptを使用して保存しています。

<script type="text/javascript">
/* クッキーを削除する関数 */
function cookieDelete(){
    document.cookie='myck=; myck2=';
}
/* クッキーを保存する関数 */
function cookieSave(){
    document.cookie='myck=mycookie; myck2=cookie2';
}
</script>

クッキーの保存と削除は<meta>でも可能です。
<meta>によるクッキー保存に対応していないブラウザはこの方法が使えません。
また、ページ読み込み時にのみクッキーを保存できますので、ページ表示後に変更したい場合はページを読み直す必要があります。

クッキーを保存するとき
<meta http-equiv="Http-Cookie" content="myck=mycookie" >

クッキーを削除するとき
<meta http-equiv="Http-Cookie" content="myck=; >

JavaScriptを使わず、<meta>を使ってクッキーをセットするにはこちらのページに移動してください。

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


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