← 完成版とシステムの改良へ戻る / ソース一覧へ

task.php

このページはソースコードを表示するためのHTMLです。source_common/task.php への直接リンクではないため,PHPスクリプトは実行されません。
<?php
// task.php: 課題提出
session_start();
require_once __DIR__ . '/common/common.php';
$member = login_check();

if (!empty($_FILES['task_file']['name'])) {
    $original = basename($_FILES['task_file']['name']);
    $ext = pathinfo($original, PATHINFO_EXTENSION);
    $save_name = date('YmdHis') . '_' . bin2hex(random_bytes(4)) . ($ext ? '.' . $ext : '');
    move_uploaded_file($_FILES['task_file']['tmp_name'], __DIR__ . '/task_folder/' . $save_name);

    $sql = 'INSERT INTO task (member, name, file, change_name, word, modified) VALUES (:member, :name, :file, :change_name, :word, NOW())';
    $stmt = $dbh->prepare($sql);
    $stmt->bindValue(':member', (int)$member['id'], PDO::PARAM_INT);
    $stmt->bindValue(':name', $_POST['name'], PDO::PARAM_STR);
    $stmt->bindValue(':file', $original, PDO::PARAM_STR);
    $stmt->bindValue(':change_name', $save_name, PDO::PARAM_STR);
    $stmt->bindValue(':word', $_POST['word'] ?? '', PDO::PARAM_STR);
    $stmt->execute();
    header('Location: task_list.php');
    exit();
}
?>
<!DOCTYPE html>
<html lang="ja">
<head><meta charset="UTF-8"><title>課題提出</title></head>
<body>
<h1>課題提出</h1>
<form action="" method="post" enctype="multipart/form-data">
    <p>課題名:<input type="text" name="name" required></p>
    <p>提出ファイル:<input type="file" name="task_file" required></p>
    <p>コメント:<textarea name="word" rows="5" cols="50"></textarea></p>
    <p><input type="submit" value="提出"></p>
</form>
<p><a href="top_page.php">トップページへ戻る</a></p>
</body>
</html>

Copyright (c) 2014-2026 T.Kouya Laboratory @ Otemon Gakuin University. All rights reserved.