ホーム 
 工作室トップ 
 入門・表示 
 便利シリーズ 
 動くシリーズ 
 Cross-Browser 
 スタイルシート 
 画像のトランジション表示 
 画像の反復トランジション 
 複数画像のトランジション 
 ヘルプ表示(1) 
 ヘルプ表示(2) 
 画像反転(2)+ヘルプ表示(2) 
 HTMLフリップ表示 
 スライドイン・アウト 
 ツリー式メニューバー 
 スライドする複数タイトル 
 バウンドするタイトル 
 飛び跳ねるタイトル 
 ぐるぐる回る文字 
 ぐるぐる回る画像 
 UFOのように動く画像 
 クッキー 
 画像・サウンド 
 小技 
 実用 
 スクロール 
 日付・挨拶 
 カラー 
 リンク 
 文字 
 クッキー入門 
 回数/初・前回訪問 
 訪問回数毎の挨拶 
 訪問間隔毎の挨拶 
 更新ページの案内 
 クッキーデータ修復 
 BGM/音声の挨拶(1) 
 BGM/音声の挨拶(2) 
 季節毎の画像表示 
 時刻毎に画像表示 
 時刻毎に背景画像 
 イメージオブジェクト 
 メニュー画像反転(1) 
 メニュー画像反転(2) 
 スライドショー 
 互換命令一覧 
 ブラウザ情報を見る 
 ドキュメント情報 
 整数乱数を得る 
 小ウィンドウを開く 
 フォームサイズ調整 
 2000年対応法 
 jsファイルの活用 
 タロット占い 
 おみくじ 
 万年カレンダー(1) 
 万年カレンダー(2) 
 マルチ検索エンジン 
 フォームメール(基本) 
 フォームメール(応用) 
 ダイエットの鉄人 
 バイオリズム 
 今日のこよみ 
 日月出没計算 
 スクローラ(1) 
 スクローラ(2) 
 電光掲示板(1) 
 電光掲示板(2) 
 テロップ表示(1) 
 テロップ表示(2) 
 説明文テロップ 
 テロップ+画像反転(1) 
 テロップ+画像反転(2) 
 ページスクローラ(1) 
 ページスクローラ(2) 
 カウントダウン表示 
 カウントアップ表示 
 訪問日・更新日表示 
 時刻表示(1) 
 時刻表示(2) 
 朝昼晩のメッセージ(1) 
 時刻毎にメッセージ(2) 
 特別日にメッセージ 
 日数表示 
 背景色(1) 
 背景色(2) 
 フェードイン・アウト 
 リンクボタン 
 メニューセレクター(1) 
 メニューセレクター(2) 
 文字記述と連結 
 文字を取得 
 文字化け対策 
 16進文字列変換 
 カウンタ 
 ソース&改造 
 リンク・統計 
 実用 
 携帯用CGI 
 日付・時刻 
 画像・サウンド 
 グラフィックカウンタ 
 今日・昨日の訪問者 
 今月・先月の訪問者 
 クッキーカウンタ 
 振り分けカウンタ 
 ダウンロードカウンタ(1) 
 ダウンロードカウンタ(2) 
 CGI Tips集 
 webaxs.plの改造 
 openmsg.pl 
 tdylog.cgi 
 pageview.cgi 
 バナー登録 
 バナー登録EX 
 アクセス解析 
 アクセス解析2 
 環境変数一覧 
 ゲストブック 
 ツリー式掲示板 
 お礼メッセージ 
 ご意見番 
 ハッピーバースディ4(自動化版) 
 ハッピーバースディ3(sendmail版) 
 ハッピーバースディ3(CGI版) 
 ハッピーバースディ 
 カレンダー+セイハッピー 
 今日は何の日 
 登録機能つきおみくじ 
 タロット占い 
 相性診断 
 おみくじ 
 今日は何の日 
 ダイエットの鉄人 
 夢チャット 
 AI夢チャット 
 バイオリズム 
 夢掲示板 
 日付・時間表示(SSI) 
 日付・時間表示(CGI) 
 オープニングメッセージ 
 ファイルの最終更新日 
 経過時間表示 
 画像を変える 
 音声でご挨拶 
 音楽を奏でる 
 HTML記述 
 印刷・色指定 
 ソース・ダウンロード 
 ディレクトリ指定 
 カラー項目記述 
 HTMLタグ「"」の記述 
 <,> のブラウザ表示 
 アクセスカウンタの注意点 
 空のファイル作成 
 黒のページを印刷 
 色の指定・組合せ 
 カラーコード対応表 
 カラーファインダー 
 ソースを見る 
 スクリプトをコピー 
 プログラム 
 HTMLソース 
 画像GIFデータ 
 背景GIFデータ 






 このメニューはドラッグ&ドロップで好きな場所に移動できます  戻る  DHTML  CGI&SSI  JavaScript  便利帳 
 


