Сейчас есть такая страница: site.ru/cat/1 если в строке ввести site.ru/cat/1sdfdfg то страница cat/1 откроется под таким адресом как можно выдать 404 ошибку если адрес не совпадает с id вот код страницы PHP: include "db.php"; $db = connectdb(); $id = intval($_GET['id']); $result = $db->query("SELECT id, date FROM table WHERE id = $id"); while ($row = mysqli_fetch_assoc($result)){ $gt = $row['date']; } echo $gt;
@User123, просто id надо получать/проверять несколько иначе Небольшой демонстрационный примерчик: PHP: $arr = ['1sdffas', '1', '1.1']; foreach($arr as $value) { $boo = intval($value); $foo = $boo == $value; var_dump($value, $boo, $foo); }
@User123, проверьте GET-параметр на соответствие нат. числу. Или хотя бы сравните длины $_GET['id'] и strval(intval($_GET['id'])). Также можно искать по $_GET['id'] с должной защитой (экранированием и т.п.), правда в запросе будет та же падлянка, поэтому длины нужно будет все равно сравнить.
Вот из простого каркаса: PHP: if ($res=mysqli_query($link,'SELECT ... WHERE `id`="'.$p1.'"')) { $r1=mysqli_fetch_assoc($res); mysqli_free_result($res); if ($r1&&strlen($p1)==strlen($r1['id'])) $page=&$r1; else error(404); } else error(503); Все работает: http://gency.ru/comment/75 (припишите, например, test и увидите).