2016-09-28 5 views
2

Update 2Если сессия имеет значение эхо это еще эхо «все»

Я просто оставлю это здесь для будущих ссылок. Но это решение, которое я создал со всей помощью, которую я получил здесь. Благодаря!

<script> 
    function Refresh() { 
     location.reload(); 
    } 
</script> 

<?php $number = $_SESSION["page_id"]; ?> 
<?php 
    if (isset($_SESSION['page_id']) && !empty($_SESSION['page_id'])) { 
     echo do_shortcode('[RICH_REVIEWS_SHOW category="page" num="all" id="'. $number .'"]'); 
     session_destroy(); 
     echo ('<button class="btn btn-0001" onclick="Refresh()">Show All</button>'); 
    } 
     else{ echo do_shortcode('[RICH_REVIEWS_SHOW num="all"]'); } 
    ; 
?> 

Update Так что я пытаюсь просто простое эхо, чтобы увидеть, если сеанс устанавливается с помощью этого кода:

<?php if(isset($_SESSION['page_id']) && !empty($_SESSION['page_id'])) { 
    echo 'Set and not empty, and no undefined index error!'); 
};?> 

Но делать это нарушает мою страницу, Я просто получаю пустую страницу? Как проверить, установлен ли сеанс? Когда я выполняю эхо сеанса, используя этот код:

<?php echo $_SESSION["page_id"]; ?> 

Он выводит правильное значение сеанса ?? Что я делаю не так?


У меня есть сеансы, сохраненные с помощью PHP, и я использую это так, что идентификатор страницы из Wordpress является эхом-эд в шорткоде do_shortcode('');

Это то, что мой код выглядит следующим образом:

<?php $number = $_SESSION["page_id"]; ?> 

    <?php echo do_shortcode('[RICH_REVIEWS_SHOW category="page" num="all" id="'. $number .'"]'); ?> 
<?php echo do_shortcode_all('[RICH_REVIEWS_SHOW category="page" num="all" id="all"]'); ?> 

    <?php echo $shortcode ;?> 
    <?php echo $shortcode_all ;?> 

Теперь, что бы я хотел сделать, это если страница_ид не сохраняется в сеансе, она должна отвечать на вопросы all. Итак, как мне это сделать?

Я нашел этот код, и я думаю, что его что-то, что нужно ... Но я не великий программист/верстальщик ...

<?php 
$var = 0; 

// Evaluates to true because $var is empty 
if (empty($var)) { 
    echo '$var is either 0, empty, or not set at all'; 
} 

// Evaluates as true because $var is set 
if (isset($var)) { 
    echo '$var is set even though it is empty'; 
} 
?> 

Так что, если я где поставить эти два вместе Я бы получил что-то вроде этого

<?php 
    $number = $_SESSION["page_id"]; 

    // Evaluates to true because $var is empty 
    if (empty($number)) { 
     echo $shortcode_all ; 
    } 

    // Evaluates as true because $var is set 
    if (isset($number)) { 
     echo $shortcode ; 
    } 
    ?> 

Я в правильном направлении?

+0

Вы действительно начали сеанс внутри всех страниц, используя сеансы? –

+0

Да, сеанс запущен правильно. Используется код кулака в открытии сообщения. Он отображает сохраненную переменную сеанса в правильный короткий код. Но когда хранится 'no session', он ничего не показывает ... поэтому я хочу, чтобы он вставлял' all' вместо переменной IF, если сеанс не сохраняется. – Steggie

+0

использовать 'else {...}' statement. –

ответ

1

Решение

<?php 
if (isset($_SESSION['page_id']) && !empty($_SESSION['page_id'])) { 
    echo('Set and not empty, and no undefined index error!'); 
}; 
?> 

Что я должен чувствовать себя с отсутствующей (?

+0

Ничего себе, я пропустил этот недостаток '('. Спасибо. Теперь давайте посмотрим, могу ли я заставить этот код работать правильно. – Steggie

0

Если вы используете wordpress, тогда вы должны использовать session_start(); в файле wp-config.php, пожалуйста, сначала положите в wp-config.php сверху, а затем проверьте.

0
<?php 
$number = $_SESSION["page_id"]; 

// Evaluates to true because $var is empty 
if (empty($number) || $number=='') { 
    echo $shortcode_all ; 
}else{ 
    echo $shortcode ; 
} 
?> 
+0

подумайте над тем, чтобы добавить объяснение к вашему коду. – ADyson

+0

условие объяснения, если сеанс пуст или существует сессия, но значение пустое в оба условия все будут эхом else (иначе) ваш код будет эхом. –