本日  昨日
 
05/10(Sat) 06:12

ハッピーバースデイの作り方
(04.02.21)「敬老の日」が2003(平成15)年から9月第3月曜日になる「祝日法」の改正に未対応だったのを対応するように修正。最新版のbirthday.cgi(V2.9b)をダウンロードしbirthday.cgiのみ入れ替えをお願いします
(03.05.03)「海の日」が2003(平成15)年から7月第3月曜日になる「祝日法」の改正に対応。また振替休日が祝日の場合に振替休日をダブって表示してしまうバグを修正しました。最新版のbirthday.cgi(V2.9a)をダウンロードしbirthday.cgiのみ入れ替えをお願いします

【ハッピーバースデイご利用の皆様へ重要なおしらせ】(2002.08.10)
登録された方々の個人情報(メールアドレスなど)が丸見えになるとのご指摘を頂きました。データファイルを直接表示できないようプログラムを急遽変更しました。ハッピーバースデイご利用の方は、お手数ですが至急、下記の対応をお願いいたします。
  • .htaccess ファイルが使えないサーバの方
    (1)最新版のbirthday.cgi(V2.9)、sayhappy_sp.pl(V2.2)をダウンロードし最新版に差し替え
    (2)さらに、データファイルbirthday.datの名前をbirthdaydat.cgiに名前変更

  • .htaccess ファイルが使えるサーバの方
    (1)birthday.dat が閲覧できないよう .htaccess ファイルに次の1行を追加してください
        AddHandler cgi-script dat
    (2).htaccess ファイルをサーバのbirthdayディレクトリ直下へ転送

このCGI は、Mamiko.Sさん作「誕生花&誕生石プログラム」( birthday.pl )を利用させて頂いてます。また作者のご好意により再配布も許可していただきました。詳細をご覧になりたい方は作者のページMamiko's Pageをご覧ください。( birthday.plの著作権はMamiko.Sさんにあります )
このCGIの設置解説をして頂いてるページ
携帯でCGIさんのハッピーバースデイ 設置方法-HI-HOでのSSI設置説明。簡単な操作で設置できるよう工夫されています。
みんなで作るバースデイカレンダーです。
<特徴>
・本日の誕生花、花言葉と誕生石、宝石言葉を表示します。
・当日誕生日を迎えられた方にはお誕生日メッセージを表示します。
・トップページの表示は一覧表示(誕生順表示、登録順表示)、カレンダー表示を選択できます。
・全表示、誕生月を指定しての表示が可能です。
・カレンダーは土日表示、祝日名つき祝日表示です。
・変更/削除機能の権限を「管理者のみ」 or 「投稿者も可」に設定できます。
・変更・削除キー問い合わせメール機能。
・AND検索が可能な検索機能。
・一覧表示で1ページに表示する最大件数をユーザ指定できます。
・登録コメント文の文字数限度設定およびオーバした場合の削除文字数を通知する機能。
・「今日の誕生日」「今月の誕生日」「今日は何の日」を好きなページに表示します( sayhappy_sp )。
・背景や文字色のカスタマイズが簡単な変更で可能です。

