生年月日から年齢を自動で計算するPHP

モデル事務所とかサッカーチームとかホストクラブとか、プロフィールの掲載が必要なサイトで年齢を毎年更新するのは大変なので、自動で年齢を計算してくれるPHPです。


生年月日から年齢を計算する簡単な計算式
http://itpro.nikkeibp.co.jp/article/Watcher/20070822/280097/


↑こちらを参考にしてます。


<?php


//生年月日を設定
//年は4桁、月日は2桁で入力。
$y = "2000";
$m = "01";
$d = "01";
$birth = $y.$m.$d;


//今日の日付を取得
$today_y = date("Y");
$today_m = date("m");
$today_d = date("d");
$today = $today_y.$today_m.$today_d;


//年齢を計算
$age = (int)(($today - $birth)/10000);


?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>


<body>
生年月日:<?php echo ($y); ?>年<?php echo ($m); ?>月<?php echo ($d); ?>日<br />
年齢:<?php echo ($age); ?>歳
</body>
</html>


法的な厳密性が必要な際は、もうちょっとちゃんとやらないとダメっぽい。


「生年月日から年齢を計算する簡単な計算式」は使えるとは限らない
http://d.hatena.ne.jp/alittlething/20070827/p1


参考に別の年齢計算式。↓


PHPで年齢計算
http://d.hatena.ne.jp/smilestyle55/20060513


PHPで日付・時刻の計算 - 年齢計算
http://ponk.jp/old/php_time/index.php?page=2

利用規約の法的効力について

利用規約の法的効力についてまとめてあるサイト。


Webサイトの利用規約の作り方 - 利用規約は法的に有効?
http://plastic-planter.com/article/59.html


Webサイトの利用規約の作り方 - 有効にするための表示方法
http://plastic-planter.com/article/64.html


Webサイトの利用規約の作り方 - こんな規約は無効だ
http://plastic-planter.com/article/69.html


Webサイトの利用規約の作り方 - 規約の内容に何を書くか テンプレート(雛形)/サンプル(見本)
http://plastic-planter.com/article/73.html


Webサイトの利用規約の作り方 - 利用規約の書式(書き方)
http://plastic-planter.com/article/75.html


Webサイトの利用規約の作り方 - サンプリング&ミクスチャー
http://plastic-planter.com/article/76.html


利用規約の法的拘束力
http://kogumaneko.tk/cc/1click_01.html


ウェブサイトの利用規約の有効性
http://kogumaneko.tk/cc/ec_02.html


Webサイトの利用規約の有効性
http://www.soi.wide.ad.jp/class/20060031/slides/13/36.html


Webサイト上の利用規約・約款等は常に有効か?
http://www.ys-law.jp/article/13219699.html


ネット上の会員登録規約の法的拘束力について
http://oshiete1.goo.ne.jp/qa270543.html


そもそも【利用規約】は法的な効力を持つのか?
http://oshiete1.goo.ne.jp/qa3041774.html

IEの場合だけ、フォームでEnterを押してもうまく動作しない

他のブラウザでは問題ないのに、IE(6と7で確認)だけフォームで
Enterキー押した時にフォームがうまく動作しないので調べたみた。


理由はIEの場合、テキストボックスが1つしかないフォームでは、
Enterキーを押しても、submitボタンの情報がサーバに送信されないバグ(仕様?)らしい。


テキストボックスが2つあれば、最初のテキストボックスの情報は送信されるらしいので、
次のような感じでCSSで表示上、見えなくしたらよいらしい。


<form name="" method="POST" action="">
    <input type="text" name="" value="" />
    <input type="text" name="" value="" style="display:none;" />
    <input type="submit" name="" value="送信" />
</form>


■参考サイト


IE:フォームでEnterキー押したときの挙動
http://blog.goo.ne.jp/hazuki26/e/945c71cc5d21b2d3be72e73a194d5531


Form内でEnterキーによるSubmit ボタン値の送信
hhttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=27786&forum=12


Javascript で IE のバグと戦う
http://espion.just-size.jp/archives/07/061182848.html


IE のフォームがタコい件について。
http://www.pastel-flower.jp/~isaki/input-type-submit.php

さくらインターネットのサーバでPHPをShift_JISで動かす

さくらインターネットのサーバのPHPの標準文字コードがEUC-JPなので、
Shift_JISで動かしたい場合の方法。携帯サイトをPHPで組む際に。


もちろん、さくらインターネットじゃなくても、
サーバの文字コードがShift_JISではない場合に使える。


ソースコードの先頭に下記のコードを入れる。
ファイル自体の文字コードは、Shift_JISにする。


<?
mb_language("Japanese");
mb_internal_encoding("Shift_JIS");
?>


<?xml version="1.0" encoding="Shift_JIS"?> を入れると、動かないっぽい。


■コピペ用サンプル

<?
mb_language("Japanese");
mb_internal_encoding("Shift_JIS");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
<head>
    <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=Shift_JIS" />
    <meta name="language" content="Japanese" />
    <meta name="description" content="" />
    <meta name="keywords" content="" />
    <title></title>
</head>

<body>

</body>
</html>


■参考サイト
euc-jpでしかphpが動かないサーバーでshift-jisでphpを動かしたい - 教えて!goo
http://oshiete1.goo.ne.jp/qa4072109.html

SVNクライアントで「Can't create tunnel」というエラーが出て、チェックアウトできない

TortoiseSVNで、「チェックアウト」すると、「エラー: Can't create tunnel: 指定されたファイルが見つかりません」というエラーが出て、チェックアウトできない。RapidSVNでも同じエラーがでる。


ぐぐってみる。


SVN「Can't create tunnel.」のエラーについて
http://mishuku.net/archives/2008/02/svncant-create-tunnel.php
対処が箇条書きで分かりやすいが、使用しているPCは、
Windows XPなので、Windows Defenderは使っていないので違う・・・。


・TortoiseSVNの再度インストールしてみるが、変化なし。
・TortoiseSVNのバージョン1.6.0ではなく1.4.8をインストールしてみるが、変化なし。
・環境変数を設定を変えてみるが、変化なし。(上記リンク参照)
・Subversionのconfigファイル編集をしてみるが、変化なし。(上記リンク参照)


一応、他の対処も一通り行ってみるが全部、変化なし。


・レジストリキーの削除で、チェックアウトできた。


方法は次の通り。
「スタート」→「ファイル名を指定して実行」→「regedit」を入力、レジストリエディタを起動。
HKEY_CURRENT_USER → Software → Simon Tatham → PuTTY → Sessions を開く。
このSessionsの中に入っているキーを全部削除。