За последние 24 часа нас посетил 18591 программист и 1599 роботов. Сейчас ищут 962 программиста ...

Помогите переделать код

Тема в разделе "Прочие вопросы по PHP", создана пользователем pristup, 19 окт 2013.

  1. pristup

    pristup Новичок

    С нами с:
    7 сен 2013
    Сообщения:
    35
    Симпатии:
    0
    Есть корзина интернет магазина, как добавить чтобы в ней еще сохранялись color и size из пост данных?

    Тоесть чтобы данные в сессию сохранялись в таком виде:
    id count color size

    Как правильно их занести и вывести?

    Сам код:

    Код (Text):
    1.  
     
  2. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    $_SESSION['basket']['color'] = $_POST['color'];
    $_SESSION['basket']['size'] = $_POST['size'];

    Это надо?
     
  3. pristup

    pristup Новичок

    С нами с:
    7 сен 2013
    Сообщения:
    35
    Симпатии:
    0
    нужно в сессию добавить
    $size = $mysqli->real_escape_string(htmlspecialchars(trim($_POST['size'])));
    $color = $mysqli->real_escape_string(htmlspecialchars(trim($_POST['color'])));

    чтобы данные в сессию сохранялись в таком виде:
    id count color size
     
  4. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Это еще что за ужас? Пропустим...

    И? из моего ответа выше не понятно?
    Тебе нужно что бы 1 одной переменной через пробел? Что за глупость?

    $_SESSION['basket']['it_is_bad'] = "$size $color"
     
  5. pristup

    pristup Новичок

    С нами с:
    7 сен 2013
    Сообщения:
    35
    Симпатии:
    0
    нет.. Когда человек нажимает кнопку добавить товар в корзину, чтобы в сессию заносились такие данные:
    id товара - колличество - цвет - размер
     
  6. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Я тебе уже дал ответ((( ну прочитай ты уже(((

    Не нравятся эти названия дай свои.Если в корзине несколько товаров то $_SESSION['basket']['product_id']['size']

    В чем вопрос?
     
  7. pristup

    pristup Новичок

    С нами с:
    7 сен 2013
    Сообщения:
    35
    Симпатии:
    0
    хм, странно, выдает ошибку arning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in на строку while($res = mysqli_fetch_assoc($result)) {
     
  8. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Вообще то советовал бы писать $_SESSION['basket']['product_id']['size'], но сам смотри как надо...

    Ошибка в sql.
     
  9. pristup

    pristup Новичок

    С нами с:
    7 сен 2013
    Сообщения:
    35
    Симпатии:
    0
    Тоесть лучше давать разные имена сессии?
    но этой ошибки небыло пока я не добавил $_SESSION['cart']['color'] = $_POST['color'];
    $_SESSION['cart']['size'] = $_POST['size'];

    вообщем что-то нифига не выходит (
     
  10. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Ты о чем?

    Ну выберет человек несколько товаров как ты определишь что к чему относится?

    Ну че взруснули?:) Теперь берем sql и смотрим что там не так, или mysqli_error();
     
  11. pristup

    pristup Новичок

    С нами с:
    7 сен 2013
    Сообщения:
    35
    Симпатии:
    0
  12. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    А на глаз у тебя нет ковычек 'color'
     
  13. pristup

    pristup Новичок

    С нами с:
    7 сен 2013
    Сообщения:
    35
    Симпатии:
    0
    ну я уже увидел что там появился color , но как эт исправить?
     
  14. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Ты же программист не огорчай меня, подумай:)

    Ну и перепроверь mysqli_error()
     
  15. pristup

    pristup Новичок

    С нами с:
    7 сен 2013
    Сообщения:
    35
    Симпатии:
    0
    чесно уже не знаю что и делать, весь день промучался с этим..
    видать работа с сессиями не мое ))
     
  16. Slavka

    Slavka Активный пользователь

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    сессия это та же переменная .. просто не обнуляется при выполнении скрипта
     
  17. pristup

    pristup Новичок

    С нами с:
    7 сен 2013
    Сообщения:
    35
    Симпатии:
    0
    так а как мой косяк исправить?
     
  18. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    И подумать...
     
  19. pristup

    pristup Новичок

    С нами с:
    7 сен 2013
    Сообщения:
    35
    Симпатии:
    0
    Так и не получилось ничего (
     
  20. pristup

    pristup Новичок

    С нами с:
    7 сен 2013
    Сообщения:
    35
    Симпатии:
    0
    в чем мой косяк?
     
  21. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.251
    Адрес:
    там-сям
    ты сейчас про какой косяк?
     
  22. pristup

    pristup Новичок

    С нами с:
    7 сен 2013
    Сообщения:
    35
    Симпатии:
    0
    у меня ошибки вылезли на строки

    $_SESSION['cart'][''.$id.'']['color'] = $_POST['color'];
    $_SESSION['cart'][''.$id.'']['size'] = $_POST['size'];

    Warning: Cannot use a scalar value as an array in
    Warning: Cannot use a scalar value as an array in
     
  23. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.251
    Адрес:
    там-сям
    1. ''.$id.'' ??? почему не просто $id

    2. здесь не видно причинное место, но такая ошибка может родиться если сделать так:
    Код (Text):
    1. $_SESSION['cart'] = 1; // 1 это скалярное значение
    и затем попытаться обратиться как к массиву
    Код (Text):
    1. $_SESSION['cart'][$id]['color'] = 'пофиг какое значение'; // 1 не сможет работать как массив
     
  24. pristup

    pristup Новичок

    С нами с:
    7 сен 2013
    Сообщения:
    35
    Симпатии:
    0
    Вот весь мой код, я уже не знаю что в нем не так..

    Код (Text):
    1.  
     
  25. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.251
    Адрес:
    там-сям
    вот оно, о чем я тебе говорил:
    $_SESSION['cart'][$id]=$count; // сейчас это скаляр
    $_SESSION['cart'][''.$id.'']['color'] = $_POST['color']; // сейчас ты к скаляру обращаешся как к массиву.

    ты не думаешь, ты ждешь подсказок и бездумно копируешь. мой тебе совет: переключись на что-нибудь не связанное с логикой. рисуй или боксом занимайся.