前回の続き
データベース(phpmyadmin)連携
データベースと連携し、フォーム内容をデータベースに反映させる。
以下、前回の内容から追記したコード
※入力された情報が引き継がれ(index.php→check.php→thanks.php)、
データベースに反映させたい情報があるページにコードを記載する(以下thanks.phpに記載)
<?php
$nickname = $_POST['nickname'];
$email = $_POST['email'];
$content = $_POST['content'];
// step1:データベース接続
// phpmyadmin の phpkiso へ接続する
// アカウント名
// パスワード
// phpからデータベースへアクセスするために使う、phpが用意した技
$dsn = 'mysql:dbname=phpkiso;host=localhost';
$user = 'root';
$password='';
$dbh = new PDO($dsn, $user, $password);
$dbh->query('SET NAMES utf8');
// step2:SQL文の実行
$sql = 'INSERT INTO `survey`(`nickname`, `email`, `content`) VALUES ("'.$nickname.'", "'.$email.'", "'.$content.'")';
$stmt = $dbh->prepare($sql);
$stmt->execute();
?>
データ内容を表示する
データベースに反映した情報を見た目に表示する
データベースに取り込んだ情報を見た目に表示させ、管理しやすくする。
今回はview.phpを作成し、以下のコードを記入した。
<?php
// phpmyadminのデータを見た目に表示する
$dsn = 'mysql:dbname=phpkiso;host=localhost';
$user = 'root';
$password='';
$dbh = new PDO($dsn, $user, $password);
$dbh->query('SET NAMES utf8');
// 取得するとき select文
// fetchAll() データベースのデータを全権取得し、配列に格納する技
// PDO phpコード上のデータベースという意味
// FETCH_ASSOC 連想配列のかたちで
// var_dump 配列・変数の中身を検証する関数 = 検証する行為 = デバックする
$sql = 'SELECT * FROM `survey`';
$stmt = $dbh->prepare($sql);
$stmt->execute();
$records = $stmt->fetchAll(PDO::FETCH_ASSOC);
// var_dump($records);
foreach($records as $record){
echo $record['id'] . '<br>';
echo $record['nickname'] . '<br>';
echo $record['email'] . '<br>';
echo $record['content'] . '<br>';
echo '<hr>';
}
// $test = ['id'=>1, 'mickname'=>'たろう'];
// var_dump($test);
?>
一連の流れ
thanks.php 問い合わせありがとう画面
※ここでデータベースに問い合わせ内容が反映される