Вывод и сокрытие блока - php

12
S
На сайте с 13.11.2012
Offline
72
1646

Пытаюсь удалить блок если он пуст

<?if(!empty($sk["config"]["blokname"])):?>

<?php echo $config["blokname"] ?>

<?php endif;?>

не работает, просто пропускает и идет дальше, хотя blokname задан.

Помогите скрыть вывод

<?php echo $config["blokname"] ?>

если blokname не задан и отобразить его если он задан.

Спасибо!

Оптимизайка
На сайте с 11.03.2012
Offline
396
#1

Так что ли

<?php echo isset($config["blokname"]) ? $config["blokname"] : '' ?>

вообще разберитесь что у вас в переменных лежит и в каких

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
Gerga
На сайте с 02.08.2015
Offline
94
#2


<?php echo isset( $config["blokname"] ) && !empty( $config["blokname"] ) ? $config["blokname"] : '' ?>
:)
dma84
На сайте с 21.04.2009
Offline
168
#3
Gerga:

<?php echo isset( $config["blokname"] ) && !empty( $config["blokname"] ) ? $config["blokname"] : '' ?>
:)

В данном случае isset не нужен, empty и так выполняет проверку на существование переменной

PN
На сайте с 22.08.2012
Offline
103
#4
Smirnof:

<?if(!empty($sk["config"]["blokname"])):?>
<?php echo $config["blokname"] ?>
<?php endif;?>

У Вас вообще две разные переменные:

$sk["config"]["blokname"]

$config["blokname"]

Приведите все к одной.

Мой совет помог? Не скупись! Bitcoin 1Lseddet1o1B6odgXQHbGaWGwRkt1Db8Ef Ethereum 0x450f1a17461e25194B7F9226cDEe70173F39e1e1
TF-Studio
На сайте с 17.08.2010
Offline
334
#5

сделайте var_dump - может что-то всё же есть.

и да - переменные разные

Всё ещё лучший способ заработка для белых сайтов: GoGetLinks (https://www.gogetlinks.net/?inv=fahbn8).
S
На сайте с 13.11.2012
Offline
72
#6

Спасибо!

Помогло это $config["blokname"]

proksey-net спасибо.

S
На сайте с 13.11.2012
Offline
72
#7

Еще очень сложный вопрос по php.

Есть код выводящий случайные баннеры (в моем случае ссылки):

Код №1

<?php
$banners = array ();
$banners[1] = 'link1';
$banners[2] = 'link2';
$banners[3] = 'link3';
$banners[4] = 'link4';
$banners[5] = 'link5';
?>

вывожу так:

Код №2

<?php echo $banners[array_rand ($banners)] ?>

Как в код отвечающий за случайные баннеры (код №1)

вставить код <?php echo $config["link1"] ?> ... <?php echo $config["link5"] ?>

вместо того, что сейчас link1 ... link5?

или как заставить первый код получать данные из $config рандомно чтобы в дальнейшим вывести так

<?php
$banners = array ();
$banners[1] = 'http://ссылка';
echo $banners[array_rand ($banners)];
?>

Если не понятно, то вот что у меня не получается :(

<?php
$banners = array ();
$banners[1] = '<?php echo $config["link1"] ?>';
$banners[2] = '<?php echo $config["link2"] ?>';
$banners[3] = '<?php echo $config["link3"] ?>';
$banners[4] = '<?php echo $config["link4"] ?>';
$banners[5] = '<?php echo $config["link5"] ?>';
?>

т.е. два <?php в одном <?php

Спасибо

PN
На сайте с 22.08.2012
Offline
103
#8

Какой же это сложный вопрос?


<?php
$banners = array ();
$banners[1] = $config["link1"];
$banners[2] = $config["link2"];
$banners[3] = $config["link3"];
$banners[4] = $config["link4"];
$banners[5] = $config["link5"];
?>
S
На сайте с 13.11.2012
Offline
72
#9

proksey-net, для меня очень сложный :) Спасибо!

Можно ли в код

<?php
$banners = array ();
$banners[1] = $config["link1"];
$banners[2] = $config["link2"];
$banners[3] = $config["link3"];
$banners[4] = $config["link4"];
$banners[5] = $config["link5"];
?>

добавить функцию, которая будет отображать

$banners[1] = $config["link1"]; ... $banners[1] = $config["link5"];

только в том случае, если link1 ... link5 задан?

Т.е. если задан один link1 - вывести 1

задано 3 - вывести 3 (link1 link2 link3)...

Если да то в какую сторону смотреть?

Спасибо.

S
На сайте с 13.11.2012
Offline
72
#10

Попробовал так:

<?php
$banners = array ();
<?if(!empty($config["link1"])):?>
$banners[1] = $config["link1"];
<?php endif;?>
<?if(!empty($config["link2])):?>
$banners[2] = $config["link2"];
<?php endif;?>
<?if(!empty($config["link3"])):?>
$banners[3] = $config["link3"];
<?php endif;?>
<?if(!empty($config["link4"])):?>
$banners[4] = $config["link4"];
<?php endif;?>
<?if(!empty($config["link5"])):?>
$banners[5] = $config["link5"];
<?php endif;?>
?>

не получилось, опять столкнулся с двумя <?php в одном <?php

Пожалуйста, помогите решить эту проблему.

Нужно отображать только в том случае, если link1, link2, link3, link4 и/или link5 задан?

Т.е. если задан один link1 - вывести 1

<?php
$banners = array ();
$banners[1] = $config["link1"];
?>

задано 3 - вывести 3 (link1 link2 link3)...

<?php
$banners = array ();
$banners[1] = $config["link1"];
$banners[2] = $config["link2"];
$banners[3] = $config["link3"];
?>

Или может посоветуете, как в моем случае можно вывести сразу столько ссылок, сколько задано без использования

<?php
$banners = array ();
$banners[1] = $config["link1"];
$banners[2] = $config["link2"];
$banners[3] = $config["link3"];
?>

Получается, что сначала будет идти проверка задан ли link1 и т.д, потом скрипт выводит саму ссылку, получается двойная нагрузка на скрипт, может я что-то не понимаю...

Спасибо

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий