【Progateの後のPHP勉強法】お問い合わせフォームを作る

プログラミング・PHP学習

PHPを独学でがんばる場合、教材の選択が大事ですよね。

私はまずはProgate(プロゲート)でPHPをざっと学習した後、「このあと、どうしよう?」と悩みました。

Progateは良い教材ながら、後半のオブジェクトあたりから、何をやっているか分からず、迷子状態に。

何とか一通り終わらせたものの、まだまだ不十分だと感じていした。

そこで、次は本を使ってPHPの学習を進めてみることにしました。

最初に読んだのは、「PHP入門 確認画面付きのお問い合わせフォームをつくりながらPHPを学ぶ(第2版)」

今回はこちらの本の内容と、実際に作ったお問い合わせフォームの学習記録をレポートします。

「PHP入門 確認画面付きのお問い合わせフォームをつくりながらPHPを学ぶ」の内容

おすすめ度 ★★☆(星ふたつ)
勉強時間 5時間ほど
費用 580円・KindleUnlimited会員は無料
学習内容 PHPを使ってお問い合わせフォームを作る

Amazonで580円で購入できますが、KindleUnlimitedサービスに加入していれば、無料で読めます。

kindleUnlimitedは月額980円。

プログラミング関連の本もあり、電子書籍好きなら絶対に元が取れるお得なサービスです。

こちらの本は具体的に何が作れるかが明確だったので、選びました。

具体的に次のステップでフォームを作成。

① XAMPPをインストール

XAMPP(ザンプ)とは、ローカル環境でPHPを動かすために必須の環境。

もしまだの方は、ぜひインストールしちゃってください。

② Bracketsのインストール

BracketsとはPHPを記述するためのエディタ。

ただ私はすでにVisual Studio Codeをインストールしていたので、Bracketsはインストールしませんでした。

③ 変数の代入について学ぶ

変数とは、値を入れておく箱のようなもの。

このあたりはProgateでばっちり学習済み。

④ 連想配列について学ぶ

連想配列は、値をいれておく複数の箱のようなもの。

array() を使います。

なおフォームでは、$_POST という連想配列が登場します。

フォームを送信された際、データは自動的に $_POSTに格納されます。

⑤ エラーチェック

フォームを作成した際、もし値が入っていなければエラーを出します。

【PHP側のコード】

これも配列を使って作成します。

【HTML側(body以下)のコード】

<html>の<body>以下に記入するコードはこちら。

foreachを使います。

⑥ 入力値の保持

このままだと入力した値が保持されません。

追加の処理が必要ですが、まず、htmlspecialchars 関数を使ってセキュリティ強化を図ります。

この関数を使うと、< など、htmlのコードを書くために使う特殊文字を、特殊な意味を持たない単なる文字列に変換できます。

htmlspecialchars 関数:特殊文字をただの文字に変換。悪意あるコードの注入を防ぐ

この上で、フォームの各項目に、isset 関数を入れます。

isset関数:値が入っているかどうかチェックする関数

⑦ 確認画面へ送るためにデータをブラウザに保存

次は確認画面の作成です。

「空欄がなければ、入力された値を $_SESSIONに格納して、確認画面へうつりましょう。」という命令を次のように書いていきます。

$_SESSIONは、PHPが自動で生成する連想配列。

$_SESSION: コンピュータのサーバー側に一時的にデータを保存する仕組み

⑧ 確認画面の作成と完了画面の作成

このあとは確認画面と完了画面の作成になります。

正直後半は難しすぎて、そのまま、コピペで入力しているだけの状態でした。

⑨ データベースの作成

phpでデータを格納する場合には、MySQPというデータベースを使います。

ローカル上で使う場合には、XAMPPからMySQLの【Start】ボタンを押して起動させておきます。

MySQL上でのデータベースの設定についても、本に説明がありますが、ここは、それほど難しくありません。

⑩ コードをアップロードする

実際に作ったフォームをアップロードしてみました!

アップの際には、現在使っているXSERVER上でSQLを作らねばならず、ここも試行錯誤しました。

すべてのステップで時間がかかりまくりですが、とりあえず動いたときは、すごい嬉しい。

どんなフォームになるのか気になったら、リンク先フォームを見てみてください。

お問い合わせフォーム

URL:https://biz.addisteria.com/myworks/php_form/form.php

まとめ

PHPを使って本の通りにお問い合わせフォームを作った状況を解説しました。

foreachやif関数、変数など、覚えたての知識を実際に使い、理解度がアップしました。

Progateや動画教材のように「一部分をさわっている」という気はせず、いちからステップを重ねて何かを作れた達成感は味わえます。

詳しいコードが知りたい方、作ってみたい方は、本をチェックしてみてください。

 

プログラミング・PHP学習

Laravelの本を書きました。


ひつじが目印♪
クリックするとamazonページへ。

Laravelの使い方を分かりやすく解説した書籍を出版しました。書店やAmazon等のオンラインショップにて販売中です。
Laravel10対応。Laravel11サポートガイドもご用意しています。詳しくは下記ボタンをクリック♪

書籍の詳細を見てみる

Laravelの本を書きました。


ひつじが目印♪
クリックするとamazonページへ。

Laravel10対応

Laravelの使い方を分かりやすく解説した書籍を出版しました。書店やAmazon等のオンラインショップにて販売中です。

書籍の詳細を見てみる

 

Laravelの教科書限定コミュニティ【Laravelの教科書ラボ】はじめました。
デプロイ講座付。StripeやChatGPT連携など過去10回分のセミナー動画視聴可能。

Laravel実践スキルをのばしたい方におすすめです。

ラボの案内を見てみる

【おすすめレンタルサーバー】

「Webアプリを本番環境に反映させたい」

場合には、レンタルサーバーを使うのが手軽です。

わたしはエックスサーバーをメインに使ってます。
早くて安定していて、おすすめです♪



Twitter始めました。
40代からプログラミング!
タイトルとURLをコピーしました