Как обозначить переменную, если $_GET пустой?

Пэлт

И опять я сюда вернулся спустя год..
на filter не обращаем внимания, она просто инъекции на нет сводит, ничего особенного..

PHP:
  1. if(isset($_GET[‘ohShit’])){ // как видите я тут обязательными не беру параметры xxx и zzz
  2.         $var1= filter($_GET[‘xxx’]);
  3.         $var2= filter($_GET[‘zzz’]);
  4. }
  5. // в чём дёло? а в том, что эта сука ноет, так как не определена переменная var1 и var2  (Undefined index)

Как обозначить переменную var1 и var2 по умолчанию , если они не переданы через параметры?

 

Drunkenmunky

Установить в значение по умолчанию.
Или использовать «else»
Тернарный оператор позволит то же самое сделать компактней.

 

Пэлт

да не работает это так.
вот банальный пример

PHP:
  1.         if(!isset($_GET[‘xxx’])){ // если нет значения, даём по умолчанию
  2.           $var1 = ‘xxx not given’;
  3.         }else{ // если есть значение то просто из параметра ставим
  4.           $var1 = filter($_GET[‘xxx’]);
  5.         }

все равно ошибка

 

Drunkenmunky

Например?

 

Пэлт

вот сверху кинул пример. все равно undefined index выдаёт

 

MouseZver

такой короткой ошибки не существует

 

Пэлт

не подскажешь, как можно код сделать ещё короче ?

PHP:
  1.         if(!isset($_GET[‘login’])){
  2.           $login_new = ‘login not get’;
  3.         }else{
  4.           $login_new = filter($_GET[‘login’]);
  5.         }
 

Drunkenmunky

Так вы добавьте перед приведенным что-то вроде

Код (Text):
  1. $var1 = ‘default value’;
  2. $var2 = ‘more’;
 

ADSoft

Насчет короче

PHP:
  1. $login_new = (isset($_GET[‘login’])) ? filter($_GET[‘login’]) : »

Насчет ошибок, 99.9% — невнимательность, сделали то что вам предложили для $_GET[‘xxx’] , но не сделали для $_GET[‘yyy’] — на него и ругается наверняка

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *