У меня есть форма поиска на веб-странице, на которой я создам динамическую страницу из содержащегося в ней контента. У меня есть это, чтобы работать, но есть еще одна из этих форм, и есть также доступные данные. Я хочу, чтобы он отображал только скрытые поля полей, когда установлены sku, sku2, txtKeyword2. Ниже вы найдете то, что я пробовал до сих пор.Если полученное значение isset, поле ввода эха
<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>
Мне очень хотелось бы знать, что происходит, как я могу это исправить.
Благодаря Райан
Привет @DarkMantis Это работало, я знаю о SQL Injection, но это не будет использоваться кем-то другим, чем мой сам, и если мы собирались выпустить мы будем защищать наш dba –
Хорошо, я исправил свой ответ @Prix. Я написал это в некоторой спешке, поэтому я не включил причины, но вы правы, это не оправдание :) – DarkMantis
@RyanThomasKing как побочная заметка, у вашего php, похоже, есть short_open_tag = Off, который не позвольте вам использовать ' =', поэтому вам нужно либо включить его на свой 'php.ini', либо использовать переменную' php echo $; ?> 'вместо этого. – Prix