Ich arbeite an einer E-Commerce-Übung - Hinzufügen von Elementen zu einem Warenkorb, dann Entfernen von ihnen. Die Artikel/Einkaufswagen sind eine Artikel-ID und ein Mengenwert, die in der Sitzung gespeichert und in den Controller-Funktionen manipuliert wurden - nichts, das aus einer Datenbank mit Ausnahme der Produkt-ID gezogen wurde. Hinzufügen zu einem Warenkorb oder Aktualisieren funktioniert, aber Entfernen ist nicht möglich.Aus dem Warenkorb entfernen Code funktioniert nicht
Von was ich sagen kann, dann Funktion zum Hinzufügen oder Entfernen sind einfach - man sollte einen Wert erhöhen, der andere verringern. Code ist unten. Irgendwelche Ideen?
Entfernen aus Korb:
public function remove_from_basket($item_id)
{
// remove an item from a cart
$quantity = $this->session->userdata($item_id);
$quantity -= $this->session->post('qty');
$this->session->set_userdata($item_id, $quantity);
redirect('/eCommerceItems/eCommerce_basket');
}
Called from
<?php
$total=0;
foreach ($items as $item)
{
$temp = $item['price'] * $this->session->userdata($item['id']);
$total += $temp;
if ($this->session->userdata($item['id']) > 0)
{
echo "<div class='item'>
<div class='description'>
<p>Name: {$item['name']}</p>
<p>Price: {$item['price']}</p>
<p>Quantity: {$this->session->userdata($item['id'])}</p>
<form action '/eCommerceItems/remove_from_basket/{$item['id']}' method='post'>
<select name='qty'>";
for($i=1;$i <= $this->session->userdata($item['id']);$i++)
{
echo "<option>{$i}</option>";
}
echo "</select>
<input type='submit' value='Remove'>
</form>
</div>
</div>";
}
}
In den Warenkorb
public function add_to_basket($item_id)
{
//Add an item to a cart
$quantity = $this->session->userdata($item_id);
$quantity += $this->input->post('qty');
$this->session->set_userdata($item_id, $quantity);
redirect('/eCommerceItems');
}
Genannt aus:
<?php
foreach($items as $item)
{
echo "<div class='item'>
<div class='description'>
<p>Name: {$item['name']}</p>
<p>Description: {$item['description']}</p>
<p>Price: \${$item['price']}</p>
<p>Quantity Available: {$item['quantity']}</p>
<p>Item ID is: {$item['id']}</p>
<form action='/eCommerceItems/add_to_basket/{$item['id']}' method='post'>
<select name='qty'>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
<input type='submit' value='Add to basket'>
</form>
</div>
</div>";
}
?>
Vielen Dank für alle Anregungen - Dies scheint ein Problem mit der erzeugten HTML-Schaltfläche in Opera haben nicht aktiviert richtig, kein Problem mit dem PHP-Code. Ich habe keine Grundursache (möglicherweise Leerzeichen oder Formatierung), aber das HTML-Segment von Grund auf neu zu schreiben, reparierte die Knopfaktion. – perniciouscaffeine