作成手順を説明します。

  1. プログラムをダウンロードします.
  2. ダウンロードしたプログラムをを解凍し、編集します.
  3. サーバに転送し、実行権を設定をします.
xxxx.pl(SSIバージョン)とxxxx.cgi(CGIバージョン)が同梱されてますのであなたのプロバイダーの状況により使い分けてください。


プログラムをダウンロードします。

  1. ファイルのダウンロードの前に、あなたのパソコンにディレクトリを作ります。
    • ホームページのある場所(index.htmを置いてある場所)にbirthdayというサブディレクトリを作成します。(ここに解凍した全ファイルを置きます。)
    • サーバー側にもbirthdayというディレクトリを作成しておきます。

  2. プログラムの名前を(左)クリックするとダウンロードを始めます。

    1. birthdayご利用の方:birthday.lzhをダウンして下さい。
    2. sayhappy_spご利用の方:birthday.lzhsayhappy_sp.lzhwhatday.lzhをダウンして下さい。
      (birthday、whatdayを設置済みの方はsayhappy_spのみダウンします。)

    CGIを動かすのに必要なファイル達
      (1) birthday.cgi-----赤色のファイルが必要です。
      (2) sayhappy_sp.pl---赤色青色のファイルが必要です。

    (右クリックでなくて左クリックですのでご注意下さい。)
    ファイル名このファイルに同梱されてるファイル内容最新版サンプル
    birthday.lzh
     (約31KB)
    スクリプト:birthday.cgibirthday.pl、jcode.pl
    データ:birthdaydat.cgi
    画像:birthday.gif、home.gif、mail.gif、heart.gif
    V2.9bbirthday.cgi
    sayhappy_sp.lzh
     (約8KB)
    スクリプト:sayhappy_sp.pl、sayhappy_sp.cgi V2.2sayhappy_sp.cgi
    whatday.lzh
     (約98KB)
    スクリプト:whatday.pl、whatday.cgi
    データ:birthday.txt、monthly.txt、event.txt、history.txt
    V1.6whatday.cgi

    downcnt.cgiという名前で保存されますので、birthday.lzhなど名前を変更して保存します。これをLhasaなどの解凍ソフトで解凍します。
    旧版(sayhappy、thismonth)のダウンロードはこちらbirthday_sub.lzh(約6KB)からできます。


