私の質問がはっきりしていて、答えがあることを願っています。私は、次のページでその名前を取得する必要があり、送信ボタンをクリックしたときにPHPの次のページで(ボタンの名前を送信する)方法は?
while... input type=submit name=$row['ID']
:これはボタン(ない実際のコード)を提出する私の。どうやって?
私は異なる送信ボタンを持っていますが、ユーザーが第1、第2、第3、またはx
ボタンを選択したかどうかはわかりません。
私の質問がはっきりしていて、答えがあることを願っています。私は、次のページでその名前を取得する必要があり、送信ボタンをクリックしたときにPHPの次のページで(ボタンの名前を送信する)方法は?
while... input type=submit name=$row['ID']
:これはボタン(ない実際のコード)を提出する私の。どうやって?
私は異なる送信ボタンを持っていますが、ユーザーが第1、第2、第3、またはx
ボタンを選択したかどうかはわかりません。
idをボタン名に割り当てる代わりに、query stringを使用してyour_script.php?id=$row['ID']
に送信してください。次に、次のページで$_GET['id']
を使用してボタン名を取得します。
申し訳ありませんmr.matino ..あなたのソリューションは私を助けるが、私は同じ例があると思います:一つ(1)PHPの本(2)ASPの本(3)JSPの本を選択してください。ユーザーがphp bookをクリックすると、php bookのidを持つ次のページに移動します。選択肢はリンクとして表示されます。どうもありがとうございました。 – user1085733
送信ボタンが値を持つフォームの一部である場合は、次のページの$ _POSTまたは$ _GETデータ配列でアクセスできます。スクリプトが送信ボタンの名前を知らない場合は、ポストデータをループして見つけてください。
ありがとうございます。 :) – user1085733
、あなたのアプリケーションの設計を変更したくない場合は、あなたは、単に
foreach ($yourids_used_in_prev_page as $id)
{
if (isset($_POST[$id])) // or $_GET if your form method="get"
{
// and you are get it!
}
}
を行うことができますそれは美しい解決策ではないですが、あなた
ありがとうございますmr.anton serdyuk。 – user1085733
EDITに適切であり得る:matino's answerがより適切ですそれがあなたのユースケースに合っていれば。
私が正しくあなたを理解していれば、あなたが得る/次の形式の提出後、「the_name」の存在を確認したい:
<form method="post">
<input name="the_name" type="submit">
</form>
今、すべてのPOST'edデータはPHPの$_POST
スーパーグローバルで提供されていますしかし、PHPはデータのどの部分が送信ボタンであるかを知る方法がありません。
この周りの2つの方法があります。
isset($_POST['the_name'])
でその存在を確認することができます - ユーザーがthe_name
送信ボタンをクリックしてフォームを送信した場合、これはあなたを教えてくれます(ただし、ヒットした場合はenter
、変数は存在しません)。submit[the_name]
に変更することでサブスクリプトを使用できます。この方法で、array_keys($_POST['submit'])[0]
を参照して送信済み送信ボタンの名前を確認できます。私はあなたの第2の解決策を掲載しようとしていました。 – Mike
ありがとうmr.connec – user1085733
コメントに基づいて、実際にボタンが押されたかどうかを調べる必要があります。以下の例を確認してください。ここで
は、その名のさまざまなアクションを実行するためのユーザー名の入力と三つのボタンを持つ単純なフォームです:submit
のいずれかのボタンが押され
<form action="next_page.php" method="post">
<input type="text" name="myname" />
<input type="submit" name="get_myname" value="Give my name back" />
<input type="submit" name="rand_name" value="I will give you some name" />
<input type="submit" name="color_name" value="Your name as a rainbow" />
</form>
たら、我々は next_page.php に行きますそれがどれであったかを確認し、それに基づいて行動を起こしてください。
<?php
//this is next_page.php
if (isset($_POST['get_myname'])) {
//echo user's name to screen
} elseif (isset($_POST['rand_name'])) {
//echo a random name
} elseif (isset($_POST['color_name'])) {
//change every letter to a different colour
} else {
//nothing to do here, just nice to have a comment letting you know
}
?>
mr.MattCanありがとう、ボタンの名前を知っているあなたの例は本当ですが、私の問題では、データベースから来た名前は、送信ボタン!だから私は何が必要ですか?次のページで、サブミットされたボタンの名前を取得します。再びありがとう、いつもありがとう。 – user1085733
セッションを使用するか、データを渡すためのフォームで投稿します。実際のコードを表示するのはどうですか? – Drewdin
var_dump $ _REQUESTの場合、そこに情報が表示されます。 – Nightwolf
フォームを送信した後、次のページでGET/POSTからデータのみを取得できます。サーバーはフォームの要素タイプを扱っていません。 – mahadeb