Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Почему не создаётся новый массив сессион
Форумы портала PHP.SU » » Вопросы новичков » Почему не создаётся новый массив сессион

Страниц (2): [1] 2 »
 

1. grafillo - 17 Мая, 2013 - 15:36:58 - перейти к сообщению
Есть такая задача добавлять данные в массив сессион при выборе, пишу код
PHP:
скопировать код в буфер обмена
  1. if (!empty ($_POST['cena'])){
  2. $_SESSION['c']++;
  3. $i=$_SESSION['c'];
  4. $_SESSION[$i] = array ($_POST['text'],$_POST['cena']);
  5. }
  6.  

по идее в сессион должен добавляться новый массив с новым номером, но все данные почему-то переписываются в одном массиве просто меняется название массива и данные,
в чём может быть проблема и как её решить?
2. LIME - 17 Мая, 2013 - 15:58:21 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. if (!empty ($_POST['cena'])){
  2.     $_SESSION[] = array ($_POST['text'],$_POST['cena']);
  3. }
3. grafillo - 17 Мая, 2013 - 16:04:42 - перейти к сообщению
не ну мне нужно чтобы пользователь мог добавлять много товаров, то есть нужно много массивов, это типа корзины на сайт х)
4. LIME - 17 Мая, 2013 - 16:11:26 - перейти к сообщению
хм...
PHP:
скопировать код в буфер обмена
  1. $a=array();
  2. for($i=50;$i<60;++$i){
  3.     $a[]='номер '.$i;
  4. }
какой фриланс....о чем ты говоришь
5. grafillo - 17 Мая, 2013 - 16:17:07 - перейти к сообщению
нужно чтобы пользователь нажал на товар нажал кнопку положить в корзину и создался доп массив с названием и ценой товара и чтобы при переходе по страницам сайта массив не удалялся, для этого я использую массив сессион, но почемуто он не сохдаёт доп массив а просто переписывает текущий(((
6. esterio - 17 Мая, 2013 - 16:33:40 - перейти к сообщению
вам же LIME написал как



хватит х) смайлов, я тоже могу
Радость Не понял Хорошо Хм Однако Закатив глазки Ниндзя А?! Нахмурился Ха-ха Огорчение Язычок Улыбка Растерялся Подмигивание , но от етого мое сообщения не станет лучше
7. grafillo - 17 Мая, 2013 - 16:43:14 - перейти к сообщению
он мне цикл какой-то написал ваще не пойму при чём тут цикл Огорчение
8. DelphinPRO - 17 Мая, 2013 - 17:10:21 - перейти к сообщению
grafillo да вы внимательнее смотрите что вам пишут
LIME пишет:
$_SESSION[] = array ($_POST['text'],$_POST['cena']);

(Добавление)
ну а вообще как-то так.
создаете в сессии массив (Если он еще не создан! проверка обязательна.)



при добавлении товара кидаете в этот массив еще один с параметрами товара

PHP:
скопировать код в буфер обмена
  1. $_SESSION['cart'][] = array ($_POST['text'],$_POST['cena']);


вот и все дела

на всякий случай, следующий шаг Улыбка
при выводе в корзину вы будете напротив каждого товара ставить кнопку "удалить". Эту кнопку нужно связать с индексом в массиве $_SESSION['cart'], тогда при нажатии кнопки можно будет сделать unset($_SESSION['cart'][$index]) и удалить товар из корзины.
9. grafillo - 17 Мая, 2013 - 17:25:11 - перейти к сообщению
DelphinPRO пишет:
grafillo (Если он еще не создан! проверка обязательна.)



Про какую проверку идёт речь? Не понял
Как реализовать технически добавление дополнительного массива при нажатии кнопки ?
10. esterio - 17 Мая, 2013 - 17:26:15 - перейти к сообщению
grafillo
Facepalm. Не в обиду. Но до фриланса ой как далеко
11. DelphinPRO - 17 Мая, 2013 - 17:32:27 - перейти к сообщению
grafillo пишет:
Как реализовать технически добавление дополнительного массива при нажатии кнопки ?
DelphinPRO пишет:
$_SESSION['cart'][] = array ($_POST['text'],$_POST['cena']);


Если эта простая строчка вводит в ступор, то очень советую почитать раздел уроков по массивам. Очень советую. Очень-очень советую. Почитайте основы и выносите нам мозг.
12. esterio - 17 Мая, 2013 - 17:46:12 - перейти к сообщению

DelphinPRO пишет:
Почитайте основы и выносите нам мозг.

Мб не выносите
13. DeepVarvar - 17 Мая, 2013 - 21:11:01 - перейти к сообщению

Мб не мозг?
14. DelphinPRO - 17 Мая, 2013 - 21:26:11 - перейти к сообщению

Правильный ответ: не нам
15. DeepVarvar - 17 Мая, 2013 - 21:30:43 - перейти к сообщению
Кажется я уже давал эту ссылку для топикстартера.
Ну хорошо, дам её еще раз.

 

Powered by ExBB FM 1.0 RC1