ようこそ、オコジョキャンパスへ!
このキャンパスでは、プログラミングのコードを最初から全部書けるようになることを目指しません。
だって今は、AIがいます。
分からなければ聞けばいい。
コードだって書いてもらえばいい。
カンニング、大歓迎です。
でも、一つだけ問題があります。
AIがこんなコードを書いてくれたとします。
<?php
$name = $_POST['name']
if ($name) {
echo "こんにちは、" . $name . "さん";
}
そしてAIから、
「このコードをPHPファイルに追加してください」
と言われました。
追加してみます。
保存します。
ページを開きます。
すると――
HTTP ERROR 500
……壊れた!!
さあ、どうしましょう。
もう一度AIに、
「動かない!直して!」
と聞く?
もちろん、それでもいいんです。
でもAIは、あなたのパソコンやサーバーの中を何でも見られるわけではありません。
何を変更したのか。
どんなエラーが出たのか。
どのファイルなのか。
必要な情報を伝えなければ、AIも原因を絞り込めません。
そこで、オコジョキャンパス最初の授業です。
まず「何が起きたのか」を知ろう
今回やったことは、とても単純です。
コードを変更した。
↓
その直後からページが表示されなくなった。
だったら最初に疑う場所は?
そう。
さっき変更したところです。
これだけでも立派な問題解決です。
プログラミングを全部理解していなくても、
「変更する前は動いていた」
「変更したら動かなくなった」
という情報があれば、原因をかなり狭められます。
いったん戻す、は立派な技術
ここで大切なことがあります。
分からないまま、さらにコードを変更し続けないこと。
元のコードを保存しているなら、一度戻してみましょう。
戻したら動いた。
ならば、
「さっき変更した部分に原因がありそう」
という、とても重要な情報が手に入りました。
直せなかった?
いいえ。
原因を一つ絞り込めました。
これも前進です。
では、さっきのPHPを読んでみよう
もう一度見てみます。
<?php
$name = $_POST['name']
if ($name) {
echo "こんにちは、" . $name . "さん";
}
怖そうですか?
大丈夫。
今日、これを書けるようになる必要はありません。
なんとなく読んでみましょう。
$name
何かを入れておく箱みたいなものです。
今回は「名前」を入れているようです。
$_POST['name']
フォームなどから送られてきた name というデータを受け取っています。
今は、
「外から名前を受け取ってるんだな」
くらいで十分です。
if ($name)
名前があるときだけ、この先を実行するようです。
if は、
「もし○○なら」
くらいの意味だと思ってください。
echo
画面に文字などを表示するときに使います。
つまり、このコード全体では――
「送られてきた名前を受け取って、名前があったら『こんにちは、○○さん』と表示しようとしている」
ようです。
もうPHPを読めています
PHPを書けましたか?
まだ書いていません。
暗記しましたか?
していません。
それでも、
$name = $_POST['name'];
を見たとき、
「あ、なんか名前を受け取ってるところじゃない?」
と思えるようになりました。
それでいいんです。
むしろ、それが今回の目的です。
AIに相談してみよう
今度AIに相談するときは、
「PHPが動きません」
だけではなく、もう少し情報を渡せます。
たとえば、
「このPHPコードを追加した直後からHTTP ERROR 500になりました。元の状態に戻すと正常に表示されます。追加したコードはこれです。原因になりそうなところを、初心者にも分かるように説明してください。」
こう聞けます。
さっきより、AIが判断するための情報がずっと増えました。
これが、
AIと一緒に問題を解決する
ということです。
今日の合格ライン
次のPHPを見てください。
$name = $_POST['name'];
if ($name) {
echo "こんにちは、" . $name . "さん";
}
これを見て、
「フォームか何かから名前を受け取って、名前があったら表示してるっぽい」
と思えたら――
合格です!🎓
書けなくて大丈夫。
構文を暗記しなくて大丈夫。
検索してもいい。
AIに聞いてもいい。
このキャンパスで身につけてほしいのは、
分からないことが起きたとき、自分で調べ、AIに相談し、解決までたどり着く力です。
🔍 ワンポイント:ところで、今回なぜ壊れたの?
実は今回のコードには、わざと小さなミスを入れていました。
ここです。
$name = $_POST['name']
よく見ると、最後の
;
がありません。
正しくはこうです。
$name = $_POST['name'];
PHPでは、多くの命令の最後にセミコロン ; を付けます。
これが抜けると、PHPが、
「どこまでが一つの命令なの?」
と正しく解釈できなくなり、構文エラーになることがあります。
その結果として、サーバーの設定によっては、
HTTP ERROR 500
だけが表示されることもあります。
でも今日覚えてほしいのは「セミコロン」だけじゃない
もちろん、
「PHPでは ; を忘れない」
も一つの学びです。
でも、それ以上に大切なのは、
変更前は動いていた
↓
コードを追加した
↓
500エラーになった
↓
元に戻したら直った
↓
じゃあ追加したコードを調べよう
という考え方です。
エラーの内容を全部知っていなくても、
原因に近づくことはできます。
これができれば、AIにもずっと上手に相談できるようになります。
オコジョキャンパスの校訓
AI時代だからこそ、磨こう。その腕。
1から全部書く必要はない。
だが、知る必要はある。
AIも使おう。
検索も使おう。
便利な道具も使おう。
そのうえで、
「何が起きているのか」
を少しずつ分かるようになっていきましょう。
次回予告
第2話
入力した名前は、どこへ行った?
次回は、今回登場した謎の文字、
$_POST
を追いかけます。
フォームに入力した
「山田太郎」
という文字。
送信ボタンを押した瞬間、いったいどこへ行ったのでしょう?
次は実際にデータの流れを追いかけてみましょう。
もちろん、
暗記は禁止です。
……いや、覚えてもいいんですけどね。
