|
|
|
| Здравствуйте, подскажите, пожалуйста, как лучше?
Способ 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';
| ?>
Безопасен ли первый способ?
Заранее спасибо за ответ! | |
|
|
|
|
|
|
|
для: antf
(05.06.2005 в 21:57)
| | >Безопасен ли первый способ?
Да, но от греха лучше если регистр параметра page и переменной $Page будут совпадать...
PS Я наверное больше склонился бы к первому варианту, так как вычислений в нём производится меньше и он компактнее. | |
|
|
|
|
|
|
|
для: 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';
?>
|
| |
|
|
|
|
|
|
|
для: Sfinks
(06.06.2005 в 05:05)
| | >> Да, но от греха лучше если регистр параметра page и переменной $Page будут совпадать...
С регистром вообще интересно получилось: когда я начинал работать над программой, использовал такой стиль: $MyVariable. В то время как половина проекта была уже готова, я вдруг решил, что такой стиль $my_variable мне более подходит. Теперь у меня одна половина модулей поддерживает стиль Pascal, другая - стиль Java :) | |
|
|
|