<?php require_once './DbManager.php'; require_once './MyValidator.php'; session_start(); if (!isset($_POST['token']) || $_POST['token'] !== $_SESSION['token']) { die('不正なアクセスが行われました。'); } $v = new MyValidator(); $v->requiredCheck($_POST['isbn'], 'ISBNコード'); // 必須検証 $v->regexCheck($_POST['isbn'], 'ISBNコード', '/^978-4-[0-9]{3,6}-[0-9]{3,6}-[0-9X]{1}$/'); // 正規表現検証 $v->duplicateCheck($_POST['isbn'], 'ISBNコード', 'SELECT isbn FROM book WHERE isbn = :value'); // 重複検証 $v->requiredCheck($_POST['title'], '書名'); // 必須検証 $v->lengthCheck($_POST['title'], '書名', 100); // 文字列長検証 $v->intTypeCheck($_POST['price'], '価格'); // 整数型検証 $v->rangeCheck($_POST['price'], '価格', 10000, 1); // 数値範囲検証 $v->inArrayCheck($_POST['publish'], '出版社', array('翔泳社', '秀和システム', '毎日コミュニケーションズ', '技術評論社')); // 配列要素検証 $v->dateTypeCheck($_POST['published'], '刊行日'); // 日付型検証 $v(); try { // データベースへの接続を確立 $db = getDb();