-3

下の結果の表で送信ボタンが押されたときにページを更新する検索フォームがあります。これは正常に機能し、URL は、この用語を使用する必要があるデータベースから sku を追加することがわかっている URL の末尾にhttp://example.com/?txtKeyword=searchterm追加したいです。これをフォームに追加しようとしましたが、失敗しました。フォームコードは次のとおりです。&sku=123456789$_GET[sku]

<form name="frmSearch" method="get" action="<?=$_SERVER['SCRIPT_NAME']?>">
  <table width="100%">
    <tr>
      <th>Search: (Keyword/SKU)
        <input name="txtKeyword" type="text" id="txtKeyword" value="<?=$_GET["txtKeyword"];?>" size="40">
        <input class="alert button" type="submit" value="Search"></th>
    </tr>
  </table>
</form>

この行を追加する必要があると思います:

<form name="frmSearch" method="get" action="<?=$_SERVER['SCRIPT_NAME']'&sku='$_GET["sku"]?>">

これは動作しません。PHPを学ぼうとしているのですが、問題や解決策が見つからないようです。私はこれを間違っていますか?これを正しく行うために何をする必要がありますか?

4

1 に答える 1

0

スクリプトが を探している$_POST['sku']か、それ$_GET['sku']をいつ処理するかによって異なります。

POST の場合は、新しい非表示を追加します<input>

<input type="hidden" name="sku" value="XXXXX">

それをフォームアクションに追加すると、それが探している場合にのみ機能します$_GET['sku']

編集

ある場合はエコーしたいが、そうでない場合はエコーしたくない場合は、次のようにします。

<?php echo !empty($_GET['sku']) ? '<input type="hidden" name="sku" value="'.$_GET['sku'].'">' : ""; ?>
于 2013-07-18T09:08:21.480 に答える