Эта переменная используется в
$result = mysql_query("SELECT name, txt FROM data WHERE id='$id'", $db);
$update = mysql_query("UPDATE data SET name = '$name', txt = '$txt' WHERE id='$id'", $db);
Сейчас проверяю так
if (!is_numeric($id))
{
exit ();
}
но мне сказали что это намного дольше обрабатывается чем int.
Спустя 13 минут, 36 секунд (21.11.2010 - 22:39) vinnie написал(а):
$id = !empty ($_GET['id']) ? (int)$_GET['id'] : NULL;
Спустя 1 минута, 21 секунда (21.11.2010 - 22:40) Sanchopansa написал(а):
А зачем тебе эта проверка? просто приводи к типу и все...
$id = (int) $_POST['id'];
$result = mysql_query("SELECT name, txt FROM data WHERE id='$id'", $db);
Спустя 8 минут, 9 секунд (21.11.2010 - 22:48) xJlaIIax написал(а):
Sanchopansa, что бы скрипт не написали.
Спустя 3 минуты, 11 секунд (21.11.2010 - 22:51) xJlaIIax написал(а):
vinnie, такой вариант, как ты мне предложил я и хотел использовать.
Просто хотел поинтересоваться может и другие варианты есть.
Какой вариант посоветуете?
Просто хотел поинтересоваться может и другие варианты есть.
Какой вариант посоветуете?
$id = !empty ($_GET['id']) ? (int)$_GET['id'] : NULL;
$id = (int) $_POST['id'];
Спустя 44 минуты, 42 секунды (21.11.2010 - 23:36) vinnie написал(а):
$id = !empty ($_GET['id']) ? (int)$_GET['id'] : NULL;
и никакого скрипта тебе не напишут)))
Спустя 1 минута, 4 секунды (21.11.2010 - 23:37) Sanchopansa написал(а):
$id = isset ($_GET['id']) ? (int)$_GET['id'] : 'тут можно устанвить значение по умолчанию';
Лучше этот, потому что тут есть проверка на наличие переменной и есть возможность задать значение по умолчанию
vinnie
empty ('0') вернет true!!! ;)
Спустя 11 минут, 21 секунда (21.11.2010 - 23:48) xJlaIIax написал(а):
Спасибо Вам большое за дельные советы!
Спустя 1 минута, 7 секунд (21.11.2010 - 23:50) vinnie написал(а):
не за что... обращайся
Спустя 51 секунда (21.11.2010 - 23:50) vinnie написал(а):
карму поставь)))
Спустя 11 часов, 21 минута, 30 секунд (22.11.2010 - 11:12) xJlaIIax написал(а):
Я думаю если человек написал в переменную id не число, то его наверное разумнее переправить на главную страницу или на страницу 404. Если переменной id присвоить 1, то там выведется совершенно другая заметка, если 0, то выведется страница с не выбранными данными.
Я правильно думаю?
Как думаете куда его лучше переправить на главную или на 404?
$id = !empty($_GET['id']) ? (int)$_GET['id'] : 0;
if ($id == 0)
{
echo ('<meta http-equiv="Refresh" content="0; URL=index.php">');
exit ();
}
Я правильно думаю?
Как думаете куда его лучше переправить на главную или на 404?
Спустя 22 минуты, 16 секунд (22.11.2010 - 11:34) phz написал(а):
Вместо...
<meta http-equiv="Refresh" content="0; URL=index.php">
нужно
header
<meta http-equiv="Refresh" content="0; URL=index.php">
нужно
header
Спустя 4 минуты, 41 секунда (22.11.2010 - 11:39) linker написал(а):
Переправляй на главную, нафига рефреш.
Спустя 35 минут, 48 секунд (22.11.2010 - 12:15) xJlaIIax написал(а):
Так?
$id = !empty($_GET['id']) ? (int)$_GET['id'] : 0;
if ($id == 0)
{
header ("Location: index.php");
exit ();
}
Спустя 4 минуты, 32 секунды (22.11.2010 - 12:19) linker написал(а):
$id = isset($_GET['id']) ? abs($_GET['id']) : 0;
if (!$id)
{
header("Location: index.php");
exit();
}
Спустя 3 минуты, 47 секунд (22.11.2010 - 12:23) xJlaIIax написал(а):
linker, Спасибо!
Спустя 4 минуты, 13 секунд (22.11.2010 - 12:27) FatCat написал(а):
Айдишник должен быть целочисленным? ;)
if( "".$_GET['id'] !== "".intval($_GET['id']) )
Спустя 1 минута, 30 секунд (22.11.2010 - 12:29) linker написал(а):
abs() сделает его не только целочисленным, но и больше нуля.