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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Когда лучше проверить переменную, переданную методом get или post?
 
 автор: antf   (05.06.2005 в 21:57)   письмо автору
 
 

Здравствуйте, подскажите, пожалуйста, как лучше?
Способ 1

<?
if(!empty($_POST['page']))
  
$Page $_POST['page'];
elseif(!empty(
$_GET['page']))
  
$Page $_GET['page'];
else
  
$Page 'about';
$Page preg_replace("/[^a-z0-9_]+/"""$Page);
?>

Способ 2
<?
if(!empty($_POST['page']))
{
  
$_POST['page'] = preg_replace("/[^a-z0-9_]+/"""$_POST['page']);
  
$Page $_POST['page'];
}
elseif(!empty(
$_GET['page']))
{
  
$_GET['page'] = preg_replace("/[^a-z0-9_]+/"""$_GET['page']);
  
$Page $_GET['page'];
}
else
  
$Page 'about';
?>

Безопасен ли первый способ?

Заранее спасибо за ответ!

   
 
 автор: cheops   (05.06.2005 в 22:48)   письмо автору
 
   для: antf   (05.06.2005 в 21:57)
 

>Безопасен ли первый способ?
Да, но от греха лучше если регистр параметра page и переменной $Page будут совпадать...

PS Я наверное больше склонился бы к первому варианту, так как вычислений в нём производится меньше и он компактнее.

   
 
 автор: Sfinks   (06.06.2005 в 05:05)   письмо автору
 
   для: cheops   (05.06.2005 в 22:48)
 

Не сказал бы я, что в первом варианте меньше вычислений....
Вычислений, т.е. шагов программы, в нем больше, т.к. во втором варианте не выполняется preg_replace() в случае, если не определен 'page'. Но он компактнее =))
Поэтому я написал бы третий вариант:
<?
  
if(!empty($_POST['page']))
    
$page preg_replace("/[^a-z0-9_]+/"""$_POST['page']);
  elseif(!empty(
$_GET['page']))
    
$page preg_replace("/[^a-z0-9_]+/"""$_GET['page']);
  else
    
$page 'about';
?>

   
 
 автор: antf   (06.06.2005 в 09:28)   письмо автору
 
   для: Sfinks   (06.06.2005 в 05:05)
 

>> Да, но от греха лучше если регистр параметра page и переменной $Page будут совпадать...

С регистром вообще интересно получилось: когда я начинал работать над программой, использовал такой стиль: $MyVariable. В то время как половина проекта была уже готова, я вдруг решил, что такой стиль $my_variable мне более подходит. Теперь у меня одна половина модулей поддерживает стиль Pascal, другая - стиль Java :)

   
Rambler's Top100
вверх

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