@SteepNET

Вывести значения из $_POST и $_COOKIE?

Доброго времени суток!
Запутался с задачей вывода валют на сайте совсем, пытался по разному и через jquery в том числе...
Сайт на Битриксе. Есть селектор в шапке, в шаблоне. Посылаем POST на вывод и в cookies ,тут проблем нет, все запоминаем как положено.
$select = array('RUB'=>'','USD'=>'');
                            if(isset($_POST['select'])) {
                                setcookie("BX_CURRENCY",$_POST['select'], strtotime( '+30 days' ), SITE_DIR);
                                $select[$_POST['select']] = 'selected';
                            } elseif(isset($_COOKIE["BX_CURRENCY"])) {
                                $select[$_COOKIE["BX_CURRENCY"]] = 'selected';
                            }
                            ?>
                            <form method="post">
                                <select class="form-control form-control-sm d-sm-none d-md-block" name="select" onchange="this.form.submit()">
                                    <option value="RUB" <?=$select['RUB']?>>RUB</option>
                                    <option value="USD" <?=$select['USD']?>>USD</option>
                                </select>
                            </form>


Далее есть некая таблица где нужно вывести значения в зависимости от выбора в селекторе, или если их нет в $_COOKIE то показываем дефолтное значение, если в $_COOKIE есть запись то выводим из него.

if ($_POST['select']=="RUB") {
     echo $arItem["PRICES"]["Base"]["PRINT_VALUE"];
}elseif ($_POST['select']=="USD") {
     echo "$ ".round(CCurrencyRates::ConvertCurrency($val, "RUB", "USD"), 2);


И тут пришел тупик, POST срабатывает нормально, добавляю обработку $_COOKIE начинают выводиться повторные значения ,если ставлю дефолтное значение так
if ($_POST['select']=="") {
     echo $arItem["PRICES"]["Base"]["PRINT_VALUE"];
}

Оно срабатывает но при выборе в селекторе POST задваиваются значения так как для вывода $_COOKIE нужно обновление страницы...
Пробовал через switch\case ,тоже не вариант...
  • Вопрос задан
  • 219 просмотров
Пригласить эксперта
Ответы на вопрос 1
askunash
@askunash
Тренер Битрикс
Используйте методы ядра для работы с куки
https://dev.1c-bitrix.ru/api_d7/bitrix/main/web/co...5e4aeb90bcc95803145665.jpeg
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы