見出し画像

PHPで作りたいものを作る 第一夜

初見ではないにしろ、お手合わせ願うなら、文字を出力するところから。

<?php 
/**
* いえーいecho
*/
// 出力
echo "Hello!"."<br>";

//変数に文字列をいれる
$greeting = "Hello World!";

// 変数のなかみを出力
echo $greeting; // Hello World!

// PHP info
// phpinfo();

PHPマニュアルみたら、<?php は閉じなくていいみたいだけど、終了を宣言しないのは、ちょっと気持ち悪い。片付けたのにフタしまってない感。

で、出力できたので、HTMLでフォーム作ってPOSTをする練習。

<!DOCTYPE html>
<html lang="ja">
<head>
   <meta charset="UTF-8">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>Document</title>
   <link href="https://unpkg.com/sanitize.css" rel="stylesheet" />
</head>
<body>
   <form method="POST" action="post.php">
       <input type="text" name="categoly[color][]">
       <input type="text" name="categoly[color][]">
       <input type="text" name="categoly[type][]">
       <input type="text" name="categoly[type][]">
       <textarea name="comment" rows="10" placeholder="コメントの文字列"></textarea>
       <button type="submit">ぼたん</button>
   </form>
</body>
</html>

input タグの name に設定した文字が、Array の要素名になり、そのinput の値がArray の要素になる。っていうことは、コレは連想配列。

要素名にカラの角括弧をつけることで、連番になる。

思わぬ上書きが起こらないように、要素名は数字にしないほうが安全だろうなっておもった。

<?php
/**
* POST のれんしゅう
*/

//POST された値は、$_POSTで配列でくる
echo "POST された値";
print_r($_POST);

echo "\n";

// name が categoly のものだけ抜き出してひょうじ
echo "name が categoly のもの";
print_r($_POST["categoly"]);

echo "\n";

// name が categoly で color の2番目の要素を抜き出してひょうじ
echo "name が categoly で color の2番目の要素";
print_r($_POST["categoly"]["color"][1]);

echo "\n";

// name が categoly[color] のものだけ抜き出してひょうじ
echo "name が categoly[color] のもの";
print_r($_POST["categoly"]["color"]);

ポストしたら、Ctrl + Uしてソースで確認をすると見やすい。

print_r($_POST);で、POSTされたものが、ごそォ!と見れる。フォームから飛んでくるものが配列になってるってめっちゃ便利だと思った。

$_POST["要素名"] で、その要素たちに会える。

わたしのあたまのなかで、データはこんなイメージ。

画像1

よだんだけど、さいしょ category になっているころは、tag という名称にしていた。

けれど、よくよくかんがえたら、わたしのなかで、tag は他のものと紐付けがないフセン。category は 親になるものと紐付けがあるものだなって思ったので、途中で要素名を変更した。

ここから先は

0字

¥ 100

サポートいただければもちろん嬉しいですが、読んでいただけたりリアクションいただけるととても嬉しいです。