ダウンロードしたファイルを解凍し、編集します。
以下sayhappy_sp.plで説明しますのでsayhappy_sp.cgiを使う場合は、sayhappy_sp.plをsayhappy_sp.cgiに読み替えて下さい。

  1. ファイルの構成と内容

    birthday.lzhを解凍し以下のファイルを使います。

    1. birthday.cgi(ハッピーバースデイ本体)
    2. birthday.pl (誕生花・誕生石表示プログラム、Mamiko.Sさん作)
    3. birthdaydat.cgi(データファイル)
    4. birthday.gif (タイトル画像)
    5. mail.gif (メール用画像)
    6. home.gif (ホームページ用画像)
    7. heart.gif (お誕生日マーク画像)
    8. jcode.pl (日本語コード変換プログラム)

    sayhappy_sp.lzhを解凍し以下のファイルを使います。

    1. sayhappy_sp.pl(今日・今月の誕生日&今日は何の日表示プログラム)

    whatday.lzhを解凍し以下のデータファイルを使います。

    1. birthday.txt(有名人誕生日ファイル)
    2. monthly.txt (何の日ファイル)
    3. event.txt (行事ファイル)
    4. history.txt (歴史・出来事ファイル)

  2. birthday.cgi
    • 1行目: #!/usr/local/bin/perl をあなたのプロバイダの「perlのあるパス」に書き換えます。
      多くのプロバイダはこの指定で大丈夫と思いますが、うまくいかない場合はプロバイダに問い合わせて下さい。Infowebの場合は #!/usr/bin/perl になります。
    • 25行目: $home = '../index.htm';に「ホーム」ボタンで戻したい戻り先URLを指定します。
    • 41行目: $midi = $basedir.'/happybirthday.mid'; のhappybirthday.midをあなたの演奏したいMIDIデータの名前にします。演奏しない場合は$midi ='';に変更します。
      (注)happybirthday.midは同梱されておりません。MIDIデータをご自身で用意できない方は必ず$midi ='';に変更してください。このままだと「プラグインが要求したデータ-は、正常にダウンロードできませんでした。」とエラーになります。
    • 47行目: $delkey = 'abc123'; のabc123をあなた固有のキーに変更します。投稿者に変更・削除させたい時は $delkey = '';に変更します。
    • 51行目: $address = 'xxxx@xxx.infoweb.ne.jp'; のxxxx@xxx.infoweb.ne.jpにあなたのメールアドレスを指定します。変更・削除キー問い合わせメールがこのアドレスに届きます。

  3. sayhappy_sp.pl
    • 1行目: #!/usr/local/bin/perl をあなたのプロバイダの「perlのあるパス」に書き換えます。
    • 19行目: $sel = 0; に表示項目選択番号を指定します。詳細はカスタマイズの項を参照してください。
    • 24行目: $basedir = './birthday' を、このCGIを貼りつけたHTML文、から見たbirthdayディレクトリのパスにします。birthdayディレクトリに全てのファイルを置けるプロバイダーの方は変更しません。
    • 29行目: cgiと画像データ等を別のディレクトリに置かないといけないプロバイダーの方は$basedir2 = './birthday';に、このCGIを貼りつけたHTML文、から見た画像データ等のパスを指定して下さい。
    • 34行目: $basedir3 = './whatday' を、このCGIを貼りつけたHTML文、から見たwhatdayディレクトリのパスにします。

  4. birthday.pl
    • 1行目: #!/usr/local/bin/perl をあなたのプロバイダの「perlのあるパス」に書き換えます。

  5. birthdaydat.cgi、birthday.gif、mail.gif、home.gif、heart.gif、jcode.pl
    birthday.txt、monthly.txt、event.txt、history.txt
    • なにも変更しません。そのまま使います。

  6. birthday.cgiへのリンク
    • index.htmの中に以下のリンクを貼ります。
      <a href="./birthday/birthday.cgi">ハッピーバースデイ</a>

  7. sayhappy_sp.plへのリンク
    • index.htmの中の表示したい場所に以下のSSI文を記述します。
      <!--#exec cmd="./birthday/sayhappy_sp.pl"-->

  8. index.htmなどのSSI記述するファイルの拡張子について
    • プロバイダーによってはSSIを記述するファイルの拡張子はindex.shtmlと、shtmlでないと動作しないところがあります(freewebなど)。あなたのプロバイダーに確認してください。

  9. jcode.plのディレクトリー指定の方法(手持ちの jcode.pl を使う方)
    • いくつかのCGIを設置してて、jcode.plを共通に使ってる方は、jcode.plを違うディレクトリーに置いてあると思いますので、birthday.cgiの require './jcode.pl'; の赤の部分をそのディレクトリー指定に書き換えます。パスの指定のしかたはこちらです。

サーバに転送し、実行権を設定をします。

  1. 画像データbirthday.gif、mail.gif、home.gif、heart.gifをサーバ側にバイナリモードで、それ以外のファイルをアスキーモードで、転送します。

  2. ファイルの構成と実行権
    転送が終わったら、 CGI(拡張子xxxx.pl、xxxx.cgiのファイル)に実行権755を、 birthdaydat.cgi に666を、ディレクトリ birthday、whatday に777を設定します。ディレクトリの実行権の設定を忘れないで下さい。
    index.htm
    birthday(777)
        |--------- birthday.cgi (755)
        |--------- birthday.pl (755)
        |--------- birthdaydat.cgi (666)
        |--------- birthday.gif
        |--------- mail.gif
        |--------- home.gif
        |--------- heart.gif
        |--------- jcode.pl (755)
        |--------- sayhappy_sp.pl (755)
    whatday(777)
        |--------- birthday.txt
        |--------- monthly.txt
        |--------- event.txt
        |--------- history.txt
    

