スマフォ用サイト


スマフォ用サイトのQRコード

このページを共有


1月のカレンダー



1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

カテゴリ一覧

ただの日記(965)
原付生活(3)
子育て日記(11)
PC関連(11)
もろもろ日記(908)

競馬+POG(1595)
当たらない予想と反省会(707)
POGネタ(58)
競馬について考える(19)
競馬もろもろ(219)
ダービーウィーク!(14)
2011年競馬場訪問記(27)
2012年競馬場訪問記(53)
2013年競馬場訪問記(61)
2014年競馬場訪問記(40)
2015年競馬場訪問記(44)
2016年競馬場訪問記(25)
2017年競馬場訪問記(36)
2018年競馬場訪問記(39)
2019年競馬場訪問記(34)
2020年競馬場訪問記(24)
2021年競馬場訪問記(37)
2022年競馬場訪問記(51)
2023年競馬場訪問記(70)
2024年競馬場訪問記(22)
地方競馬馬主(5)
ひとくち馬主(3)

ホームページ製作(366)
PHPの備忘録(13)
CSSの備忘録(5)
JavaScriptの備忘録(2)
ホームページもろもろ(287)
Flashの備忘録(12)
管理人の備忘録(21)
スマフォ用サイト作成(19)

自宅サーバ(360)
FreeBSD(17)
Apache(4)
PHP(5)
MySQL(17)
サーバもろもろ(145)
障害連絡(131)
リニューアルプロジェクト 2011-2012(41)

お仕事(48)
お仕事(48)

旅の記録・水曜どうでしょう関連(43)
水曜どうでしょう(11)
2009年四国お遍路(6)
2009年アンコールワット(5)
2010年ベトナム(3)
2010年いっそ九州(5)
2010年北海道179市町村(5)
2011年春の一人旅(2)
2011年四国お遍路(6)


先月までのネタ

2024年
2024年4月(3)
2024年3月(7)
2024年2月(8)
2024年1月(13)

2023年
2023年12月(11)
2023年11月(8)
2023年10月(10)
2023年9月(7)
2023年8月(9)
2023年7月(10)
2023年6月(6)
2023年5月(10)
2023年4月(5)
2023年3月(4)
2023年2月(6)
2023年1月(6)

2022年
2022年12月(9)
2022年11月(8)
2022年10月(5)
2022年9月(5)
2022年8月(2)
2022年7月(6)
2022年6月(9)
2022年5月(3)
2022年4月(3)
2022年3月(4)
2022年2月(7)
2022年1月(5)

2021年
2021年12月(8)
2021年11月(9)
2021年10月(4)
2021年9月(3)
2021年8月(2)
2021年7月(6)
2021年6月(12)
2021年5月(2)
2021年4月(8)
2021年3月(2)
2021年2月(7)
2021年1月(2)

2020年
2020年12月(8)
2020年11月(3)
2020年10月(4)
2020年9月(1)
2020年8月(2)
2020年7月(7)
2020年6月(6)
2020年5月(9)
2020年4月(11)
2020年3月(8)
2020年2月(5)
2020年1月(9)

2019年
2019年12月(4)
2019年11月(5)
2019年10月(7)
2019年9月(2)
2019年8月(2)
2019年7月(8)
2019年6月(2)
2019年5月(3)
2019年4月(2)
2019年3月(4)
2019年2月(3)
2019年1月(1)

2018年
2018年12月(8)
2018年11月(5)
2018年10月(10)
2018年9月(6)
2018年8月(1)
2018年7月(7)
2018年6月(5)
2018年5月(7)
2018年4月(19)
2018年3月(3)
2018年2月(3)
2018年1月(11)

2017年
2017年12月(14)
2017年11月(11)
2017年10月(18)
2017年9月(18)
2017年8月(21)
2017年7月(29)
2017年6月(26)
2017年5月(23)
2017年4月(18)
2017年3月(11)
2017年2月(11)
2017年1月(16)

2016年
2016年12月(25)
2016年11月(24)
2016年10月(30)
2016年9月(15)
2016年8月(16)
2016年7月(15)
2016年6月(18)
2016年5月(30)
2016年4月(28)
2016年3月(29)
2016年2月(26)
2016年1月(32)

2015年
2015年12月(30)
2015年11月(29)
2015年10月(30)
2015年9月(27)
2015年8月(28)
2015年7月(28)
2015年6月(28)
2015年5月(29)
2015年4月(30)
2015年3月(28)
2015年2月(26)
2015年1月(29)

2014年
2014年12月(31)
2014年11月(28)
2014年10月(31)
2014年9月(29)
2014年8月(29)
2014年7月(31)
2014年6月(31)
2014年5月(30)
2014年4月(30)
2014年3月(28)
2014年2月(27)
2014年1月(31)

2013年
2013年12月(29)
2013年11月(27)
2013年10月(29)
2013年9月(27)
2013年8月(28)
2013年7月(28)
2013年6月(29)
2013年5月(29)
2013年4月(30)
2013年3月(26)
2013年2月(24)
2013年1月(29)

2012年
2012年12月(28)
2012年11月(27)
2012年10月(28)
2012年9月(30)
2012年8月(31)
2012年7月(33)
2012年6月(32)
2012年5月(33)
2012年4月(35)
2012年3月(30)
2012年2月(27)
2012年1月(31)

2011年
2011年12月(25)
2011年11月(25)
2011年10月(28)
2011年9月(28)
2011年8月(28)
2011年7月(28)
2011年6月(27)
2011年5月(26)
2011年4月(16)
2011年3月(9)
2011年2月(11)
2011年1月(9)

2010年
2010年12月(12)
2010年11月(11)
2010年10月(8)
2010年9月(13)
2010年8月(10)
2010年7月(20)
2010年6月(6)
2010年5月(9)
2010年4月(2)
2010年3月(3)
2010年2月(5)
2010年1月(8)

2009年
2009年12月(9)
2009年11月(2)
2009年10月(4)
2009年9月(3)
2009年8月(1)
2009年7月(9)
2009年6月(3)
2009年5月(14)
2009年4月(10)
2009年3月(11)
2009年2月(9)
2009年1月(10)

2008年
2008年12月(1)
2008年11月(1)
2008年10月(1)
2008年9月(5)
2008年8月(1)
2008年7月(1)
2008年6月(2)
2008年5月(1)
2008年4月(1)
2008年3月(2)
2008年2月(7)
2008年1月(7)

2007年
2007年12月(11)
2007年11月(7)
2007年10月(8)
2007年9月(12)
2007年8月(11)
2007年7月(5)
2007年6月(16)
2007年5月(8)
2007年4月(2)
2007年3月(14)
2007年2月(2)
2007年1月(8)

2006年
2006年12月(4)
2006年11月(6)
2006年10月(7)
2006年9月(10)
2006年8月(9)
2006年7月(20)
2006年6月(13)
2006年5月(3)

2005年
2005年9月(13)
2005年8月(13)
2005年7月(18)
2005年6月(24)
2005年5月(26)
2005年4月(26)
2005年3月(27)
2005年2月(22)
2005年1月(26)

2004年
2004年12月(29)
2004年11月(29)
2004年10月(26)
2004年9月(23)
2004年8月(12)


最近よく読まれてるネタ



Excel VBAで「SPAT4自動投票システム」を作ってみました。
(2020年7月19日のネタ:50回)

本日は皐月賞 の観戦に中山競馬場 へ行ってきました。
(2024年4月14日のネタ:30回)

(簡単に) 昨日は大井競馬場 へ行ってきました。
(2024年4月13日のネタ:30回)

管理人が競馬を初めて31年目の記念日となる今日、中山競馬場 へ行ってきました。
(2024年4月7日のネタ:30回)

今夜は競馬の話題を書こうと思ったんですが…。
(2014年3月13日のネタ:28回)

G1予想大会の結果を掲載しました(…即席ですが)
(2011年4月25日のネタ:27回)

…来週から、週末予想のタイトルが変わります(…今年初?の祝勝会。)
(2012年5月13日のネタ:24回)

管理人の当たらないG1予想!皐月賞編!
(2012年4月14日のネタ:24回)

「The Sunday Breeze」から、1年ぶりに重大なお知らせです。
(2012年10月12日のネタ:23回)

(自家製)競馬家計簿をヴァージョンアップしてみる。
(2015年1月5日のネタ:21回)



最近のコメント



今日は改修工事真っ只中の #京都競馬場 (パークウインズ京都競馬場)へ行ってきました。(チョネ)

本日は笠松競馬場へ行ってきました。(あいべ)

管理人の今年の目標が一つ増えました…。(あああ)

まあそんなに書くことはありませんが…。(momo)

【管理人からご挨拶】 『The Sunday Breeze』は5月25日に開設19周年を迎えます。(アオヤギ)

4月からスタートする「Sunday Breeze POG!」の一部ルール追加について。(アオヤギ)

昨日「Sunday Breeze賞」の観戦に帯広競馬場へ行ってきました。(白イチゴ)

本日5月25日、「The Sunday Breeze」は18回目の誕生日を迎えました。(アオヤギ)

【「G1予想大会」プレリリース終了】皆様のご協力、本当にありがとうございました。(アオヤギ)

【再度お知らせとお願い】今週からの「G1予想大会」、新機能プレリリースを公開中です。(白イチゴ)



ネタの検索



管理人の競馬観戦記録


