2016.
02.
14
20:18:07
結論から書くと、押されたsubmitボタンのname属性がサーバ側に渡るので、
$_POSTや$_GET内の存在チェックをすることで、押されたsubmitボタンを判定できます。
あとは、押されたsubmitボタンによって処理内容を変えればOKです。
言葉にすると、分かりにくいですね。
取りあえず、サンプルを見てくださいφ(--)
■test01.php
下半分がHTML部分です。
name属性に「submit1」を設定した「ボタン1」と
name属性に「submit2」を設定した「ボタン2」のみのフォームがあります。
フォームはPOSTで送信するようになっています。
の部分ですね。
上半分がPHP側の処理部分です。
ポイントは
と
の部分です。
「ボタン1」が押された場合、$_POST['submit1']に値が設定されています。
「ボタン2」が押された場合、$_POST['submit2']に値が設定されています。
「isset()」を使って$_POST['submit1']と$_POST['submit2']の存在チェックを行うことで、
押されたsubmitボタンを判断できる理屈です。
あとは、submitボタンが押された際の処理を、それぞれ実装してください。
それで、押されたsubmitボタンによって動作を変えることができます。
なお、今回のサンプルはPOSTで書きましたが、GETでもできます。
こんなんでも、動きますよφ(--)
■test02.php
そんな感じ\(--)/
$_POSTや$_GET内の存在チェックをすることで、押されたsubmitボタンを判定できます。
あとは、押されたsubmitボタンによって処理内容を変えればOKです。
言葉にすると、分かりにくいですね。
取りあえず、サンプルを見てくださいφ(--)
■test01.php
<?php
$msg = "";
if(isset($_POST['submit1'])){
$msg = "「ボタン1」が押されたよ<br>";
}elseif(isset($_POST['submit2'])){
$msg = "「ボタン2」が押されたよ<br>";
}
?>
<html>
<head></head>
<body>
<?php echo $msg; ?><br><br>
<form method="POST" action="./test01.php">
<input type="submit" name="submit1" value="ボタン1">
<input type="submit" name="submit2" value="ボタン2">
</form>
</body>
</html>
$msg = "";
if(isset($_POST['submit1'])){
$msg = "「ボタン1」が押されたよ<br>";
}elseif(isset($_POST['submit2'])){
$msg = "「ボタン2」が押されたよ<br>";
}
?>
<html>
<head></head>
<body>
<?php echo $msg; ?><br><br>
<form method="POST" action="./test01.php">
<input type="submit" name="submit1" value="ボタン1">
<input type="submit" name="submit2" value="ボタン2">
</form>
</body>
</html>
下半分がHTML部分です。
name属性に「submit1」を設定した「ボタン1」と
name属性に「submit2」を設定した「ボタン2」のみのフォームがあります。
フォームはPOSTで送信するようになっています。
<form method="POST" action="./test01.php">
<input type="submit" name="submit1" value="ボタン1">
<input type="submit" name="submit2" value="ボタン2">
</form>
<input type="submit" name="submit1" value="ボタン1">
<input type="submit" name="submit2" value="ボタン2">
</form>
の部分ですね。
上半分がPHP側の処理部分です。
ポイントは
if(isset($_POST['submit1'])){
と
}elseif(isset($_POST['submit2'])){
の部分です。
「ボタン1」が押された場合、$_POST['submit1']に値が設定されています。
「ボタン2」が押された場合、$_POST['submit2']に値が設定されています。
「isset()」を使って$_POST['submit1']と$_POST['submit2']の存在チェックを行うことで、
押されたsubmitボタンを判断できる理屈です。
あとは、submitボタンが押された際の処理を、それぞれ実装してください。
それで、押されたsubmitボタンによって動作を変えることができます。
なお、今回のサンプルはPOSTで書きましたが、GETでもできます。
こんなんでも、動きますよφ(--)
■test02.php
<?php
$msg = "";
if(isset($_GET['submit1'])){
$msg = "「ボタン1」が押されたよ<br>";
}elseif(isset($_GET['submit2'])){
$msg = "「ボタン2」が押されたよ<br>";
}
?>
<html>
<head></head>
<body>
<?php echo $msg; ?><br><br>
<form method="GET" action="./test02.php">
<input type="submit" name="submit1" value="ボタン1">
<input type="submit" name="submit2" value="ボタン2">
</form>
</body>
</html>
$msg = "";
if(isset($_GET['submit1'])){
$msg = "「ボタン1」が押されたよ<br>";
}elseif(isset($_GET['submit2'])){
$msg = "「ボタン2」が押されたよ<br>";
}
?>
<html>
<head></head>
<body>
<?php echo $msg; ?><br><br>
<form method="GET" action="./test02.php">
<input type="submit" name="submit1" value="ボタン1">
<input type="submit" name="submit2" value="ボタン2">
</form>
</body>
</html>
そんな感じ\(--)/