2010-07-21 3 views
1

Я написал следующий фрагмент кода2 переменные сеанса, проверка iset!

if((!isset($_SESSION['home'])) || (!isset($_SESSION['away']))) 

Я полагаю, это следует проверить, если каждый из этих переменных существует. Я только показываю whats в инструкции if, если какая-либо из этих переменных не существует.

Но по какой-то причине он все еще показывает материал внутри фигурных скобок, хотя существует переменная 100%.

Является ли код неправильным? Благодаря

ответ

7

Тогда вам нужно «И» (& &) заявление, не «ИЛИ» (||), если я правильно понимаю ...

if((!isset($_SESSION['home'])) && (!isset($_SESSION['away']))) 
+0

Его один или другой, только один будет присутствовать. Я перехожу к процессу, в котором находится дом, а затем неубранный, но в то же время присутствует, а затем, когда он не работает, я хочу, чтобы он снова появился. – sark9012

+0

«Но по какой-то причине он все еще показывает материал внутри брекетов, хотя существует переменная 100%». Если это то, что вам нужно, вам нужно проверить с помощью '&&', чтобы убедиться, что как дома, так и вдали не установлены. –

+0

На самом деле, если это действительно то, что хочет OP, то вы можете даже сократить это: 'if (! Isset ($ _ SESSION ['home'], $ _SESSION ['away']))'. Это какой-то хороший синтаксический сахар, который предлагает isset,) – NikiC

1

Я думаю, что вы на самом деле имел в виду, :

if(!((!isset($_SESSION['home'])) || (!isset($_SESSION['away'])))){ 
    //code if at least one of those variables exists 
}else { 
    //the other thing 
}