(2024年)

JRA中山競馬場
1月6日 (中山金杯)
1月14日 (京成杯)
3月2日 (オーシャンS)
4月7日
4月14日 (皐月賞)

JRA阪神競馬場
3月23日 (毎日杯)

JRA小倉競馬場
1月27日

水沢競馬場
3月10日 (奥州弥生賞)

船橋競馬場
1月17日 (ブルーバードC)
1月19日
2月9日
3月5日

大井競馬場
4月12日

川崎競馬場
1月5日
3月11日

笠松競馬場
1月25日

名古屋競馬場
1月19日

園田競馬場
3月22日

姫路競馬場
1月26日

高知競馬場
2月25日 (レジーナディンヴェルノ賞)

佐賀競馬場
1月28日

2012年以降の競馬観戦インデックス


管理人の競馬家計簿


(最近14日分)

2024年4月6日福島
41勝  回収率:140.0%

2024年4月6日中山
71勝  回収率:35.5%

2024年4月6日阪神
62勝  回収率:167.0%

2024年4月7日中山
20勝  回収率:0.0%

2024年4月7日阪神
20勝  回収率:0.0%

2024年4月8日大井
10勝  回収率:0.0%

2024年4月9日大井
11勝  回収率:240.0%

2024年4月10日大井
10勝  回収率:0.0%

2024年4月11日船橋
10勝  回収率:0.0%

2024年4月11日名古屋
10勝  回収率:0.0%

2024年4月12日船橋
22勝  回収率:150.6%

2024年4月12日大井
50勝  回収率:0.0%

2024年4月14日福島
10勝  回収率:0.0%

2024年4月14日中山
61勝  回収率:55.0%

2024年4月14日阪神
11勝  回収率:216.0%

2024年4月17日門別
11勝  回収率:150.0%

2024年4月18日浦和
10勝  回収率:0.0%

2024年4月18日門別
10勝  回収率:0.0%

2024年合計
41890
勝率:21.5%  回収率:64.9%
(万馬券:5本的中)

2023年合計
1772537
勝率:30.3% 回収率:71.2%
(万馬券:11本的中)

2022年合計
2097563
勝率:26.8% 回収率:66.4%
(万馬券:29本的中)

2021年合計
2147527
勝率:24.5% 回収率:67.8%
(万馬券:24本的中)

2020年合計
3046684
勝率:22.5% 回収率:65.2%
(万馬券:39本的中)

2019年合計
1438346
勝率:24.1% 回収率:68.2%
(万馬券:39本的中)

2018年合計
1488367
勝率:24.7% 回収率:75.1%
(万馬券:39本的中)


管理人のつぶやき


(皆様のフォローをお願いします。)

@sunday_breeze からのツイート

新メンバーズページのログイン方式が出来上がりました。

前回出した画面とあんまり変わっていないかもしれませんが



現在のメンバーズページはブラウザ標準のダイアログで
ユーザIDとパスワードを入力する仕組みになっていますが
新しいメンバーズページでは上のような画面でログインすることになります。

んで
以前はメンバー登録時に
「ログイン情報の保持」を指定できるようにしてありました。
現在は無条件でログイン情報を保持するようになりました。
まあそれはそれで問題ですが…。

新しいメンバーズページでは、
ログイン時に保持するかどうかを選択できる機能を実装。
「ログイン情報保持」にチェックした場合は
最終ログインから3か月間はこのログイン画面を介さずログインできる仕組みです。
現在多くのサイトで利用されている仕組みですので
ここで多く説明する必要はないかもしれません。


んで
管理人はWebエンジニアではありませんので
今回この部分にだいぶ時間をかけてしまったわけですが
自分の備忘録として一応その仕組みを書いておきます。

技術的な話なので、
興味ない方は読み飛ばしてください。

-----

まず基本として
ログイン画面と、ログイン画面以外のページでは
認証ロジックが異なります。

ログイン画面以外の認証ロジックは
・ログインしているかのチェック
 →ログイン状態ではない場合はログイン画面に自動遷移。
  このとき、ログイン成功後この画面に戻ってこられるように
  自分のURI(Request_URI)を渡す
 →ログイン状態の場合は通常通り表示。

ログイン画面の認証ロジックは
・ログインしているかのチェック
 →ログインしている場合はトップページへ遷移。
 →ログインしていない場合、もしくはログインに失敗した場合は
  ユーザIDとパスワードの入力をしてもらう。
  正しいIDとパスワードの場合は、受け取った前画面のURIへ遷移。
  前画面のURIがない(いきなりログイン画面に飛んできた)場合は
  トップページへ遷移する。

これをPHPでSessionとCookieを使って導入すると

