Frage zum Tutorial "Einführung XML mittels SimpleXML und DOM"

PHP_Riot

Grünschnabel
Hallo,

Ich baue mir gerade ein Gästebuch nach dem oben genannten Tutorial zusammen. Das Anzeigen der Einträge klappt auch schon, aber das Eintragen in das GB will einfach nicht klappen. Und ich meine es liegt an den folgenden Zeilen.
Wobei ich auch nicht ganz genau weiß was die machen! Wird so der XMLsting der später eingefügt wird zusammen gebaut? Könnte mir das jemand näher erklären?


$newxml = <<< XML
<?xml version='1.0' encoding="iso-8859-1" standalone="yes" ?>
<eintrag>
<id>$id</id>
<name>$name</name>
<email>$email</email>
<homepage>$hp</homepage>
<kommentar>$kommentar</kommentar>
<date>$date</date>
</eintrag>
XML;


MFG
 
Ja der wird so "zusammengebaut" nur das h#ttest du mit nem echo $newxml auch selbst feststellenkönnen...

Und werd mal konkreter was nich stimmt und deinen Query zu zeigen wäre auch ned schlecht.
 
Hm, ich kann leider kein echo an der stelle machen da er mir ja einen Fehler bringt.
Aber wenn ich die im ersten Beitrag genannten zeilen auskommentiere bringt er ersteinmal keinen Fehler mehr.

Parse error: syntax error, unexpected $end


PHP:
function PutInGb() {
  	$name  = "Susanne";
  	$email = "KoMtuR@gmx.de";
  	$date   = time();
  	$kommentar   = "Von mir erstellt";
  	$hp   = "http://www.hp.de";
  
  	$doc = DOMDocument::load("gb.xml");
  
  	$xp = new domxpath($doc);
  
  	$id = 0;
  	foreach ($doc->documentElement->childNodes as $articles) {
  	  if ($articles->nodeType == 1 && $articles->nodeName == "eintrag") {
  		$id++;
  	  }
  	}
  
  	$id++;
  	$newxml = <<< XML
  	<?xml version='1.0' encoding="iso-8859-1" standalone="yes" ?>
  	<eintrag>
  	  <id>$id</id>
  	  <name>$name</name>
  	  <email>$email</email>
  	  <homepage>$hp</homepage>
  	  <kommentar>$kommentar</kommentar>
  	  <date>$date</date>
  	</eintrag>
  	XML;
  	$doc2 = DOMDocument::loadXML($newxml);
  	$xpath = new DOMXPath($doc2);
  
  	$query = $xpath->query("/eintrag");
  
  	foreach($query as $node) {
  	  $import = $node->cloneNode(true);
  	}
  
  	$onewxml = $doc->importNode($import, true);
  
  	$firstNode = $doc->getElementsByTagName("eintrag");
  
  	$doc->documentElement->insertBefore($onewxml, $firstNode->item(0));
  	$doc->save("gb.xml");
    }
 
Zurück