2017-12-08 12 views
0

GETメソッドを使用して複数のパラメータを選択フォームに渡しています。私は、フォーム提出後にURLの4つのパラメータから3つを隠したいと思っています。私は4つの値を持つオプションを持っていると私はそれらを爆発し、そのようにそれぞれを得る:URLで渡されたパラメータの特定の部分を非表示にする

<select name="hardware"> 
<option value="Bitmain AntMiner S9|1-btc-sha-256|14000|1375">BITMAIN AntMiner S9</option> 
<option value="Bitmain AntMiner D3|34-dash-x11|15000|1200">BITMAIN AntMiner D3</option> 
</select> 

<?php 
$hardware = $_GET["hardware"]; 
$hardware_explode = explode('|', $hardware); 
echo $hardware_explode[0]; 
echo $hardware_explode[1]; 
echo $hardware_explode[2]; 
echo $hardware_explode[3]; 
?> 

URLにそのようなものです:example.com/calculate.php?hardware=Bitmain+AntMiner+S9%7C1-btc-sha-256%7C13000%7C1375

と私はそれがexample.com/calculate.php?hardware=Bitmain+AntMiner+S9

どのようになりたいです最後の3つのパラメータをJSまたはPHPで非表示にしますか?

+3

「GET」ではなく「POST」を使用してください。選択的に非表示にすることはできません。 –

+2

私たちが知っていれば助けになるかもしれません。なぜ、相手側で何をしたいのですか? – Lewis

+3

これは間違いなくhttp://xyproblem.info/です。 'GET'を使うと結果をブックマークすることができます。それが必要でない場合は、 'POST'を使用してください。結果をブックマークできるようにするには、Quentinが提案したように実際の情報をidに置き換え、バックエンドのハッシュデータを決定します。 –

答えて

1

提出したくない場合は、最初にフォームに入れないでください。

<option value="Bitmain AntMiner S9"> 
+0

を使って別のURLにリダイレクトできます。それらはURLに表示されます – Chakachuk

+2

@Chakachuk - あなたは本当にそれを行うことはできません。名前を一意にする(または単にIDを使用する)こと、およびデータベース内の残りの情報を参照することを検討してください。 – Quentin

+0

どうすればいいですか?アクセスされたURLがこのオプションにPOSTリクエストを呼び出すよりもexample.com/calculate.php?hardware=Bitmain+AntMiner+S9の場合

-1

クライアント側からやって1hiddenや1のようなクエリパラメータを隠す方法はありません。しかし、 "POST"メソッドを使用すると、クエリパラメータに値を送信することを完全に避けることができます。

関連する問題