Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Замена переменных в url
$id_result=mysql_query("SELECT id FROM $table",$db);
Логика такая, что если есть переменная table тогда вытаскиваем данные с таблицы которая указана в url. Проблема в следующем, как реализовать, чтобы если пользователь ввел неверное значение допустим просто изменил url(пусть будет случайно) и вместо articles-item.php?id=1&table=recipes_japan написал articles-item.php?id=1&table=recipes_japans Если будет ошибка в url тогда и в articles-item.php будет ошибка. Mysql будет выдавать ошибку чтения базы.. Помогите разобраться пожалуйста
----- Колян! Я надыбал макароны!
EuGen
Отправлено: 20 Мая, 2011 - 12:02:05
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Сделайте обработку приходящих от пользователя данных. Например, создайте массив допустимых значений и проверяйте по нему. Если пользователь предает значение, которого нет в массиве - либо сообщать об ошибке, либо брать значение по-умолчанию.
Пример такой:
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Потому что проверку имени таблицы нужно помещать до запроса, в этом её смысл.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Dezmonds
Отправлено: 20 Мая, 2011 - 12:28:01
Новичок
Покинул форум
Сообщений всего: 49
Дата рег-ции: Май 2011
Помог: 0 раз(а)
EuGen Cпасибо большое Вам!!!! Что то я устал такую глупость сморозил ) Спасибо! (Добавление)
Еще один вопрос. Почему все отлично работает если я захожу с url
/articles-item.php?id=10&table=news_japan (спокойно меняю значение table и все ок)
А вот если захожу допустим с
articles-item.php?id=1&table=articles_japan
и пробую меня значение, тогда выдает опять же ошибку чтения бд (А ТОЧНЕЕ! Выдает ошибку : якобы в таблице нет записей!)
Вообще очень странно! Помогите разобраться. есть таблички "news_japan", "articles_japan", "blogs_users", "recipes_japan", "recipes_world"
с
articles-item.php?id=10&table=news_japan
articles-item.php?id=7&table=recipes_world
articles-item.php?id=7&table=blogs_users
все работает. в плане сам массив.
А почему, то с articles_japan и recipes_japan не работает. Например перехожу на страничку articles-item.php?id=7&table=recipes_japan пишет ошибку. Хотя табличка есть и записи в ней тоже.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.