さぁ、これで完成です。index.htmのハッピーバースデイをクリックして見ましょう。ハッピーバースデイが表示されれば完成です。
プロバイダ別設置のヒント

新しいプロバイダに設置された方情報提供よろしくお願いいたします。
プロバイダHTMLからCGIへのリンク画像置場birthday.cgiの$basedir指定
infoweb./birthday/birthday.cgibirthday.cgiと同じ$basedir = '.';
@niftyhttp://hpcgi?.nifty.com/****/
birthday/birthday.cgi
index.htmと同位置の
birthdayディレクトリ
$basedir = 'http://homepage?.nifty.com
/****/birthday';
hi-hohttp://www.hi-ho.ne.jp/cgi-bin/user
/****/birthday.cgi(サブディレクトリ不可)
index.htmと同位置の
birthdayディレクトリ
$basedir = '/****/birthday';
iswebhttp://isweb?.infoseek.co.jp/****
/cgi-bin/birthday/birthday.cgi
birthday.cgiと同じ$basedir = '.';
(注)****部分はあなたが取得した名前(ID)です。?部分にはHTML文で記述するURLの場合と同じ数字が入ります。


もっとあなた好みにしてみませんか!(カスタマイズ)

正常動作が確認できたら、もっとあなた好みに変更(カスタマイズ)しましょう。

簡単に変更できる項目
個人設定の部分が変更できます。いろいろトライしてみて下さい。

birthday.cgi

  1. トップページの表示形式
    • $toppage = 2; #カレンダー表示 0、登録順一覧表示 1、誕生順一覧表示 2
  2. 1ページに表示する件数
    • $pmax = '50';
  3. 登録コメント文の文字数限度...全角文字1文字で「2」100で全角文字50文字...
    • $commax = '80';
  4. bodyタグの設定
    • $col_bg = 'white'; #背景色
      $col_txt = 'black'; #テキスト色
      $bgpic = './gif/haikei.gif'; #背景に画像を使う場合場所を指定
  5. タイトルに画像&横幅
    • $titpic = './birthday.gif'; #タイトルに画像を使う場合場所を指定
    • $width = '85%'; #タイトルの横幅(pixel指定or%指定)。あなたのページに合わせて調整します。
  6. 文字色( カラー名 or カラーコードを変更 )
    • $col_name = 'crimson'; #名前
      $col_mess = 'blue'; #メッセージ
      $col_regi = 'navy'; #登録日
      $col_flow = 'brown'; #誕生花メッセージ
      $col_srch = 'red'; #検索文字
sayhappy_sp.pl
  1. 表示項目選択
    • $sel = 0;
      0:今日の誕生日+今日は何の日+今月の誕生日
      1:今日の誕生日+今日は何の日
      2:今日の誕生日          +今月の誕生日
      3:          今日は何の日+今月の誕生日
      4:今日の誕生日
      5:                    今月の誕生日
        (注)今日は何の日のみ表示はwhatday.plをご利用ください
  2. 文字色( カラー名 or カラーコードを変更 )
    • $col_name = 'crimson'; #birthday名前の文字色
      $col_name2 = 'blue'; #whatday名前文字色
      $col_flow = 'brown'; #誕生花メッセージの文字色
      $scolor = "lightcyan"; #新着色
  3. 文字サイズ(スタイルシート)
    • $size = "8pt";
  4. 今月の誕生日で1行に表示する人数(2,4と偶数値を指定)。あなたのページに合わせて調整します。
    • $num = 4;
  5. テーブル幅の指定。(%指定 or ピクセル指定)。あなたのページに合わせて調整します。
    • $wid = "95%";
  6. 新着を、過去何日以内にするか日にちを指定
    • $new = '30';

