Hallo Leute
ich arbeite zurzeit an einem Projekt und ist eigentlich sogut wie fertig. Naja auf meinem Virtuellen Server (XXAMP) läuft und funktioniert alles nur auf dem realen Server gibt es ein problem mit dem Warenkorb class bzw darin ist ein array mit dem hat der irgendwie probleme.
Ich hab es so gemacht wenn jemand ein Artikel kaufen will bestimmte Werte an die Class Warenkorb.php gesendet werden und dort die funktion checkOK starten. Um sicher zu gehen hab ich mal in der funktion CheckOK getestet ob er überhautp die Werte bekommt und test war erfolgreich.
Die fehlermeldung ist immer: Fatal error: Cannot use object of type Warenkorb as array in ...class/warenkorb.php on line 67
durch einige if abfragen mit is_array merkt man das meine Variable kein array ist und ich denk mal genau daswegen gibt de rmir ne fehlermeldung obwohl es eigentlich ein array ist. Was komnisch ist, ist das beim ersten Kauf wenn wenn mandie seite betritt alles funktioniert und aber dem zweiten kauf gibt es dann diese fehlermeldung.
Server Version ist aktuellste also PHP 5.3 oder sowas
Das ist hier mein Warenkorb class, wäre schön wenn man mir helfen könnte sitze schon seit gestern an diesem Problem
PHP-Code:
<?php
class Warenkorb{
public $waren;
public function getArtikelNr($param){
if(is_array($this->waren)){
return $this->waren[$param][0];
}Else{return "Warenkorb Leer";}
}
public function getOrdner($param){
if(is_array($this->waren)) {
return $this->waren[$param][1];
}Else{return "Ordner Leer";}
}
public function getRubrik($param){
if(is_array($this->waren)){
return $this->waren[$param][2];
}Else{return "Rubrik Leer";}
}
public function getPreis($param){
if(is_array($this->waren)) {
return $this->waren[$param][3];
}Else{return "Preis Leer";}
}
public function getMenge($param){
if(is_array($this->waren)) {
return $this->waren[$param][4];
}Else{return "Menge Leer";}
}
public function setArraySession(){
unset($_SESSION['warenkorb']);
$_SESSION['warenkorb'] = $this->waren;
}
public function getArraySession(){
return $this->waren = $_SESSION['warenkorb'];
}
public function check($artikelNr, $ordnerX, $rubrik, $preis){
$this->getArraySession();
if(count($this->waren) == 10)
$_SESSION['warenkorbStatus'] = 'warenrkorbVoll';
else
$this->checkOK($artikelNr, $ordnerX, $rubrik, $preis);
}
public function checkOK($artikelNr, $ordnerX, $rubrik, $preis){
$check = 'true';
$menge = 1;
for($i=0; $i < count($this->waren); $i++){
if($artikelNr == $this->getArtikelNr($i)){
$check = 'false';
$menge = $this->waren[$i][4];
$menge++;
$this->waren[$i][4] = $menge;
break;
}
}
if($check == 'true'){
$this->waren[] = array($artikelNr, $ordnerX, $rubrik, $preis, $menge); <-------Line 67
var_dump($this->waren);
}
$this->setArraySession();
$_SESSION['warenkorbStatus'] = 'einkaufOK';
}
}
?>