0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

PHPのページ遷移で<form>タグを1つにまとめる方法

Last updated at Posted at 2020-12-29

お疲れ様です!TaYです:open_hands:

今PHPでECサイトを製作中で、商品の一覧ページから編集、削除、追加などをできるボタンを設置しています。

スクリーンショット 2020-12-29 15.24.37.png
↑こんな感じ

通常ボタンを使う場合はボタン1つにつきformタグ1個が定番ですが、このように何個もボタンを追加するとその都度formタグをかかなければなりません:sweat:

sample_1.html

<input type="radio" name="code" >
<form method="post" action="sample_2.php">
<input type = "submit" value="参照">
</form>
<form method="post" action="sample_3.php">
<input type = "submit" value="追加">
</form>
<form method="post" action="sample_4.php">
<input type = "submit" value="編集">
</form>
<form method="post" action="sample_5.php">
<input type = "submit" value="削除">
</form>

面倒だしコードもごちゃごちゃして見づらいですよね。

そこで、これらのページの分岐ページを作ってあげます!

sample_1.html

<form method="post" action="sample_branch.php">
<input type = "submit" name="display" value="参照">
<input type = "submit" name="add" value="追加">
<input type = "submit" name="edit" value="編集">
<input type = "submit" name="delete" value="削除">
</form>

sample_branch.php
<?php
if(isset($_POST['display']) == ture){
  header('Location: sample_2.php');
  exit();
}

if(isset($_POST['add']) == ture){
  header('Location: sample_3.php');
  exit();
}

if(isset($_POST['edit']) == ture){
  header('Location: sample_4.php');
  exit();
}

if(isset($_POST['delete']) == ture){
  header('Location: sample_5.php');
  exit();
}
?>

処理の流れとしては
①:sample_branch.phpがsample_1.phpからname情報を受け取る。
②:①で受け取った情報をif文で判定し、任意のページにとばしてくれる。
という仕組みです。

こうするとコードがスッキリしますね!

ちょっとしたことですが、覚えておくとどこかで役に立つかも知れませんね!

それでは今回はこのへんで:wave:

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?