phpについて質問します。以下のurlパラメーターをpostで送信できるようにしたいです!
これはテーブル内に格納されているボタンでして、押したら次のページに飛んでいくときに2つの値を一緒に運びたいです!表示部分なのでセッションに代入とかはできません。
$tblはデータベースから取ってきているので2次元連想配列になっています。なので以下の書き方ができています。
やっぱりtdの中に<form action='' method='post'>を入れてheddenで値を隠し、送る方法しかないのでしょうか。(自分が思いつく方法)
php
1<?php foreach($tbl as $key => $value){ ?> 2<tr> 3 <td> 4 <a href='index.php?name=update&id=<?php print $tbl[$key]['id']; ?>'>更新</a> 5 <a href='index.php?name=delete&id=<?php print $tbl[$key]['id']; ?>'>削除</a> 6 </td> 7</tr> 8<?php } ?> 9</table>
理解できてないならこちらの質問にその旨記載してください。
https://teratail.com/questions/340436
https://teratail.com/help/avoid-asking
おそらく質問者さんは判断できるほどスキルも経験もないようなので指摘しておきます。「同件」です。なので、新たに質問を立てるのはteratailとしても非推奨です。
GET じゃだめなの?
getだったら編集される恐れがあるので、一応セキュリティのためにしておこうかなと思いまして。しかもデータベースのIDなので、、、
でもこういうのってget送信が普通なのでしょうか。
いや、GET がお手軽ってだけの話ス。それを避けたいってんなら書かれているように、各エントリーごとに FORM タグつけるしかないかと。まあ、JavaScript でもアレできますけど、さらに面倒になるんであんまりオススメはしないかなあ。
そうなんですか、わかりました!ありがとうございます!
ベストアンサーに選ばないのが残念です、、
url一発で更新できちゃったり削除できちゃったりできる構造自体がまずいと思うけどね。ユーザー認証してセッションにユーザーidを持っていないときは拒否する、みたいなのを組み合わせたりするよ、ふつうは。
なるほど。。勉強になります!issetをつかってセッションに値が入っていない時に最初の画面に戻すような操作が必要と言うことでしょうか
あなたの回答
tips
プレビュー