パットされたコンテンツから動的ページを作成する Web ページに検索フォームがあります。私はそれを機能させましたが、これらのフォームには別のフォームがあり、選択可能なデータもあります。sku、sku2、txtKeyword2 が設定されている場合にのみ非表示のフィールド行を表示したい。私がこれまでに試したことを以下に見つけてください。
<form name="frmSearch" method="get" action="<?=$_SERVER['SCRIPT_NAME']?>">
<table width="100%">
<tr>
<th><h3>Search </h3>
<div class="alert-box">Insert Text for alert box</div>
<input name="txtKeyword" type="text" id="txtKeyword" value="<?=$_GET["txtKeyword"];?>" size="40">
<?php if(isset($_GET['sku'])) echo '<input type="hidden" name="sku" value="'.$_GET['sku'].'">'?>
<?php if(isset($_GET['sku2'])) echo '<input type="hidden" name="sku2" value="'.$_GET['sku2'].'">'?>
<?php if(isset($_GET['txtKeyword2'])) echo '<input type="hidden" name="txtKeyword2" value="'.$_GET['txtKeyword2'].'">'?>
<input class="alert button" type="submit" value="Search"></th>
</tr>
</table>
</form>
入力行が設定されていない場合、入力行を表示しないようにするだけです。私は正しくやっていると思いますが、PHPを学んでいるのでわかりません。
次のコードも試してみましたが、うまくいきましたが、次のURLが出力されました。
index.php?txtKeyword=giro%25skyline&sku=%09%09<input+type%3D
これが発生してはならないことはわかっていますが、ページは機能しますが、他の検索フォームにデータを入力すると、入力行の一部が URL に追加されます。これが私が試したコードです:
<form name="frmSearch" method="get" action="<?=$_SERVER['SCRIPT_NAME']?>">
<table width="100%">
<tr>
<th><h3>Search </h3>
<div class="alert-box">Insert text for the alert box</div>
<input name="txtKeyword" type="text" id="txtKeyword" value="<?=$_GET["txtKeyword"];?>" size="40">
<input type="hidden" name="sku" value="<?php if(isset($_GET['sku'])) echo ''.$_GET['sku'].'">'?>
<input type="hidden" name="txtKeyword2" value="<?php if(isset($_GET['txtKeyword2'])) echo ''.$_GET['txtKeyword2'].'">'?>
<input type="hidden" name="sku2" value="<?php if(isset($_GET['sku2'])) echo ''.$_GET['sku2'].'">'?>
<input class="alert button" type="submit" value="Search"></th>
</tr>
</table>
</form>
何が起こっているのか、どうすれば修正できるのかを知りたいです。
ありがとうライアン