|
|
|
| Привет всем! Помогите разобраться с такой задачей!
Суть вопроса состоит в следующем: есть такая строка
http://www.maxlen.zp.ua/index.php?id=2
| как она работает мне понятно, есть база данных в которой уже вбит HTML код и чтоб вибрать данные они используют воборку, я так думаю примерно так
SELECT * from table where $_POST['id']
|
но мне не поеятна вот это строка! Подскажите как это работает!
http://propello.com.ua/index.php?option=com_content&task=blogcategory&id=0&Itemid=6
|
заранее благодарю за помощь! | |
|
|
|
|
|
|
|
для: Sajmon_root
(29.01.2010 в 11:41)
| | При помощи id=2 вы передаете один GET-параметр с именем id и значением 2, если вам в этой же ссылке нужно предать ещё один параметр, то вы разделяете его при помощи амперсанда &, например, ссылка
http://www.softtime.org/index.php?id=2&name=hello
|
по мимо уже упомянутого параметра id, передас ещё один параметр с именем name и значением "hello" | |
|
|
|
|
|
|
|
для: cheops
(29.01.2010 в 12:08)
| | НУ я так понимаю это нужно тля того чтоб сделать выборку из БД да?
а как тогда выглядит запрос а БД ? это надо через AND? т е
SELECT * FROM table WHERE $_GET['id'] AND $_GET['iname']
| правельно? | |
|
|
|
|
|
|
|
для: Sajmon_root
(29.01.2010 в 12:39)
| | Во-первых, "правильно".
Во-вторых, подставлять параметры, полученные от пользователя, без обработки в запрос - грех. Прочтите это.
В-третьих, синтаксис WHERE не верный. Надо: "WHERE `столбец` = 'значение'"
В-четвертых, по первому вопросу: вы привели пример URL, которые используются в Joomla!, и параметры там используются совершенно по-разному. Для чего конкретно - надо смотреть исходники. | |
|
|
|
|
|
|
|
для: Sajmon_root
(29.01.2010 в 12:39)
| | Обычно запрос выглядит следующим образом
<?php
$query = "SELECT * FROM table WHERE id={$_GET['id']} AND iname='{$_GET['iname']}'";
?>
|
Однако, перед подстановкой GET-параметров в SQL-запрос, их подвергают проверке на допустимость или преобразуют к соответствующему формату, чтобы предотвратить SQL-инъекцию (взлом). Например, целые числа преобразуют при помощи intav()
<?php
$_GET['id'] = intva($_GET['id']);
?>
|
а стрковые экранируют, с учетом режима магических кавычек, например, так
<?php
if (!get_magic_quotes_gpc()) $_GET['iname'] = mysql_escape_string($_GET['iname']);
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(30.01.2010 в 10:34)
| | > при помощи intav()
> intva($_GET['id'])
Мне кажется, или вы имели в виду функцию intval()? =) | |
|
|
|
|
|
|
|
для: neadekvat
(30.01.2010 в 11:14)
| | Да, конечно, опечатался, имеется в виду intval(). | |
|
|
|