Witam,
Mam problem ze skryptem koszyka sklepu internetowego. Mianowicie gdy wybieram produkt, który ma być dodany, pojawiają się komunikaty: "Fatal error: Uncaught Error: Cannot use object of type Towar as array in C:\wamp64\www\koszyk.php on line 23" oraz "Error: Cannot use object of type Towar as array in C:\wamp64\www\koszyk.php on line 23". Nie wiem jak to rozwiązać, czy ktoś ma jakieś sugestie?
Oto kod koszyka.php:
<html>
<head>
<meta charset="UTF-8">
<title>Koszyk</title>
</head>
<body>
<?php
session_start();
require 'polacz.php';
require 'towar.php';
if (isset($_GET['id']))
{
$wyn = mysqli_query($pol, 'SELECT * FROM produkty WHERE id='.$_GET['id']);
$produkt = mysqli_fetch_object($wyn);
$towar = new Towar();
$towar->id = $produkt->id;
$towar->nazwa = $produkt->nazwa;
$towar->cena = $produkt->cena;
$towar->sztuk = 1;
$index = -1;
$koszyk = unserialize(serialize($_SESSION['koszyk']));
for($i = 0; $i < count($koszyk); $i++){
if ($koszyk[$i]->id==$_GET['id']) {
$index = $i;
break;
}
} // ok
if ($index==-1){
$_SESSION['koszyk'][] = $towar;
} else {
$koszyk->sztuk++;
$_SESSION['koszyk'] = $koszyk;
}
}
//usuń produkt
if (isset($_GET['index'])){
$koszyk[] = unserialize(serialize($_SESSION['koszyk']));
unset($koszyk[$_GET['index']]);
$koszyk = array_values($koszyk);
$_SESSION['koszyk'] = $koszyk;
}
?>
<table border="1" cellspacing="2" cellpadding="2">
<thead>
<tr>
<th>Opcje</th>
<th>ID</th>
<th>Nazwa</th>
<th>Cena</th>
<th>Sztuk</th>
<th>Całość</th>
</tr>
</thead>
<tbody>
<?php
$koszyk = unserialize(serialize($_SESSION['koszyk']));
$s = 0;
$index = 0;
for($i=0;$i < count($koszyk);$i++)
{
$s += ($koszyk[$i]->cena * $koszyk[$i]->sztuk);
echo '<tr>';
echo '<td><a href="koszyk.php?index='.$index.' onclick="return confirm("Potwierdzasz?");">Usuń</a></td>';
echo '<td>'.($koszyk[$i]->id).'</td>';
echo '<td>'.($koszyk[$i]->nazwa).'</td>';
echo '<td>'.($koszyk[$i]->cena).'</td>';
echo '<td>'.($koszyk[$i]->sztuk).'</td>';
echo '<td>'.($koszyk[$i]->cena * $koszyk[$i]->sztuk).'</td>';
echo '</tr><br>';
$index++;
}
?>
<tr>
<td colspan="4" align="right">Suma:</td>
<td align="left"><?php echo $s; ?></td>
</tr>
</tbody>
</table>
<br>
<a href="index.php">Kontynułuj zakupy</a>
</body>
</html>
Kod towar.php:
<?php
class Towar{
var $id;
var $nazwa;
var $cena;
var $sztuk;
}
?>