SSIコマンド #exec が使えないときの対処法

プロバイダーの中には SSI は使えるが、 #exec コマンドを禁止してるプロバイダー(hi-hoなど)があります。この場合、#include コマンドが使えれば、sayhappy_sp.plを#include用に変更することで同じSSI動作をさせることが出来ます。

  • sayhappy_sp.plの変更個所
    ・7行目:#print "Content-type: text/html\n\n";の # を削除します。
    ・24行目:$basedir = './birthday'; の/birthdayを削除し $basedir = '.'; にします。
    ・34行目:$basedir3 = './whatday'; に「 . 」を1つ追加し $basedir3 = '../whatday'; にします。
    ・112行目:onClick='location=\"$basedir/birthday.cgi?action=reg&vew=$mon&disp=rday\"'およびonClick='location=\"$basedir/birthday.cgi\"'の$basedir/birthday.cgiの部分に$basedir/birthday/birthday.cgi と/birthdayを追加します。

  • index.htm中の表示したい場所に以下の記述をします。
    ( sayhappy_sp.plでうまく行かないときは拡張子をsayhappy_sp.cgiに変更してみてください。プロバイダによっては拡張子がcgiでないと動作しないことがあります)
    <!--#include file="./birthday/sayhappy_sp.pl"-->

[注]「file」引数で指定できるパスは、SSI記述したHTMLファイルと同じディレクトリかサブディレクトリにある場合にのみ使えます。絶対パスは使えません。また相対パスでも「..(親ディレクトリ)」は使えません。
それ以外の場合、つまりfileでは指定できない所にファイルがある場合は「virtual」引数でファイルの位置をURLのパスで指定します。
 URLのパスとはURLがhttp://kikuchisan.net/の場合以下のようになります。
 <!--#include virtual="/birthday/sayhappy_sp.pl"-->


広告バナーの挿入法

ページトップとボトムとにバナーを入れる場合の挿入箇所と挿入文例を以下に示します。広告バナーをCGIに入れる必要のあるプロバイダーの方は参考にしてください。
(注)サンプルはfreewebのものですがfreewebは2000年/7月からバナー自動挿入になりましたのでこの追加は必要ありません。[2000.08.20修正:この情報はh2さんから頂きました]

