一覧へ戻る
insert.php
<?php
require_once __DIR__ . '/dbconnect.php';
$message = '';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$name = trim($_POST['name'] ?? '');
$size = filter_input(INPUT_POST, 'size', FILTER_VALIDATE_INT);
$memo = trim($_POST['memo'] ?? '');
if ($name === '' || $size === false || $size === null) {
$message = '名前とサイズを正しく入力してください。';
} else {
$sql = 'INSERT INTO animal (name, size, memo) VALUES (:name, :size, :memo)';
$stmt = $dbh->prepare($sql);
$stmt->execute([
':name' => $name,
':size' => $size,
':memo' => $memo,
]);
$message = 'データを追加しました。';
}
}
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>データ追加 PDO版</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container my-4">
<h1>データ追加</h1>
<p><a href="index.html">トップページへ戻る</a></p>
<?php if ($message !== ''): ?>
<div class="alert alert-info"><?= h($message) ?></div>
<?php endif; ?>
<form method="post" action="insert.php">
<div class="mb-3">
<label for="name" class="form-label">name</label>
<input type="text" name="name" id="name" class="form-control" required>
</div>
<div class="mb-3">
<label for="size" class="form-label">size</label>
<input type="number" name="size" id="size" class="form-control" required>
</div>
<div class="mb-3">
<label for="memo" class="form-label">memo</label>
<textarea name="memo" id="memo" class="form-control" rows="3"></textarea>
</div>
<button type="submit" class="btn btn-primary">追加</button>
</form>
</div>
</body>
</html>