Dockerをスタンバイ
Dockerアプリを起動
コードのディレクトリへ cd で移動
docker-composeを開始
docker-compose up
HTMLを書く
formの項目ごとにdivタグで纏める
例1
<div>
<label for="name">会社名</label>
<input type="text" id="name" name="name">
</div>
例2
各ラジオボタンはid名で区別
<div>
<input type="radio" name="status" id="status1" value="選択肢1">
<label for="status1">選択肢1</label>
<input type="radio" name="status" id="status2" value="選択肢2">
<label for="status2">選択肢2</label>
</div>
formのactionに移動するPHPファイルを指定し、methodは当然POST
<form action="next.php" method="POST">
ライブラリ取得やDB接続を行う、使い回し用のphpファイルを作成
ライブラリを呼び出すファイル(Composerが自動生成)をrequire
require __DIR__ . '/../../vendor/autoload.php';
データベースを取得する関数を書き、冒頭で環境変数を取得する
例
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__ . '/../..');
$dotenv->load();
// 「$_ENV」でも「$_SERVER」でも良い。
$dbHost = $_ENV['DB_HOST'];
$dbUsername = $_SERVER['DB_USERNAME'];
$dbPassword = $_ENV['DB_PASSWORD'];
$dbDatabase = $_SERVER['DB_DATABASE'];
$dbInfo = mysqli_connect($dbHost, $dbUsername, $dbPassword, $dbDatabase);
環境変数は.envファイルへ記述
DB_HOST="mydb"
DB_USERNAME="myusername"
DB_PASSWORD="mypassword"
DB_DATABASE="mydbname"
formの値を受け取り、データベースへ保存するphpファイルを作成
冒頭で上記の使い回し用のphpファイルをrequire
require_once __DIR__ . '/lib/another.php';
データベースへ値を保存
受け取った「formからの値(連想配列データ)」と「DB接続情報」を使ってMySQLへ値を保存。
例
$sql = <<<EOT
INSERT INTO columnname (
atai1,
atai2
) VALUES (
"{$categoryData['atai1']}",
"{$categoryData['atai2']}"
)
EOT;
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$categoryData = [
'atai1' => $_POST['atai1'],
'atai2' => $_POST['atai2']
];
}