0

<a href>のウェブページには、次のリンクがあります。

<a href=\"?remove=0\">Remove</a>

どちらでも構いません。次に、次のように参照します。

if(isset($_REQUEST['remove']))

設定されているかどうかを確認してから、相対アクションを実行します(配列から値を削除します)。

しかし、に設定されているphpページで別のフォームをクリックするとmethod='POST'$_GET値がURLバーにとどまるため、何らかの理由で再度渡され、プログラムが台無しになります。

何かご意見は?

4

2 に答える 2

5

action=フォームに小道具が欠けているようです。フォームの投稿先を指定しない場合、現在の URL に投稿され、クエリ文字列が含まれます。

現在の URL への投稿:

<form method="post">

指定した URL への投稿:

<form method="post" action="mypage.php">
于 2013-03-21T21:30:15.393 に答える
0

音の除去は危険な操作のようです。GET リクエストに応答して実行するべきではありません。ユーザーがページをリロードして誤って何かを削除してしまったり、検索ロボットがそのリンクをたどって何かを削除したりする可能性があります (もちろん、アクセス許可がある場合)。最近のブラウザでさえ、プリフェッチを行っています。プリフェッチされたリンクの 1 つが削除リンクだったらどうなりますか?

したがって、確認するのが賢明でしょう

if (isset($_POST['remove']))

削除するリンクをフォームに変換します。

于 2013-03-21T21:32:18.887 に答える