Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: как внести в корзину и записать в массиве сессии количество товара?
 
 автор: Vavan   (27.11.2012 в 12:51)   письмо автору
3.3 Кб
 
 

Добрый день, уважаемые.
Как в массиве сессии корзины внести данные по количеству товара? Подскажите, что сделал не так?

<?php
$del
=$_POST[del];
$delete=$_POST[delete];
$del_all=$_POST[del_all];
$add=$_POST[add];

$name trim($_POST[name]);
$l_name trim($_POST[l_name]);
$city=trim($_POST[city]);
$mail trim($_POST[mail]);
$phone=trim($_POST[phone]);
$confirm=$_POST[confirm];
if (isset(
$confirm)){ // если нажата подтвердить то запишим в базу данных заказ который создали

$ids array_keys($_SESSION[CART]);// Обновляем количество товара в корзине

foreach( $ids as $id ){
                
$_SESSION[CART][$id][quantity] = $_POST[quantity_.$key];
        }
$cart_str=serialize($_SESSION[CART]); // сохраняем масив в разложенном виде чтб потом его высветить
$date=time();
 
$add_cart=mysql_query("INSERT INTO cart(name,l_name,city,phone,mail,orders,date)VALUE ('$name','$l_name','$city','$phone','$mail','$cart_str','$date')"); // обращаемся к таблице в базе и записываем юзера   
                 
if (!$add_cart){
                    print 
"Ошибка при записи";
                 } else{
                     print 
"Заказ принят <a href='index.php'> Вернутсья на главную </a>";
                     unset(
$_SESSION[CART]); // удаляем из корзины все
                     
                 
}
} else{

if(isset(
$add)){
print
"
<form method='POST' action=''>
Имя<br>
<input type='text' name='name' class='pole1' value='
$name?'><br> 
Фамилия<br>
<input type='text' name='l_name' class='pole1' value='
$s_name'><br> 
Город<br>
<input type='text' name='city' class='pole1' value='
$city'><br> 
Телефон<br>
<input type='text' name='phone' class='pole1' value='
$phone'><br> 
Майл<br>
<input type='text' name='mail' class='pole1' value='
$mail'<br> 
<input type='submit' name='confirm' value='Подтвердить'>
</form>"
// создаем форму для подтверждения заказа в корзине.
}else{
if(isset(
$delete)){
$count=count($_SESSION[CART]); // считает сколько товаров добавленно в массиве сесии карзины.
if($count 1){
 print
"Не выбрали ничего для удаления";
 }else{
   foreach(
$del as $key=>$val){
   unset(
$_SESSION[CART][$val]); // удаляем из корзины 
   
}
}}
if(isset(
$del_all)){
      unset(
$_SESSION[CART]); // удаляем из корзины все
   
}
$count=count($_SESSION[CART]); // считает сколько товаров добавленно в массиве сесии карзины.
if($count 1){
   print 
"Нет товаров";
}else{
    print
"<form method='POST' action=''>"// создаем удаление из карзины с помощью форм ПОСТА
    
print "<b>В Вашей корзине<br></b><hr>";
    foreach(
$_SESSION[CART] as $key=>$val ){
    
$prod mysql_query("SELECT * FROM products WHERE id='$val'");
    
$prod_arr mysql_fetch_array($prod);
    
$summa=$summa+$prod_arr[price];
    print 
"<div class='cart-list-block'><input type='checkbox' name='del[]' value='$val'>
    <div class='cart-list'>
      <img src='
$prod_arr[img]' width=50 height=50>
       <span class='cart-list-text'><font class='text-cart' >Цена :</font>
       <font class='pr-cart'>
$prod_arr[price]$</font>
       <input type='text' value='1' name='quantity_"
.$key."' style='background-color:#333333;color:white' size='3' />
       <font class='text-cart'>
$prod_arr[title]</font></span>
       </div></div><hr>"
// выводим ЧЕКБОКС вместе с товаром и ценой
    
}
    Print 
"<b>Итого :$summa $</b>";
    print 
"<hr>
        <input type='submit' name='delete' value='Удалить из корзины'> 
        <input type='submit' name='del_all' value='Удалить все'> 
        <input type='submit' name='add' value='Подтвердить заказ'> 
        </form>"
;
}
}
}
?>

  Ответить  
 
 автор: confirm   (27.11.2012 в 14:11)   письмо автору
 
   для: Vavan   (27.11.2012 в 12:51)
 

$_SESSION[CART] - так нельзя писать, иначе рано или поздно вы за это поплатитесь. Строковые значения ключей надо обрамлять кавычками, иначе это константа. Если же это у вас действительно константа, то в данном случае это бессмысленно.

$ids = array_keys($_SESSION[CART]);// Обновляем количество товара в корзине - это каким же образом так можно обновить?


Что это за код - вывод подробной информации о содержимом корзины, ее редактирование, плюс оформление заказа?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования