|
 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>";
}
}
}
?>
|
| |
|
|
|
|
|
|
|
для: Vavan
(27.11.2012 в 12:51)
| | $_SESSION[CART] - так нельзя писать, иначе рано или поздно вы за это поплатитесь. Строковые значения ключей надо обрамлять кавычками, иначе это константа. Если же это у вас действительно константа, то в данном случае это бессмысленно.
$ids = array_keys($_SESSION[CART]);// Обновляем количество товара в корзине - это каким же образом так можно обновить?
Что это за код - вывод подробной информации о содержимом корзины, ее редактирование, плюс оформление заказа? | |
|
|
|