Hallo Leute. Bin gerade neu hier. Wollte einen kleinen Warenkorb basteln, und habe das Probem das wenn ich submitte immer wieder die Meldung Fatal error: Call to a member function on a non-object in Line 21 angezeigt wird. Bei einem Kumpel funktioniert das Script seltsamer Weise aber.
Hier mal der Code zu main.php
PHP
<?php
error_reporting(1);
require_once('warenkorb_class.php');
session_start();
$sid = SID;
if (!isset($_SESSION['ware'])){
$ware = new warenkorb($sid);
$_SESSION['ware'] = $ware;
$fb =$_SESSION['ware'];
}
if (isset($_POST['submit'])){
foreach($_POST as $inhalt => $key)
$ware -> zufuegen($inhalt,$key); //ZEILE21!!!![/color]
}
echo session_id();
?>
<html>
<head>
<title>Unbenanntes Dokument</title>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']. "?$sid" ?>" method="post">
<table align="center" border="2" cellpadding="2" cellpadding="2">
<tr>
<td valign="top" > [img]images/brunnen1.png[/img] </td>
<td valign="bottom" width="70">Brunnen für 79,99 Euro <input type="text" name="brunnen" value"" size="2" maxlength="3" /></td>
</tr>
<tr>
<td > <input type="submit" value="In den Warenkorb" name="submit" /></td>
</tr>
</table>
</form>
<table align="center">
<tr>
<td>
<?php
if(isset($_SESSION['ware']) )
$ware->zeige();
?>
</td>
</tr>
</table>
</body>
</html>
Alles anzeigen
...und hier die Klasse
PHP
<?php
class warenkorb{
var $s;
var $artikel = array();
function warenkorb($si){
$this->s = $si;
}
function zufuegen($art,$anz){
$this-> artikel[$art] += $anz;
}
function zeige(){
if(count($this->artikel)){
echo "<table border=\"2\">";
foreach($this->artikel as $art => $anz){
echo "<tr>
<td>Artikel: ".$art ."</td>
<td>Anzahl: ".$anz."</td>
</td>";
}
}
echo "</table>";
}
}
?>
Alles anzeigen
Kann mir netterweise jemand dabei gerade helfen? Ich wäre euch echt dankbar. Ich finde es halt seltsam das es bei MIR nicht funktioniert. Habe die leise Ahnung das es was mit dem Aufruf des Formulars zu tun hat.