9/21に「ログイン時に入力途中のデータを表示して、そのデータの続きをすぐに入力できる」よう仕様変更したが、これに加え、入力途中のデータを削除できるようにした。

具体的には「削除」のリンクに“delete=1”をGETで埋め込み、受け取ったらmySQLにDELETE文を出すようにした。

ところが、これにより思わぬところでトラブル発生。

ログアウト画面では、$id(入力済or途中のゲームのid)が存在しなければ条件なしにログアウト、$idが存在していればそのidに該当するデータをデータベースから検索し、foreachで入力途中であることがわかれば警告文を出すように設計していた。

しかしDELETEすることでmySQLのテーブル上から該当するidが存在しなくなったのにも関わらず、$_SESSION['id'](つまり$id)に値は存在し続けるためにmySQLのテーブルを検索をしてしまう。当然ながら空の配列を返されるワケだが、その空の配列をforeachでまわしてしまったためにエラーが発生したということだった。

つまり、“$_SESSION['id']”が存在し続けることが原因だったので、DELETE文を出すタイミングで同時に$_SESSION['id']の値をリセットすることで解決

めでたしめでたし。

これで一応スコア入力画面は完成といってよいでしょう。今後は、またちまちまとスコア分析画面を作るとしよう。ログインのシステムは必要ないし、スコア入力画面で一応のメソッドは確立させたつもりなので、多分そんなに迷走することはないと思われるが、いざどうでしょう。

今日はご心配いただいている先輩のお誘いで糀家に行ったので、作業は途中で終了です。

帰ったら、即寝よう。

追記。
吟座 糀家
http://shukou.com/koujiya/koujiya_index.html

基本的に“全国に足を運んで直接取り寄せた日本酒”と、“その日本酒に合う料理”を提供してくれます。雰囲気も良く、すごくいいお店です。