#1 2009.06.14 18:53

WapStyle
Участник
Откуда: Ирбит
Зарегистрирован: 2008.03.26
Сообщений: 475
Карма: 3
Профиль Веб-сайт

Помогите с фильтрацией

Вот есть например
$id = $_GET['id'];

id - может быть только число

помогите чтобы работала фильтрация символов, дайте функцию или что вписать?

Неактивен

#2 2009.06.14 19:15

JInn
Участник
Откуда: Север нашей Родины
Зарегистрирован: 2008.11.18
Сообщений: 120
Карма: 2
Профиль Веб-сайт

Re: Помогите с фильтрацией

Как то не очень понятно зачем тебе фильтрация...
Если чтобы в базу инъекцию не сделали, то можно так
function clean($text)
{
if (is_numeric($text)){$text = intval(trim($text));}
else{
$text = mysql_real_escape_string(trim($text));
}
return $text;
}

Пишешь $id = clean($_GET['id']);
А если, чтоб только число могло быть то может быть
$id = intval($_GET['id']);


Как все таки сложно быть ботом...

Неактивен

#3 2009.06.14 19:27

Akdmeh
Участник
Откуда: Киев и рядом;)
Зарегистрирован: 2008.11.30
Сообщений: 257
Карма: 9
Профиль Веб-сайт

Re: Помогите с фильтрацией

что бы $id было положительным числом(или ноль) хватит:
$id=abs(intval($_GET['id']));
Псле этого $id - положительное число или ноль


Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink

Неактивен

#4 2009.06.14 21:24

WapStyle
Участник
Откуда: Ирбит
Зарегистрирован: 2008.03.26
Сообщений: 475
Карма: 3
Профиль Веб-сайт

Re: Помогите с фильтрацией

Код:

1
2
3
4
5
function clean($text){
if (is_numeric($text)){$text = intval(trim($text));
}else{
$text = mysql_real_escape_string(trim($text));}
return $text;}

не робит...так же при запросе id=1' выдает ошибку

Код:

1
$id = intval($_GET['id']);

тоже не робит при запросе id=1' выдает ошибку

Код:

1
$id=abs(intval($_GET['id']));

тоже не робит при запросе id=1' выдает ошибку

Неактивен

#5 2009.06.14 21:32

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Помогите с фильтрацией

тебе intval достаточно. какая ошибка?

Неактивен

#6 2009.06.14 22:03

WapStyle
Участник
Откуда: Ирбит
Зарегистрирован: 2008.03.26
Сообщений: 475
Карма: 3
Профиль Веб-сайт

Re: Помогите с фильтрацией

выводит пустую страницу...

Неактивен

#7 2009.06.14 22:04

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Помогите с фильтрацией

полный код файла дай.

Неактивен

#8 2009.06.14 22:07

WapStyle
Участник
Откуда: Ирбит
Зарегистрирован: 2008.03.26
Сообщений: 475
Карма: 3
Профиль Веб-сайт

Re: Помогите с фильтрацией

правельно или нет?

Код:

1
2
3
4
5
6
7
8
9
10
11
// Загружаем ID сообщества
$id = intval($_GET['id']);
 
// Проверям на существование сообщества
if(mysql_result(mysql_query("SELECT COUNT(id) FROM `community_comm` where `id` = '$id' LIMIT 1"),0)){
 
тут код
 
}else{
// если сообщества нет нет
echo 'Сообщества не найдены';}

Неактивен

#9 2009.06.14 22:13

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Помогите с фильтрацией

ну вобщем да.

Неактивен

#10 2009.06.14 22:16

WapStyle
Участник
Откуда: Ирбит
Зарегистрирован: 2008.03.26
Сообщений: 475
Карма: 3
Профиль Веб-сайт

Re: Помогите с фильтрацией

Так вот при запросе id=1' выдаёт белую страницу, а можно чтобы выдавало что например ссобщество не найдено?

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.012 s