prepare("SELECT * FROM B_SETTING WHERE ID = ?"); // $stmt->execute([1]); // $common_data = $stmt->fetch(PDO::FETCH_ASSOC); // // 共通で使う変数 // $_domain = $_SERVER['HTTP_HOST']; // $_service_name = $common_data['OG_TITLE']; // $_description = $common_data['OG_DESCRIPION']; // session_start(); // if (isset($_SESSION['SESSION_ID'])) { // $stmt = $DBh->prepare("SELECT * FROM B_USER WHERE b_UUID = ?"); // $stmt->execute([$_SESSION['SESSION_ID']]); // $adminuser_data = $stmt->fetch(PDO::FETCH_ASSOC); // } ?>prepare("SELECT * FROM B_USER WHERE U_UUID = ?"); $stmt->execute([$_SESSION['SESSION_ID']]); $user_data = $stmt->fetch(PDO::FETCH_ASSOC); $address = $user_data['U_EMAIL']; } else { $address = '未ログイン'; } $sql = "INSERT INTO L_LOG ( L_DATE, L_UUID, L_TITLE, L_CONTENTS ) VALUES ( :L_DATE, :L_UUID, :L_TITLE, :L_LOG )"; $stmt = $DBh->prepare($sql); $params = array( ':L_DATE' => date('Y-m-d H:i:s'), ':L_UUID' => 'L'.generateUUID(), ':L_TITLE' => $logttl, ':L_LOG' => $logmsg ); $result = $stmt->execute($params); } // メール送信関数 // mail_send_function('送信先メールアドレス', '件名', 'メール本文'); function mail_send_function($to, $subject, $message) { $headers = "MIME-Version: 1.0\n"; $headers .= "Content-Transfer-Encoding: 7bit\n"; $headers .= "Content-Type: text/plain; charset=ISO-2022-JP\n"; $headers .= "From: baskill \n"; // 送信元アドレス $headers .= "Return-Path: baskill \n"; $headers .= "Reply-To: baskill \n"; $env = "-fno-reply@baskill.jp"; mb_send_mail($to, $subject, $message, $headers, $env); } // 名前チェック function check_name($checkdata) { if (!isset($checkdata)) { return '名前を入力してください'; } if (mb_strlen($checkdata, 'UTF-8') > 20) { return '名前は20文字以内で入力してください'; } if (mb_strlen($checkdata, 'UTF-8') < 2) { return '名前は2文字以上で入力してください'; } return true; } // 生年月日チェック function check_birthday($checkdata_y, $checkdata_m, $checkdata_d) { if (!isset($checkdata_y)) { return '生年月日(年)を選択してください'; } if (!isset($checkdata_m)) { return '生年月日(月)を選択してください'; } if (!isset($checkdata_d)) { return '生年月日(日)を選択してください'; } $datetime = $checkdata_y . '-' . $checkdata_m . '-' . $checkdata_d; $birthday = new Datetime($datetime); $birthday = $birthday->format('Y-m-d'); $now_datetime = new Datetime(); $now_datetime = $now_datetime->format('Y-m-d'); if ($now_datetime < $birthday) { return '生年月日が不正です。未来の日付は入力しないでください。'; } return true; } // メールアドレスチェック function check_email($checkdata) { // 空の値のチェック if (empty($checkdata)) { return 'メールアドレスを入力してください'; } // 文字数のチェック if (mb_strlen($checkdata, 'UTF-8') >= 200) { return 'メールアドレスは200文字未満で設定してください'; } // メールアドレスの正規表現チェック // ドメイン部分の連続するドットを避けるための制約を追加 // また、1~63文字のラベルの間にドットがあることを確認 if (!preg_match("/^[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,63}$/", $checkdata)) { return "メールアドレスの形式が不正です。有効なメールアドレスを入力してください"; } // 連続するドットのチェック if (strpos($checkdata, '..') !== false) { return "メールアドレスの形式が不正です。有効なメールアドレスを入力してください"; } return true; } // パスワードチェック function validatePassword($password) { // 英数字混在の8桁以上、64文字以内のチェック // 指定された記号のみ許可 if (preg_match('/^(?=.*[a-zA-Z])(?=.*[0-9])[a-zA-Z0-9+\/*\[\]-_]{8,64}$/', $password)) { // 数字のみ禁止のチェック if (preg_match('/^[0-9]+$/', $password)) { return false; } // 英字のみ禁止のチェック if (preg_match('/^[a-zA-Z]+$/', $password)) { return false; } return true; } return false; } // 時間の被りのチェック function schedule_check($start_datetime, $end_datetime) { global $DBh; //グローバル変数 $stmt = $DBh->prepare('SELECT * FROM L_BOOKING WHERE B_STATUS = :B_STATUS AND B_BOO_START_DATE < :end_datetime AND B_BOO_END_DATE > :start_datetime'); $stmt->bindValue(':B_STATUS', 0); $stmt->bindValue(':start_datetime', $start_datetime); $stmt->bindValue(':end_datetime', $end_datetime); $stmt->execute(); $booking = $stmt->fetchAll(); return empty($booking); // もし被っている予約が無ければtrue、それ以外はfalseを返す } // 休暇の被りのチェック function holiday_check($start_datetime, $end_datetime) { global $DBh; //グローバル変数 $stmt = $DBh->prepare('SELECT * FROM L_HOLIDAY WHERE H_STATUS = :H_STATUS AND H_START_DATE < :end_datetime AND H_END_DATE > :start_datetime'); $stmt->bindValue(':H_STATUS', 0); $stmt->bindValue(':start_datetime', $start_datetime); $stmt->bindValue(':end_datetime', $end_datetime); $stmt->execute(); $booking = $stmt->fetchAll(); return empty($booking); // もし被っている予約が無ければtrue、それ以外はfalseを返す } // 休暇の被りのチェック function counseling_check($start_datetime, $end_datetime) { global $DBh; //グローバル変数 $stmt = $DBh->prepare('SELECT * FROM L_COUNSELING WHERE C_STATUS = :C_STATUS AND C_START_DATE < :end_datetime AND C_END_DATE > :start_datetime'); $stmt->bindValue(':C_STATUS', 0); $stmt->bindValue(':start_datetime', $start_datetime); $stmt->bindValue(':end_datetime', $end_datetime); $stmt->execute(); $booking = $stmt->fetchAll(); return empty($booking); // もし被っている予約が無ければtrue、それ以外はfalseを返す } ?>