[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: select - поиск.
mike_
имеется:



<html>
<
form action="find.php" method="post">



action:
<
select name="action"> action
<option valuе="zero"> deny</option>
<
option valuе="one"> permit</option>
</
select> <br>
source_ip:
<
input type="text" name="source_ip" size="30" maxlength="30" value=""> <br>
source_port:
<
input type="text" name="source_port" size="30" maxlength="30" value=""> <br>
dest_ip:
<
input type="text" name="dest_ip" size="30" maxlength="30" value=""> <br>
dest_port:
<
input type="text" name="dest_ip" size="30" maxlength="30" value=""><br>


protocol type:
<
select name="protocol"> protocol
<option valuе="tcp"> tcp
<option value="udp"> udp
<option value="icmp"> icmp
<option value="ip"> ip
</select>

<
br>
<
input type="submit" name="submit" value="Search"><br>


<
br>
<
br>
<
br>
<
br>
</
form>

</
html>




вопрос: возможно ли в select сделать так, чтобы отображалось Deny или Allow, а реальное значение было 0 и 1.





<?php
$action=$_POST['action'];
$protocol=$_POST['protocol'];
$source_port=$_POST['source_port'];
$source_ip=$_POST['source_ip'];
$dest_ip=$_POST['dest_ip'];
$dest_port=$_POST['dest_port'];
echo $action;
// Файл firstsql.php
$host='localhost'; // имя хоста
$database='hesk'; // имя базы
$user='test'; // имя,
$pswd='123456'; // пароль

$dbh = mysql_connect($host, $user, $pswd) or die("Не могу соединиться с MySQL.");
mysql_select_db($database) or die("Не могу подключиться к базе.");
$query = "SELECT * FROM `acl` WHERE source_ip LIKE '$source_ip%' AND protocol='$protocol' AND source_port='$source_port%' AND source_ip='$source_ip%' AND dest_ip='$dest_ip%' AND dest_port='$dest_port%'" ;
$res = mysql_query($query);
while($row = mysql_fetch_array($res))
{
echo "number: ".$row['number']."<br>\n";
echo "action: ".$row['action']."<br>\n";
echo "protocol: ".$row['protocol']."<br>>\n";
echo "source_ip: ".$row['source_ip']."<br>\n";
echo "source_port: ".$row['source_port']."<br>\n";
echo "dest_ip: ".$row['dest_ip']."<br>\n";
echo "dest_port: ".$row['dest_port']."<br><hr>\n";

}
?>


Как реализовать сложный запрос (несколько условий). Так не работает.



Спустя 8 часов, 17 минут, 48 секунд (17.06.2012 - 11:21) Fr05t1k написал(а):
Мне одному не понятно что требуется?

Спустя 36 минут, 34 секунды (17.06.2012 - 11:58) varvar написал(а):
требуется вывести список кому запрещено и кому нет? трудно понять задачу...
может быть это ты имел ввиду?


$query = "SELECT * FROM `acl` WHERE source_ip LIKE '$source_ip%' AND protocol='$protocol' AND source_port='$source_port%' AND source_ip='$source_ip%' AND dest_ip='$dest_ip%' AND dest_port='$dest_port%' AND action='".($action=="zero"?"0":"1")."'" ;
$res = mysql_query($query);
while($row = mysql_fetch_array($res))
{
echo "number: ".$row['number']."<br>\n";
echo "action: ".($row['action']=="0"?"Deny":"Allow")."<br>\n";
echo "protocol: ".$row['protocol']."<br>>\n";
echo "source_ip: ".$row['source_ip']."<br>\n";
echo "source_port: ".$row['source_port']."<br>\n";
echo "dest_ip: ".$row['dest_ip']."<br>\n";
echo "dest_port: ".$row['dest_port']."<br><hr>\n";

}
?>


Спустя 10 минут, 38 секунд (17.06.2012 - 12:08) Placido написал(а):
Цитата (mike_ @ 17.06.2012 - 03:03)
вопрос: возможно ли в select сделать так, чтобы отображалось Deny или Allow, а реальное значение было 0 и 1.

Если это имеется в виду:
<option valuе="0">Deny</option>
<option
valuе="1">Allow</option>

Только не забываем, что из поста приходят строковые значения ('0' и '1', а не 0 и 1).

Спустя 46 минут, 23 секунды (17.06.2012 - 12:55) mike_ написал(а):
в столбце action - 0 или 1.


Цитата
<option valuе="0">Deny</option>
<option valuе="1">Allow</option>


А какого назначение value, если из поста придет Deny.


тут наверное стоит так сделать:


if ($_POST['action'] = 'allow') {$action = '1';}
if ($_POST['action'] = 'deny') {$action = '0';}



проблема 2:

Цитата
$query = "SELECT * FROM `acl` WHERE source_ip LIKE '$source_ip%' AND protocol='$protocol' AND source_port='$source_port%' AND source_ip='$source_ip%' AND dest_ip='$dest_ip%' AND dest_port='$dest_port%'" ;


такой запрос не срабатывает.

Спустя 39 минут, 43 секунды (17.06.2012 - 13:34) Placido написал(а):
Цитата (mike_ @ 17.06.2012 - 12:55)
в столбце action - 0 или 1.


<option valuе="0">Deny</option>
<option valuе="1">Allow</option>[/QUOTE]

А какого назначение value, если из поста придет Deny.


тут наверное стоит так сделать:


if ($_POST['action'] = 'allow') {$action = '1';}
if ($_POST['action'] = 'deny') {$action = '0';}


В $_POST['action'] придет либо '0', либо '1'. 'Deny' и 'Allow' придет только в том случае, если не будет указано value.

Спустя 14 минут, 43 секунды (17.06.2012 - 13:49) mike_ написал(а):
Цитата (Placido @ 17.06.2012 - 10:34)
[QUOTE=mike_,17.06.2012 - 12:55] в столбце action - 0 или 1.


<option valuе="0">Deny</option>
<option valuе="1">Allow</option>[/QUOTE]

А какого назначение value, если из поста придет Deny.


тут наверное стоит так сделать:


if ($_POST['action'] = 'allow') {$action = '1';}
if ($_POST['action'] = 'deny') {$action = '0';}

[/QUOTE]
В $_POST['action'] придет либо '0', либо '1'. 'Deny' и 'Allow' придет только в том случае, если не будет указано value./option

а приходит deny или allow

Спустя 10 минут, 40 секунд (17.06.2012 - 14:00) Placido написал(а):
Цитата (mike_ @ 17.06.2012 - 13:49)
а приходит deny или allow

Значит, ищите ошибку в html.

Спустя 5 минут, 52 секунды (17.06.2012 - 14:06) mike_ написал(а):
<select name="action"> action
<option value="0"> deny</option>
<option
value="1"> permit</option>
</select>


вот весь код

Спустя 11 минут, 43 секунды (17.06.2012 - 14:17) Placido написал(а):
Не смущает, что последняя е не подсвечивается зелененьким? Это от-того, что это кириллическая е, замените на латинскую e, и все будет в порядке.

Спустя 2 минуты, 22 секунды (17.06.2012 - 14:20) mike_ написал(а):
о ,спасибо.


терь осталось разобраться с запросом.

Спустя 2 минуты, 7 секунд (17.06.2012 - 14:22) T1grOK написал(а):
Цитата (mike_ @ 17.06.2012 - 10:49)
а приходит deny или allow

АЛЕЕ! :)
Приходит все нормально. Вы присваиваeте значения сами
if ($_POST['action'] = 'allow')


= оператор присвоения, здесь нужно сравнения - ==;



Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.