2012-04-06 3 views
0

Здравствуйте,вопрос Session в PHP

if ($_SESSION["selCurrency"] = "USD") { $_SESSION["currencyidx"] = 1; } 
    if ($_SESSION["selCurrency"] = "CAD") { $_SESSION["currencyidx"] = 2; } 
    if ($_SESSION["selCurrency"] = "EUR") { $_SESSION["currencyidx"] = 4; } 

Независимо от того, что я делаю, мой

$ _SESSION [ "currencyidx"] ВСЕГДА последний в строке выше. Я чашу с ним в течение часа, я должен упустить что-то совершенно абсурдное, пожалуйста, прочистите глаза кому-нибудь?

Спасибо,

ответ

2

Вы используете присваивания (=) вместо сравнения (==). Исправьте это, и он сработает.

+0

Иисуса это когда вы знаете, что пора спать лол. Спасибо! – Sherif

+0

Вы можете избежать проблемы и повысить производительность, если вместо этого используете 'switch'. Вы даже можете определить массив, который сопоставляет коды валют с их идентификаторами, и выбрать правильный. В PHP 5.4: '$ _SESSION ['currencyidx'] = ['USD' => 1, 'CAD' => 2, 'EUR' => 4] [$ _ SESSION ['selCurrency']];' –

0

Ваш если условные использует один =, когда он должен быть ==. Вы устанавливаете значение $ _SESSION ["selCurrency"], а не проверяете его. Должен быть.

if ($_SESSION["selCurrency"] == "USD") { $_SESSION["currencyidx"] = 1; } 
if ($_SESSION["selCurrency"] == "CAD") { $_SESSION["currencyidx"] = 2; } 
if ($_SESSION["selCurrency"] == "EUR") { $_SESSION["currencyidx"] = 4; } 
0
if ($_SESSION["selCurrency"] == "USD") { $_SESSION["currencyidx"] = 1; } 
    if ($_SESSION["selCurrency"] == "CAD") { $_SESSION["currencyidx"] = 2; } 
    if ($_SESSION["selCurrency"] == "EUR") { $_SESSION["currencyidx"] = 4; } 

Обратите внимание на ==, в отличие от вашего =

0

должно быть

if ($_SESSION["selCurrency"] == "USD") { $_SESSION["currencyidx"] = 1; } 
    if ($_SESSION["selCurrency"] == "CAD") { $_SESSION["currencyidx"] = 2; } 
    if ($_SESSION["selCurrency"] == "EUR") { $_SESSION["currencyidx"] = 4; } 

с = вы присваиваете, не сравнивая. с ==, вы сравниваете.

0

использование == для сравнения

if ($_SESSION["selCurrency"] == "USD") { $_SESSION["currencyidx"] = 1; } 
    if ($_SESSION["selCurrency"] == "CAD") { $_SESSION["currencyidx"] = 2; } 
    if ($_SESSION["selCurrency"] == "EUR") { $_SESSION["currencyidx"] = 4; }