ここでは,common/common.php を使用して完成したバージョンをまとめて示します。完成版は source_common_complete.zip に収録しています。教材ページからPHPスクリプトへ直接リンクすると,Webサーバの設定によってはソース表示ではなく実行される可能性があるため,以下ではソース表示専用のHTMLページにリンクします。
各リンクは source_common/ 内のPHPファイルへの直接リンクではなく,ソースをHTMLとして表示するためのページです。
common/common.phpcommon/.htaccessdbconnect.phpindex.phpentry.phpcheck.phptop_page.phplearning.phpdelete.phptask.phptask_list.phptask_edit.phptask_delete.phpsubmission.phplogout.phplesson_answer_upload.phpschema.sql完成版では原則として各PHPファイルから common/common.php を直接読み込みます。ただし,古い説明や実験用ファイルが dbconnect.php を参照しても動くよう,互換用として次の内容の dbconnect.php を残しておきます。
source_common/dbconnect.php
<?php
// 互換用。完成版では common/common.php を直接読み込みます。
require_once __DIR__ . '/common/common.php';
common/common.php には get_admin_id() と is_admin() を用意しました。例えば管理者名を admin と決めておけば,次のように管理者だけにリンクを表示できます。
<?php if (is_admin($member, 'admin')): ?>
<a href="submission.php">全体提出状況</a>
<?php endif; ?>
完成版では,登録時に password_hash(),ログイン時に password_verify() を使います。すでに平文パスワードで登録した古いデータがある場合は,新しいユーザーを登録し直して動作確認してください。