php

AIにコードを書いてもらった!……動かない。さて、どうする?

ようこそ、オコジョキャンパスへ!

このキャンパスでは、プログラミングのコードを最初から全部書けるようになることを目指しません。

だって今は、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

を追いかけます。

フォームに入力した

「山田太郎」

という文字。

送信ボタンを押した瞬間、いったいどこへ行ったのでしょう?

次は実際にデータの流れを追いかけてみましょう。

もちろん、

暗記は禁止です。

……いや、覚えてもいいんですけどね。

☆ この授業をあとで見返す

学生登録(無料)すると、お気に入りに保存できます。授業は登録しなくても読めます。

☆ この授業をあとで見返す

学生登録(無料)すると、お気に入りに保存できます。授業は登録しなくても読めます。