Fehler: Call to a member function

Hallo!

Habe folgende Fehlermeldung:
Fatal error: Call to a member function addChild() on a non-object in C:\xampp\htdocs\newsletter.php on line 4

Der Code (getrennt in 3 Teile, Code vor dem Fehler, die Fehlerzeile und Code nach dem Fehler):
PHP:
<?php
    function addNewsletteremail($id,$name,$email) {
        global $newsletteremail;

PHP:
$newsletteremail->addChild('item');

PHP:
$newsletteremail->item[count($newsletteremail)-1]->addAttribute('id',$id);
        $newsletteremail->item[count($newsletteremail)-1]->addChild('name',utf8_encode(htmlspecialchars($name)));
        $newsletteremail->item[count($newsletteremail)-1]->addChild('inhalt',utf8_encode(htmlspecialchars($email)));
        $newsletteremail->asXML('daten/newsletteremails.xml');
    }
    if (isset($_POST['newitem'])) addNewsletteremail($_POST['id'],$_POST['name'],$_POST['email']);
    $maxid = 0;
    foreach ($newsletteremail as $newsletteremailitem) {
        if ($newsletteremailitem['id'] > $maxid) $maxid = $newsletteremailitem['id']; // höchste ID
    }
    echo '<form name="newitemform" action="" method="post">';
    echo '<input type="hidden" name="id" value="'.($maxid+1).'" />';
    echo 'Ihr Name: <input type="text" name="name" value="Ihr Name" /><br />';
    echo 'Ihre E-Mail: <input type="text" name="email" value="Ihre E-Mail" /><br />';
    echo '<input type="submit" name="newitem" value="Senden" />';
    echo '</form>';

?>

Wäre prima wenn mir da jemand helfen kann.

//EDIT
Das obige passiert beim abschicken des Formulars. Die folgende Fehlermeldung:
"Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\cmsxml\ink\newsletter.php on line"
kommt beim direkten Aufruf.
//EDIT
Danke,
PD
 
Zuletzt bearbeitet:
Wo holst du denn die Methode addChild() her?
Wenn es aus einer anderen Klasse kommt, hast du eventuell vergessen ein Objekt zu erstellen?
 
Das ist der ganze Code. Mehr gibt es nicht. Die 3 Felder (Quellcode) ergeben so wie jetzt und in genau dieser Reihenfolge den kompletten Codeblock.
 
Dann fehlt da so einiges. Entweder hast du vergessen eine Datei zu includen oder es fehlt wirklich einiges.

Mit $newsletteremail->addChild('item') versuchst du auf die Methode addChild() des Objektes $newslettermail zuzugreifen. Dieses Objekt scheint so nicht so exestieren, von daher die Fehlermeldung. Außerdem bräuchtest du eine Klasse in der die Methode addChild enthalten ist, diese scheint auch zu fehlen. Wo hast du denn das "Stückchen" Skript her?
 
Irgendwie vertauscht du da was komplett. In dem Tutorial wird auch simplexml_load_file verwendet. Diese ist bei dir erst gar nicht zu finden. Lese dir mal alles zu der SimpleXML Funktion auf php.net durch, dann wirst du sehen was dir alles fehlt und vor allem was du eigentlich mit den verwendeteten Funktionen erreichst.
 
Zurück