プロが教える店舗&オフィスのセキュリティ対策術

formに複数ボタン配置と複数の値受け渡しにつきまして、下記のような命令をしたいのですが、どうしても解決策がわかりません。

1.jpgで作成したボタンをクリックすると、textの"コンニチワ"、textの30、1.jpgが1.phpへ送られる。
2.jpgで作成したボタンをクリックすると、textの"コンバンワ"、textの50、2.jpgが1.phpへ送られる。


下記は、一応自分で作成したものです。

●sample.html

<form method="post" action="1.php">
<input name="namae"type="text"value="コンチニワ">
<input name="namae"type="text"value="コンバンワ"><br>

<BUTTON type ="submit"name="submit1">
<IMG src="1.jpg">
</BUTTON>

<BUTTON type ="submit"name="submit2">
<IMG src="2.jpg">
</BUTTON><br>

<input name="price"type="text"value="30">
<input name="price"type="text"value="50">

--------------------------------
【sample.htmlの希望表示】
namaeテキスト  namaeテキスト
ボタン画像    ボタン画像
priceテキスト  priceテキスト
--------------------------------

●1.php

<?php

$namae=$_POST['namae']
$kakaku=$_POST['price']
$image=&_POST['image']

?>



もしかしたら、imageについては表示させないテキストに隠して値だけ送るという
手もあるかもしれません。やり方がわかりませんが。

A 回答 (2件)

javascriptに依存するのが許されるなら



<form method="post" action="1.php" onsubmit="return false;">
<input name="namae"type="text"value=""><br>
<input name="price"type="text"value="">
<input type="hidden" name="image">
<button type ="submit" name="submit1" onclick="sub(this);"><img src="1.jpg" alt="button_1"></button>
<button type ="submit" name="submit2" onclick="sub(this);"><img src="2.jpg" alt="button_2"></button><br>
</form>

<script type="text/javascript">
function sub(button){
switch(button.name){
case "submit1":
button.form.namae.value="こんにちわ";
button.form.price.value="30";
button.form.image.value="1.jpg";
break;
case "submit2":
button.form.namae.value="こんばんわ";
button.form.price.value="50";
button.form.image.value="2.jpg";
break;
}
button.form.submit();
}
</script>
    • good
    • 0

> 1.jpgで作成したボタンをクリックすると、textの"コンニチワ"、textの30、1.jpgが1.phpへ送られる。


> 2.jpgで作成したボタンをクリックすると、textの"コンバンワ"、textの50、2.jpgが1.phpへ送られる。

<form>の中に入ってるフィールドは、基本的にnameとvalueがセットになっていれば全てサーバーに送られますから、
これをしたいなら、フォームを2つに分ける必要があります。


<form method="post" action="1.php">
<input name="namae"type="text"value="コンチニワ"><br>

<BUTTON type ="submit"name="submit1">
<IMG src="1.jpg">
</BUTTON>

<input name="price"type="text"value="30">
</form>

<form method="post" action="1.php">
<input name="namae"type="text"value="コンバンワ"><br>

<BUTTON type ="submit"name="submit2">
<IMG src="2.jpg">
</BUTTON><br>

<input name="price"type="text"value="50">
</form>


1つのフォームで作る場合は、JavaScriptで送るデータを随時生成するか、
$_POST['submit1']、$_POST['submit2']がセットされているかどうかを調べてどちらのボタンが押されたかを判断して、必要なデータだけを使用するようにして下さい。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!