[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Скрыть слайдер
Серега187
Всем привет! Ребята есть слайдер в шапке сайта, он должен отображаться только на главной странице, а на остальных скрываться. Вот путь главной: site.ru/?view=home Как правильно это сделать?
<?php if($_GET['...']){ ?>

<!-- Слайдер -->

<?php } ?>
sergeiss
if( !empty( $_GET['view'] ) and $_GET['view'] == 'home' ) {
...
}

Например, вот так.

А можно и так:

// где-то в начале скрипта
$view = !empty( $_GET['view'] ) ? $_GET['view'] : '';
...

// в нужном месте
if( $view == 'home' ) {
...
}


Второй вариант удобнее, если view может принимать разные значения.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Серега187
sergeiss спасибо, но вот как-то упустил: нужно чтобы также слайдер показывался и при строке sait.ru
AllesKlar
sergeiss
Наверное вот так, а то нотис вылезет ;)
if( !empty( $_GET['view'] ) && $_GET['view'] == 'home' ) {
...
}
Серега187
Что означет sait.ru ? Означает, что массив $_GET пуст.
Просто добавь воды условие.

_____________
[продано копирайтерам]
sergeiss
Цитата (AllesKlar @ 19.10.2014 - 16:20)
Наверное вот так, а то нотис вылезет

С чего бы ему вылезать, нотису-то? Это ж ПХП, а не JS. Тут можно использовать как "and", так и "&&".

http://php.net/manual/ru/language.operators.logical.php

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
AllesKlar
sergeiss
and Проверяет оба операнда, потом вычисляет результат.
&& проверяет первый операнд, если он false , то сразу возвращает в качестве результата false

Т.е. в случае с and при попытке проверки второго операнда, если его не будет существовать, вывалится нотис.

Маленький тест накатай, увидишь.
Тут важен приоритет операторов
and и =
|| и =

http://php.net/manual/ru/language.operators.precedence.php

_____________
[продано копирайтерам]
sergeiss
Цитата (AllesKlar @ 19.10.2014 - 20:41)
Т.е. в случае с and при попытке проверки второго операнда, если его не будет существовать, вывалится нотис.

Ты не поверишь... Но у меня никакого нотиса не вываливается. Хотя я включаю показ всех ошибок и нотисов.

Цитата (AllesKlar @ 19.10.2014 - 20:41)
and Проверяет оба операнда, потом вычисляет результат.
&& проверяет первый операнд, если он false , то сразу возвращает в качестве результата false

Если прочитать тут http://php.net/manual/ru/language.operators.logical.php вот такой текст
// --------------------
// foo() никогда не буде вызвана, так как эти операторы являются шунтирующими (short-circuit)


$a = (false && foo());
$b = (true || foo());
$c = (false and foo());
$d = (true or foo());

то видим, что он прямо противоречит твоим словам.

Единственная разница между "and" и "&&" только в приоритетности этих операторов, если они будут вместе в одном выражении.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
AllesKlar
sergeiss
А, точно, это фигня справедлива для побитовых & и |

_____________
[продано копирайтерам]
Серега187
Цитата (AllesKlar @ 19.10.2014 - 16:20)
sergeiss
Что означет sait.ru ? Означает, что массив $_GET пуст.
Просто добавь воды условие.

Добавил воды, работает, ошибок не выдает.
<?php if( (!empty( $_GET['view'] ) && $_GET['view'] == 'home') || empty($_GET) ) { ?>
...
<?php } ?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.