birthday.cgi

  1. ページヘッダーの追加。(145行目) sub header{ print "<html><head><title>$title</title></head>$body\n"; print "<P ALIGN=right><FONT SIZE=-1><I>$date_now</I></FONT></P>\n"; ○○○○○ if ($midi ne '' && $form{'disp'} eq ''){ #音楽演奏 print "<EMBED src=\"$midi\" autostart=true hidden=true loop=false>\n"; } } と○○○○○の場所に以下の部分を追加します。
    print "<center><a href='http://www.freeweb.ne.jp/cgi-bin/ad/redirect.cgi' target='_top'><img src='http://www.freeweb.ne.jp/cgi-bin/ad/getimage.cgi?region=freeweb' border=0></a></center>\n";

  2. ページボトムの追加。(106行目) # フッタの設定 $footer = <<_END_; <p><div align="right"><font size="-1">birthday.cgi $version by <a href="http://kikuchisan.net/" target="_blank">kikuchisan</a><br> birthday.pl by <a href="http://www.nmt.ne.jp/~mamiko/" target="_blank">Mamiko.S</a> </font></div>○○○○○</body></html> _END_ と○○○○○の場所に以下の部分を追加します。
    <center><a href="http://www.try-net.or.jp/" target="_top"><img src="http://www.freeweb.ne.jp/ad/trynet.gif" border=0></a><a href="http://www.freeweb.ne.jp/" target="_top"><img src="http://www.freeweb.ne.jp/ad/freeweb_s.gif" border=0></a></center>

sayhappy_sp.cgi

  1. ページヘッダーの追加。(125行目) #ここからハッピーバースディ表示 print "<html><head><title>セイハッピー</title></head> <body bgcolor=$bgcol background=$bgpic>\n"; ○○○○○ print "<center><form method=\"GET\" action=\"$basedir/sayhappy_sp.cgi\">"; と○○○○○の場所に以下の部分を追加します。
    print "<center><a href='http://www.freeweb.ne.jp/cgi-bin/ad/redirect.cgi' target='_top'><img src='http://www.freeweb.ne.jp/cgi-bin/ad/getimage.cgi?region=freeweb' border=0></a></center>\n";

  2. ページボトムの追加。(242行目) print "</center>\n"; ○○○○○ print "</body></html>\n"; と○○○○○の場所に以下の部分を追加します。
    print "<center><a href='http://www.try-net.or.jp/' target='_top'><img src='http://www.freeweb.ne.jp/ad/trynet.gif' border=0></a><a href='http://www.freeweb.ne.jp/' target='_top'><img src='http://www.freeweb.ne.jp/ad/freeweb_s.gif' border=0></a></center>\n";


FAQ
Q.日付が更新されないのですが、自動的に現在の日付にするにはどうしたら良いでしょうか?
A.ブラウザのキャッシュ機能のせいです。
 1.Netscapeは、再読み込みをすればページが更新されます。
 2.IEは、再読み込みではページ更新されず、サーバ側のファイルが更新されないと更新されません。

解決法は、現在のところ頻繁に(例えば1回/1日)ファイルをアップロードするしか方法が見つかりません。下の方法もありますがInfowebではうまく機能しないようです。プロバイダによっては機能するかも知れないので試してみて下さい。

  1. ファイル拡張子を xxx.shtml と shtml にする。
  2. metaタグでno-cacheを指定する。<meta http-equiv="pragma" CONTENT="no-cache">
  3. SSIでなくてCGIで利用する。この場合小ウィンドウを開いて表示すると良いでしょう。
    <a href="javascript:;" onClick='window.open("./birthday/thismonth.pl","","scrollbars=yes,width=300,height=350");'>今月の誕生日</a>
  4. 旧infowebの方は、下記のファイルをindex.htmと同じ場所にアップすることによって日付が自動的に更新されるようになります。他のプロバイダーの方も.htaccessファイルが使える場合は有効かも知れませんのでプロバイダーに確認してみてください。
    [2000.07.15追加:この情報はinfowebユーザのmamyさんから頂きました]
    • ファイル名:.htaccess
    • 内容:XBitHack off


カレンダーの知識とヒント
  1. 西暦1年1月1日が月曜日と定められてます。
  2. うるう年の計算
    if ((($year % 4 == 0) && ($year %100 != 0)) || ($year % 400 == 0))
    が「真」の年はうるう年になります。
  3. 曜日の計算-ツェラーの公式より西暦$year年$month月$day日の曜日を求める
    $week = ($year + int($year/4) - int($year/100) + int($year/400) + int((13*$month + 8)/5) + $day ) % 7;
    ・$week = 0:日曜日、1:月曜日、・・6=土曜日になります。
    ・1月または2月の場合は前年の13月および14月とみなして計算します。
  4. 第2月曜日は何日の算出
    上記ツェラーの公式で$dayを1にしてその月の1日の曜日を計算(上段の式)した後、下段の式の$happyMonに何日が得られます。
    $week = ($year + int($year/4) - int($year/100) + int($year/400) + int((13*$month + 8)/5) + 1 ) % 7;
    if ($week <= 1) { $happyMon = 7+(2-$week);} else { $happyMon = 14-($week-2);}

    (応用)第2日曜日は下段の式をこうします。
    $week = ($year + int($year/4) - int($year/100) + int($year/400) + int((13*$month + 8)/5) + 1 ) % 7;
    if ($week <= 0) { $happyMon = 7+(1-$week);} else { $happyMon = 14-($week-1);}
    (応用)第n日曜日は下段の式をこうします。
    $week = ($year + int($year/4) - int($year/100) + int($year/400) + int((13*$month + 8)/5) + 1 ) % 7;
    if ($week <= 0) { $happyMon = (n-1)*7+(1-$week);} else { $happyMon = n*7-($week-1);}


更新履歴

birtday

  1. 2004/02/21 V2.9b
     ・「敬老の日」が2003(平成15)年から9月第3月曜日になる「祝日法」の改正に未対応だったのを対応するように修正。
  2. 2003/05/03 V2.9a
     ・「海の日」が2003(平成15)年から7月第3月曜日になる「祝日法」の改正に対応。
     ・振替休日が祝日の場合に振替休日をダブって表示してしまうバグ修正。
  3. 2002/08/10 V2.9
     ・データファイルを表示できないように変更。
  4. 2000/03/25 V2.8
     ・春分/秋分の日の自動計算ルーチン追加。
  5. 2000/03/02 V2.7
     ・今日の誕生日表示がおかしくなる(birthday.plの修正ミス)不具合緊急修正。
  6. 2000/03/01 V2.6
     ・重複登録チェック機能追加。
     ・誕生花&誕生石(birthday.pl)表示が1ヶ月ずれる不具合修正。
  7. 2000/02/25 V2.5
     ・今日の誕生日(sayhappy.pl)機能を組み込み。
  8. 2000/02/12 V2.4
     ・「変更・削除キー問い合わせ」をフォームメールから可能にした。
  9. 1999/12/03 V2.3
     ・背景画像が表示されないバグ修正。
  10. 1999/11/27 V2.2
     ・ハッピーマンディ法(成人の日/体育の日第2月曜日)に対応。
     ・振替休日の自動計算。MIDI機能の追加。
  11. 1999/11/02 V2.1
     ・変更・削除権限を管理者のみとする機能の追加&バグ修正。
  12. 1999/10/27 V2.0 V1.0の機能強化。V2.0として公開。
     ・変更・削除機能の追加。
     ・AND検索が可能な検索機能追加。
     ・トップページ表示形式にカレンダー表示、誕生順表示、登録順表示の選択機能追加。
     ・1ページに表示する最大件数をユーザ指定できる機能の追加。
     ・一覧表示で誕生順表示、登録順表示の表示切替機能の追加。
     ・登録コメント文の文字数限度設定およびオーバした場合削除文字数を通知する機能を追加。
  13. 1999/10/10 V1.0 スクリプト公開。
sayhappy_sp

  1. 2002/08/10 V2.2
     ・データファイルを表示できないように変更。
  2. 2001/01/05 V2.1
     ・新着表示機能の追加およびスタイルシート導入によるテーブル表示のコンパクト化。
     ・コメントに「'」があるとスクリプトエラーになるバグ修正。
  3. 2000/03/25 V2.0
     ・sayhappy、thismonth、wahtdayをsayhappy_spに吸収統合。(sayhappy、thismonthを廃止)
     ・背景画像指定、一覧表示リンクの追加。
  4. 2000/02/16 V1.2
     ・任意の指定日を見れるようにsayhappy_sp.cgiの機能追加。
     ・パス指定を簡易にできるようにsayhappy_sp、sayhappy、thismonthのパス指定方法を変更。
  5. 2000/02/12 V1.1
     ・「今日の誕生日」「今月の誕生日」「今日は何の日」を一体表示するsayhappy_sp.pl公開。
     ・「今日の誕生日」の表示内容に「登録者コメント」表示を追加。
     ・「今月の誕生日」の表示形式を横2段(任意に設定可能)に変更。
     ・CGIバージョンsayhappy.cgi、thismonth.cgi、sayhappy_sp.cgiを新規追加。
  6. 1999/10/27 V1.0
     ・「今日の誕生日」(sayhappy.pl)「今月の誕生日」(thismonth.pl)を好きなページに表示するSSI公開。

 
 
©1997-2025 Kikuchisan's workshop All rights reserved //

スポンサーリンク

関連コンテンツ