【PHP】年間会員システムの開始日と終了日を求める

年間会員の仕組みを作っていて
会員の有効期間をデータベースに登録するとします。

データベース登録後に送信するメールにも有効期間を記載するため、
SQLではなくPHPで開始日と終了日を求めることになりました。

PHPの日付関数で年間会員の開始日と終了日を計算します。

開始日は当日ではなく、当月の1日とします。これは簡単ですね。

終了日は1年後の前月の最終日、たとえば2017年4月15日に入会した場合の終了日は
2018年3月31日
になります。
このとき、単純に今日の日付をもとに計算してしまうと、
月末の31日などに入会した際に前後の月が30日までしかないことにより、結果がおかしくなってしまいます。
ですので、必ず「1日」を基準に計算するようにします。

長いですね。無駄がありそうな気がしないでもないですが。

【CSS】カーソル形状の一覧

CSSで指定できるカーソル形状で、よく使われるものをリストアップしました。
文字にカーソルを合わせるとカーソル形状が変化します。

  • auto
  • default
  • pointer
  • move
  • wait
  • help
  • not-allowed
  • progress
  • n-resize
  • w-resize
  • nw-resize
  • ne-resize
  • all-scroll
  • col-resize
  • row-resize

【jQuery】入力フォームでエンターキーを押したら処理を実行

よくあるsubmitフォームの場合、
エンターキーを押すと自動的にsubmitされるようになっています。

これをformタグがないただの入力フォーム上で、
エンターキーが押されたら処理を行うようにします。

【CSS】vertical-alignが効かないときに確認すること

縦方向の表示位置を整えてくれるスタイル「vertical-align」ですが、
横方向の「text-align」と比べて使用できる条件は限られています。

まずvertical-alignが使用できるのは
・インライン要素
・テーブル要素
のみです。divタグやpタグに、ただvertical-alignを指定しただけでは反映されません。

反映させるにはテーブル要素にしてしまいます。

それと、縦方向のサイズが指定されていなかったり、%で指定されていたりしても反映されません。
具体的なサイズで指定します。

【HTML5】localStorageを使ってローカルPCに連想配列DBを構築する

HTML5で利用できるようになったlocalStorageは
その名の通り、ローカルPCにデータを保存することができます。

しかもセッションやcookieのように期限もないので
これまでWEBアプリではサーバーに保存するしかなかったデータを、
サーバーを使わずにローカルのデータベースに保存することができます。

まずはlocalStorageに対応しているかどうかを確認

次に値の格納・取得ですが、いろんな使い方が用意されています。

私が使うのはもっぱら連想配列です。

連想配列のセット (valが連想配列)

連想配列の取得

これだけで連想配列のデータベースとしていろんな使いかたができると思います。
スマホのアプリでWEBビューを使ってアプリのデータ保存に使うのも面白いですね。

もちろん、ローカルなので他の端末でアクセスするとデータが取得できないという
WEBアプリとしてはあり得なかったデメリットもあります。
ローカルとサーバーで両方DBを持ち、お互いにデータを同期させるなど工夫も必要になります。