Ошибка парадокса PHP POST - PullRequest
       2

Ошибка парадокса PHP POST

1 голос
/ 18 ноября 2011

Я использую WordPress для проекта, и я заметил необычный парадокс состояния.

<li class="<?php echo (isset($_REQUEST['search']) && $_REQUEST['search']!='opportunities')? 'active':''; ?>"><a href="#tabs-1" >People</a></li>
<li class="<?php echo (isset($_REQUEST['search']) && $_REQUEST['search']=='opportunities')? 'active':''; ?>"><a href="#tabs-2">Opportunities</a></li>

поэтому, когда я отправляю форму, я получаю следующее.

$_POST['search'] =>'opportunities'

это нелогично для меня, чтобы понять это, просто интересно, если кто-то сталкивался с этим, и может помочь.

ОБНОВЛЕНИЕ: извините, мой плохой ...

это то, что я получаю обратно

<li class="active"><a href="#tabs-1" >People</a></li>
<li class="active"><a href="#tabs-2">Opportunities</a></li>

Это парадокс, как они могут иметь активные классы ??

Я использовал $_POST также вместо $_REQUEST простодля записи.

Обновление 2

После еще нескольких испытаний и мгновений ударов головой ...

этот парадокс возникает только тогда, когда $_POST['search']='opportunities'

Ответы [ 2 ]

2 голосов
/ 18 ноября 2011

В основном говорится, что если поиск не «возможности», люди активны. Если поиск - «возможности», возможности активны.

По сути, это говорит о том, что люди должны быть вкладкой по умолчанию, и если какие-либо другие установлены, сделайте их активными. У вас есть только одна вкладка, так что это сбивает с толку.

Вот как это могло бы выглядеть, если бы у вас было больше вкладок в псевдокоде.

(!in_array($_POST['search'], array('a', 'b', 'c')) ? 'active' : ''
$_POST['search'] == 'a' ? 'active' : ''
$_POST['search'] == 'b' ? 'active' : ''
$_POST['search'] == 'c' ? 'active' : ''

Это делается с помощью Ternary If, чтобы назначить класс CSS.

$name = (condition) ? (if true) : (if false);

0 голосов
/ 18 ноября 2011

Это просто глупость, и мой браузер слишком быстр, как мне кажется,

Проблема была в сценарии jquery, который автоматически делает активными первую вкладку, и поэтому они оба активны ... и это не было сделано мной, что объясняет все это ...

$('.tabs li').eq(0).addClass('active');

спасибо, ребята, иногда такие простые вещи, как это, заставляют вас кричать :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...