3

名前属性qの検索フィールドがあり、送信ボタンをクリックした後、フォームを同じページ(index.php)に移動させたいので、フォームのアクションを次のように設定します:

'index.php?a=nl&b=search'.

ナビゲート先の URL が次のようになるようにしたい (アクション URL + フィールドの名前):

'index.php?a=nl&b=search&q=search-term'. 

ただし、クリックすると、ページは次の場所に移動します

'index.php?q=search-term'

これを修正する方法はありますか?

4

6 に答える 6

5

フォーム アクションの代わりに、a=nl&b=search2 つの非表示の入力をフォームに追加するだけです。

<input type='hidden' name='a' value='nl' />
<input type='hidden' name='b' value='search' />
于 2012-09-20T12:16:41.213 に答える
3

a と b を追加すると、目的の値を持つフォームに非表示のフィールドがあります。

于 2012-09-20T12:16:04.190 に答える
3

フォーム メソッドを GET にして、フィールドを隠しフィールドとして追加します。

フォームにはq入力フィールドしかないようです(および名前属性のない送信ボタン)。非表示の入力として送信した後、URL に追加したいものを追加します - 例:

<form method="get" action="yoururl.com?a=nl&b=search">
<input type="hidden" name="a" value="<?php echo isset($_GET['a']) ? $_GET['a'] : ''; ?>"/>
<input type="hidden" name="b" value="<?php echo isset($_GET['b']) ? $_GET['b'] : ''; ?>"/>

.....フォームの残りの部分...

于 2012-09-20T12:16:30.377 に答える
1

でGETメソッドを使用する<form>と、フォームは次のようになります。

<form method="get" action="index.php">
    <input type="hidden" value="nl" name="a">
    <input type="hidden" value="search" name="b">
    <input type="text" name="q">
    <input type="submit" value="submit">
</form>
于 2012-09-20T12:29:42.703 に答える
1

このようなフォームはトリックを行う必要があります:

<form action="" method="get">
    <input name="q" type="text"/>
    <input name="a" type="hidden" value="nl"/>
    <input name="b" type="hidden" value="search"/>
    <input type="submit" value="Submit"/>
</form>

アクションは同じページに移動するため、指定する必要はありません。

于 2012-09-20T12:18:51.017 に答える
0

したがって、フォームは次のようになります。

<form method="POST" action='index.php?a=nl&b=search'>

 <input type="text" name="q">

</form>

その場合、次のようにPHPの3つの変数にアクセスできます。

$_GET['a']
$_GET['b']
$_POST['q']

アクションの変数はGETとして渡され、フォーム内のフィールドはPOSTとして渡されるためです。

GETまたはPOSTの場合に注意を払わずに変数を取得する別の便利な方法は、$_REQUEST次のように、配列を介して変数にアクセスすることです。

$_REQUEST['a']
$_REQUEST['b']
$_REQUEST['q']
于 2012-09-20T12:22:25.700 に答える