Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Динамические ссылки

Сообщения:  [1-10]   [11-13] 

 
 автор: Trianon   (16.02.2006 в 14:22)   письмо автору
 
   для: Чайка   (16.02.2006 в 13:29)
 

>Понятно! Подскажите, а в данной записи $id_tab2 = 0 +
>$id_tab2; речь идет о принадлежности переменной к типу
>данных?
да, можно сказать и так.

   
 
 автор: Чайка   (16.02.2006 в 13:29)   письмо автору
 
   для: Loki   (16.02.2006 в 13:13)
 

Понятно! Подскажите, а в данной записи $id_tab2 = 0 + $id_tab2; речь идет о принадлежности переменной к типу данных?

   
 
 автор: Loki   (16.02.2006 в 13:13)   письмо автору
 
   для: Чайка   (16.02.2006 в 13:09)
 

так в этом случае запрос к БД все равно вызовет ошибку... придет-то текст, там где ожидается число.

   
 
 автор: Чайка   (16.02.2006 в 13:09)   письмо автору
 
   для: Trianon   (16.02.2006 в 12:49)
 

Спасибо! А может так?

“данные=htmlspecialchars(новые данные)” 

   
 
 автор: Trianon   (16.02.2006 в 12:49)   письмо автору
 
   для: Чайка   (16.02.2006 в 12:29)
 

в реальном приложении нужно много о чем думать.... Например, предотвращать SQL-инъекции, то есть попытки под видом номера статьи дописать в хвост SQL-оператора продолжение запроса, которое выведет на страницу закрытую информацию, изменит данные в таблице или сотворит еще какую нибудь пакость.
В Вашем случае, самый простой способ - написать что-то вроде

$id_tab2 = 0 + $id_tab2;
$sql="SELECT * FROM  tab2 WHERE  id_tab2= $id_tab2"; 

Такая конструкция, как минимум, уберет нечисловые данные из значения в заголовке запроса.

   
 
 автор: Loki   (16.02.2006 в 12:47)   письмо автору
 
   для: Чайка   (16.02.2006 в 12:29)
 

ничего сверхъестественного: просто аккуратно проверяются все данные входящие от пользователя (POST, GET, COOKIE) на соответсвие тому, что от них ожидают.

http://www.softtime.ru/info/articlephp.php?id_article=35
http://www.softtime.ru/info/articlephp.php?id_article=36

   
 
 автор: Чайка   (16.02.2006 в 12:33)   письмо автору
 
   для: essenia   (15.02.2006 в 16:18)
 

Спасибо!

   
 
 автор: Чайка   (16.02.2006 в 12:29)   письмо автору
 
   для: Loki   (15.02.2006 в 16:59)
 

Спасибо! Все просто и понятно.
PS: А как защитить код? Как делается в реальном приложении?
С уважением Чайка.

   
 
 автор: Loki   (15.02.2006 в 16:59)   письмо автору
 
   для: Чайка   (15.02.2006 в 16:45)
 

Я бы засунул все в одну таблицу...
Но раз вы хотите...

index.php?id_tab2=номер статьи


а в файле index.php

$sql="SELECT * FROM  tab2 WHERE  id_tab2= $id_tab2";


Код не защищен, так что в реальном приложении так лучше не делать.

   
 
 автор: Чайка   (15.02.2006 в 16:45)   письмо автору
 
   для: cheops   (15.02.2006 в 14:45)
 

Есть две таблицы tab1 и tab2. Созданы в MySQL. Первичные ключи id_tab1 и id_tab2 соответственно. Первая таблица оглавление, вторая статьи. Оглавление в виде ссылок выводиться в цикле в index.php. Как сослаться на index_2.php чтобы выводилась соответствующая статья по этой ссылке в файле index_2.php?

   

Сообщения:  [1-10]   [11-13] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования