PHPでクリックされたボタンに応じて別の処理を実行する方法を現役エンジニアが解説【初心者向け】

初心者向けにPHPでクリックされたボタンに応じて別の処理を実行する方法について現役エンジニアが解説しています。ボタン要素にはsubmitやreset、buttonタグなどがあります。今回はフォームのsubmitボタンのname属性を変えて、$_POST変数の違いを確認して処理を分けます。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

今回は、PHPでクリックされたボタンに応じて別の処理を実行する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

 

PHPについてそもそもよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、PHP/Laravel講座の内容をもとに紹介しています。

 

田島悠介

今回は、PHPに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

PHPでクリックされたボタンに応じて別の処理を実行する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

buttonとは

Webサイトなどでよく見かけるボタンを作成するためには、HTMLの<button>タグを使用します。
<button>タグは、type属性を指定することで以下の3つの機能に分類できます。

  • type=”submit” …… <form>入力内容を送信するボタン
  • type=”reset” …… <form>入力内容をリセットするボタン
  • type=”button” …… 何もしない汎用的な押しボタン

 

クリックされたボタンに応じて別の処理を実行する方法

クリックされたボタンに応じて別の処理を実行するためには、<button>タグにname属性を設定します。

name属性を設定することで、PHPスクリプトで設定されたnameを指定してコントロールが可能になります。
 

[PR] PHPのプログラミングで挫折しない学習方法を動画で公開中

実際に書いてみよう

それでは、実際に<button>タグにname属性を設定し、PHPスクリプトでコントロールする例を見ていきましょう。

input.php

<?php
if(isset($_POST['add'])) {
    echo "登録ボタンが押下されました";
} else if(isset($_POST['update])) {
    echo "更新ボタンが押下されました";
} else {
    echo "削除ボタンが押下されました";
}
?>
<form action="input.php" method="post">
    <button type="submit" name="add">登録</button>
    <button type="submit" name="update">更新</button>
    <button type="submit" name="remove">削除</button>
</form>

上記の例では、押されたボタンに応じてPHPスクリプトで処理を分岐しています。
<form>タグのmethod属性が”post”であった場合、PHPスクリプトは、$_POSTで受け取ることができます。

$_POSTの「[]」内に各ボタンのname属性を指定することで、どのボタンが押されたか検知し、ボタンに応じて処理を分けることができます。
 

筆者プロフィール

平野大輝(ひらのだいき)

スキル:PHP・Java・JavaScriptを用いて様々なアプリを開発するWebエンジニア。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、PHPやフレームワークのLaravelを使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。