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

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

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
grafillo
Отправлено: 17 Мая, 2013 - 15:36:58
Post Id


Посетитель


Покинул форум
Сообщений всего: 280
Дата рег-ции: Апр. 2013  


Помог: 0 раз(а)




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

по идее в сессион должен добавляться новый массив с новым номером, но все данные почему-то переписываются в одном массиве просто меняется название массива и данные,
в чём может быть проблема и как её решить?
 
 Top
LIME
Отправлено: 17 Мая, 2013 - 15:58:21
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




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

(Отредактировано автором: 17 Мая, 2013 - 15:58:43)

 
 Top
grafillo
Отправлено: 17 Мая, 2013 - 16:04:42
Post Id


Посетитель


Покинул форум
Сообщений всего: 280
Дата рег-ции: Апр. 2013  


Помог: 0 раз(а)




не ну мне нужно чтобы пользователь мог добавлять много товаров, то есть нужно много массивов, это типа корзины на сайт х)
 
 Top
LIME
Отправлено: 17 Мая, 2013 - 16:11:26
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




хм...
PHP:
скопировать код в буфер обмена
  1. $a=array();
  2. for($i=50;$i<60;++$i){
  3.     $a[]='номер '.$i;
  4. }
какой фриланс....о чем ты говоришь
 
 Top
grafillo
Отправлено: 17 Мая, 2013 - 16:17:07
Post Id


Посетитель


Покинул форум
Сообщений всего: 280
Дата рег-ции: Апр. 2013  


Помог: 0 раз(а)




нужно чтобы пользователь нажал на товар нажал кнопку положить в корзину и создался доп массив с названием и ценой товара и чтобы при переходе по страницам сайта массив не удалялся, для этого я использую массив сессион, но почемуто он не сохдаёт доп массив а просто переписывает текущий(((
 
 Top
esterio
Отправлено: 17 Мая, 2013 - 16:33:40
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




вам же LIME написал как



хватит х) смайлов, я тоже могу
Радость Не понял Хорошо Хм Однако Закатив глазки Ниндзя А?! Нахмурился Ха-ха Огорчение Язычок Улыбка Растерялся Подмигивание , но от етого мое сообщения не станет лучше
 
 Top
grafillo
Отправлено: 17 Мая, 2013 - 16:43:14
Post Id


Посетитель


Покинул форум
Сообщений всего: 280
Дата рег-ции: Апр. 2013  


Помог: 0 раз(а)




он мне цикл какой-то написал ваще не пойму при чём тут цикл Огорчение
 
 Top
DelphinPRO
Отправлено: 17 Мая, 2013 - 17:10:21
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




grafillo да вы внимательнее смотрите что вам пишут
LIME пишет:
$_SESSION[] = array ($_POST['text'],$_POST['cena']);

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



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

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


вот и все дела

на всякий случай, следующий шаг Улыбка
при выводе в корзину вы будете напротив каждого товара ставить кнопку "удалить". Эту кнопку нужно связать с индексом в массиве $_SESSION['cart'], тогда при нажатии кнопки можно будет сделать unset($_SESSION['cart'][$index]) и удалить товар из корзины.

(Отредактировано автором: 17 Мая, 2013 - 17:15:21)



-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
grafillo
Отправлено: 17 Мая, 2013 - 17:25:11
Post Id


Посетитель


Покинул форум
Сообщений всего: 280
Дата рег-ции: Апр. 2013  


Помог: 0 раз(а)




DelphinPRO пишет:
grafillo (Если он еще не создан! проверка обязательна.)



Про какую проверку идёт речь? Не понял
Как реализовать технически добавление дополнительного массива при нажатии кнопки ?

(Отредактировано автором: 17 Мая, 2013 - 17:25:50)

 
 Top
esterio
Отправлено: 17 Мая, 2013 - 17:26:15
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




grafillo
Facepalm. Не в обиду. Но до фриланса ой как далеко
 
 Top
DelphinPRO
Отправлено: 17 Мая, 2013 - 17:32:27
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




grafillo пишет:
Как реализовать технически добавление дополнительного массива при нажатии кнопки ?
DelphinPRO пишет:
$_SESSION['cart'][] = array ($_POST['text'],$_POST['cena']);


Если эта простая строчка вводит в ступор, то очень советую почитать раздел уроков по массивам. Очень советую. Очень-очень советую. Почитайте основы и выносите нам мозг.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
esterio
Отправлено: 17 Мая, 2013 - 17:46:12
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)





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

Мб не выносите
 
 Top
DeepVarvar Супермодератор
Отправлено: 17 Мая, 2013 - 21:11:01
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)





Мб не мозг?
 
 Top
DelphinPRO
Отправлено: 17 Мая, 2013 - 21:26:11
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)





Правильный ответ: не нам


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
DeepVarvar Супермодератор
Отправлено: 17 Мая, 2013 - 21:30:43
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Кажется я уже давал эту ссылку для топикстартера.
Ну хорошо, дам её еще раз.
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB