MySQLデータテーブルにPHPで作成したフォームのデータを書き込む

##参考
・https://qiita.com/ho-gaku/items/914e80a955b510538377
・https://qiita.com/harufuji/items/d033d3480a0c791973ae


##手順
前回同様に、
1.データベースに接続
2.接続エラー処理
3.テーブルデータ取得
4.表示処理
5.データベース接続終了

新たに、
1.フォーム作成
2.フォームに入力されたデータを受け取ってDBに接続し書き込む。



##前回のコードサンプル
```php
<?php

$link = mysqli_connect('localhost', 'root', ''   ,'eccube001');
//　　　　　　　　　　　↑host　　↑USER  ↑PW(空白)    ↑DB名前
// 接続状況をチェックします
if (mysqli_connect_errno()) {
    die("データベースに接続できません:" . mysqli_connect_error() . "\n");
}else {
    echo "データベースの接続に成功しました。\n";
}

print "<br>";

// ステータスの一覧を表示する
$query = "SELECT * FROM mtb_order_status;";
//　　　　　↑まずはサンプルで固定のSQLを入れる（サンプル・動作確認としてこのまま）
// クエリを実行します。
if ($result = mysqli_query($link, $query)) {
    echo "SELECT に成功しました。\n";

print "<br>";

    foreach ($result as $row) {
        var_dump($row);
       
    }
}else{
    echo "SQL実行に失敗しました。\n";
}

// 接続を閉じます
mysqli_close($link);

?>
```

##今回
銀行口座の入出金の機能を最終的に作成するために、今回は銀行口座開設フォームを作成する。



##銀行口座に必要な機能
・口座開設フォーム
・入出金を記録、確認できる


##DBに書き込む
前回と同様に、DBに接続します。そして、フォームに入力されたデータをPOSTで受け取ってDBに接続しinsertで書き込む。

```php
$link = mysqli_connect('localhost', 'root', ''   ,'AIBANK');
if (isset($_POST['send']) === true) {
    $number= htmlspecialchars(trim($_POST["number"]));
    $type = htmlspecialchars(trim($_POST["type"]));
    $name_full= htmlspecialchars(trim($_POST["name_full"]));
    $name_kana = htmlspecialchars(trim($_POST["name_kana"]));
    print($name_full);

    $query = "INSERT INTO account_170(number, type, name_full, name_kana, create_date,flg_active) VALUES ('$number','1','$name_full', '$name_kana',CURRENT_TIMESTAMP,'1');";
}
```

##ステータスを表示する
テーブルデータを取得、表示しinsertされたデータをここに表示する。

```php
$query = "SELECT * FROM account_170;";

if ($result = mysqli_query($link, $query)) 
    print "<table border=''>";

    foreach ($result as $row) {        
        
        print "<tr>";
        
        print "<td>" . $row["number"] . "</td>";
        print "<td>" . $row["type"] . "</td>";
        print "<td>" . $row["name_full"] . "</td>";
        print "<td>" . $row["name_kana"] . "</td>";
        print "<td>" . $row["create_date"] . "</td>";
        print "<td>" . $row["flg_active"] . "</td>";
              
        print "</tr>\n";
        
    }
    

print "</table>";    

mysqli_close($link);
print "<hr>";
?>

```


##入力フォームを作成する
htmlでフォームを作成する

```html
<body>
    <form action="" method="post">
        <h2>口座番号登録フォーム</h2>
        <p>口座番号 :
        <input type="text" id="number" name="number" size="60" placeholder="2020112"> 
        </p>
        <p>
            預金種別 : 
            <input type="radio" id="type" name="type" value="1">普通預金
            <input type="radio" id="type" name="type" value="2">当座預金
        </p>
        <p>
            <label>預金者名 : </label>
            <input type="text" id="name1" name="name1" size="60" placeholder="山田太郎"> 
        </p>
        <p>
            預金者名(かな) :
            <input type="text" id="name2" name="name2" size="60"placeholder="ヤマダタロウ">
        </p>
        <p><input type="submit" name ="send" value="口座開設を登録する" onclick="clickbtn()"></p>
    </form>
        
 
</body>
```




##サンプルコード
銀行口座開設フォームが完成

```php

<!DOCTYPE html>
<html lang="ja">



<?php
$link = mysqli_connect('localhost', 'root', ''   ,'AIBANK');
if (isset($_POST['send']) === true) {
    $number= htmlspecialchars(trim($_POST["number"]));
    $type = htmlspecialchars(trim($_POST["type"]));
    $name_full= htmlspecialchars(trim($_POST["name_full"]));
    $name_kana = htmlspecialchars(trim($_POST["name_kana"]));
    print($name_full);

    $query = "INSERT INTO account_170(number, type, name_full, name_kana, create_date,flg_active) VALUES ('$number','1','$name_full', '$name_kana',CURRENT_TIMESTAMP,'1');";
}


if ($result = mysqli_query($link, $query)) {
    echo "成功しました。\n";
    print "<br>";
}else{
    echo "失敗しました。\n";
    print "<br>";
}
$query = "SELECT * FROM account_170;";

if ($result = mysqli_query($link, $query)) 
    print "<table border=''>";

    foreach ($result as $row) {
        
        
        print "<tr>";
        
        print "<td>" . $row["number"] . "</td>";
        print "<td>" . $row["type"] . "</td>";
        print "<td>" . $row["name_full"] . "</td>";
        print "<td>" . $row["name_kana"] . "</td>";
        print "<td>" . $row["create_date"] . "</td>";
        print "<td>" . $row["flg_active"] . "</td>";
        
        
        
        print "</tr>\n";
        
       
        


    }
    

print "</table>";    

mysqli_close($link);
print "<hr>";
?>



<body>
    <form action="" method="post">
        <h2>口座番号登録フォーム</h2>
        <p>口座番号 :
        <input type="text" id="number" name="number" size="60" placeholder="2020112"> 
        </p>
        <p>
            預金種別 : 
            <input type="radio" id="type" name="type" value="1">普通預金
            <input type="radio" id="type" name="type" value="2">当座預金
        </p>
        <p>
            <label>預金者名 : </label>
            <input type="text" id="name1" name="name1" size="60" placeholder="山田太郎"> 
        </p>
        <p>
            預金者名(かな) :
            <input type="text" id="name2" name="name2" size="60"placeholder="ヤマダタロウ">
        </p>
        <p><input type="submit" name ="send" value="口座開設を登録する" onclick="clickbtn()"></p>
    </form>
    
   
    
</body>

</html>

 ```