ログイン画面以外の認証ロジックは
include(…)で共通処理としておく。しかもページの最初に処理。
(Headerが送信される前に処理しないとダメ)

session_start()してから
$_SESSIONのユーザIDとパスワードを取得し
取得できない場合はheader(ログイン画面)でログイン画面へ。
その際はsession_destroy()で中途半端なセッションは消す。

$_SESSIONで取得できた場合は
いったんsession_destory()でセッションを削除する。
そしてsession_regenerate_id()でセッションIDを再作成したうえで
session_start()して$_SESSION=…で
ユーザIDとパスワードとログイン情報保持on/offをセッションに保存。

これ、なんでdestroyするかってところがミソ。

destroyしないと
session_set_cookie_params()関数が効かないんですよね。

結局、ログイン情報を保持するかしないかは
Cookieをいつまで生かしておくかって話。
それはsession_set_cookie_paramsを使って設定しますが
session_startをやってから設定しても意味がないので
いったんdestroyしてsession_set_cookie_params()してから
再度session_startするということ。

一応ロジックを書いておきます。
(当然一部修整してあります)

// セッションからユーザIDとパスワードを取得
// request_URIも取得
$ユーザID = $_SESSION["ユーザID"];
$パスワード = $_SESSION["パスワード"];
$ログイン情報保持on/off = $_SESSION["ログイン情報保持on/off"];
$リクエストURI= $_SERVER["REQUEST_URI"];

// データベースでユーザIDとパスワードを検索
// このユーザ、ホントに登録されているよね?って確認
$わお = mysqli_query($DBリンク,"select * from メンバー情報テーブル " .
" where ユーザID=’$ユーザID’ and パスワード=’$パスワード’");
$わおrow = mysqli_fetch_array($わお);

extract($わおrow);

if ($ユーザID==NULL) {
// 登録ユーザがいない場合(セッションに記録されていない場合)は
// セッションを破棄して、リクエストURIを持ってログイン画面へ遷移する
session_destroy();
setcookie(session_name(), "", time()-42000, "/",".sundaybreeze.jp");
setcookie("request",$リクエストURI);

header("Location: /ログイン画面");
exit;
} else {

// 登録ユーザがいて、ログインされている状態の場合は
// いったんセッションを破棄する(このとき$_SESSION[]は消しちゃダメ)
session_destroy();

// 再度セッションを開始
session_name("メンバー用サイト");

// いったんCookieの有効期限を0(ブラウザ閉じたら消去)に設定
session_set_cookie_params(0,"/",".sundaybreeze.jp");

// ログイン情報保持がonなら、Cookieの有効期限を30日(60秒×60分×24時間×60日)でセット
if ($ログイン情報保持on/off=="on") session_set_cookie_params(60*60*24*60,"/",".sundaybreeze.jp");

// 改めてセッションスタート
session_start();

// 改めてセッションにユーザID、パスワード、ログイン情報保持on/offをセット
$_SESSION["ユーザID"] = $ユーザID;
$_SESSION["パスワード"] = $パスワード;
$_SESSION["ログイン情報保持on/off"] = $ログイン情報保持on/off;


書いてませんが
当然一番最初にsession_start()は書いてあります(session_name("メンバー用サイト")とともに)
それと、最後にsession_write_close()も書いてあります。

このロジックを作るときに
管理人はRequest_URIを勘違いしてRefererと書いていて
無限ループに何度も陥りました(Session関係ないし←アホ)

まあとりあえずこれで問題なく動いているので(無駄な部分がいくつかあると思いますが)
当面はこのまま行こうと思います。

---

ということで
最大の難所だったログインのロジックが出来上がりましたので
あとはシコシコと各ページを書いていくだけ。

まずはログインがらみで

・新規ユーザ登録
・登録情報の変更・削除

の2画面と、今回新たに作成する予定の

・パスワードを忘れた場合の問い合わせ画面

を作っていこうと思います。

この3画面の作成には、いくつかデータベースの構成変更も伴いますので
ちょっとまた時間がかかるかもしれません。
状況はこのブログで逐一ご報告できればと思っています。

-----

さて。
明日、管理人は今週2回目の夜勤でございます。

去年までは夜勤の際はブログをお休みしていましたが
今年はできるだけ書いていこうと思います。
365日かけるかなぁ?

大したことは書けません(PCは持って行かないので:ケータイから書くので

週末の予定とか
サイト更新の今後の話とか
ちょろっと書ければと思っています。

人気ブログランキングへ 


このネタへのコメント:


コメントはありません。
お名前(入力必須):
ログインID(SBメンバーズの方)(任意):
(SBメンバーズの方から頂いたコメントは、管理人の承認なしで書き込まれます。)

タグは使えません。

URL(任意):
メール(任意):

右に「さんでーぶりーず」と入力してください。