回答編集履歴

1 修正

s8_chu

s8_chu score 13467

2017/01/22 14:00  投稿

以下のように行うのはどうでしょうか?
```PHP
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
   if (!empty(filter_input(INPUT_POST, 'name'))) {
       $name = filter_input(INPUT_POST, 'name');
       try {
           $pdo = new PDO('mysql:host=localhost;dbname=sample01;charset=utf8', 'root', '3141592653589793238462643383279');
           $pdo = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', 'password');
           $stmt = $pdo->prepare('SELECT * FROM `name` WHERE `name` = :name');
           $stmt->bindParam(':name', $name);
           $stmt->execute();
           $result = $stmt->fetchAll(PDO::FETCH_ASSOC);
       } catch (PDOException $exception) {
           echo $exception->getMessage();
           exit();
       }
   }
}
?>
<!DOCTYPE html>
<html>
<head>
   <meta charset='utf-8'>
   <title>タイトル</title>
</head>
<body>
<form action='' method='post'>
   <label>
       <input type='text' name='name'>
   </label>
   <input type='submit'>
</form>
<div id="result">
   <?php if ($_SERVER['REQUEST_METHOD'] === 'POST') { ?>
       <?php if (empty($result)) { ?>
           <strong>該当する結果はなし。</strong>
       <?php } else { ?>
           <ol>
               <?php foreach ($result as &$value) { ?>
                   <li><?php echo htmlspecialchars($value['id'], ENT_QUOTES, 'UTF-8') . " : " . htmlspecialchars($value['name'], ENT_QUOTES, 'UTF-8') ?></li>
               <?php } ?>
           </ol>
       <?php } ?>
   <?php } ?>
</div>
</body>
</html>
```

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る