Mein PHP-Contest: Speichern von XML-Daten in einer Session
Welcher Crack schafft es, folgende 2 PHP-Fetzen zum laufen zu bringen? Es geht immer noch um das Speichern von XML-Daten (DOM oder SimpleXml ist egal) in einer Session!
Zu gewinnen gibts ein herzliches Dankeschön!
Der Code:
File TestEins.php
...und die zweite Seite TestZwei.php...
Der Aufruf der zweiten Seite über den Link in der ersten Seite produziert mit diesem Code folgende Fehlermeldung, und dies etwa 20 mal hintereinander:
Diesen Fehler werde ich dann nicht mehr los, ehe ich nicht alles Session-Dateien aus dem temp Verzeichnis gelöscht habe. Wenn ich anstatt des SimpleXml-Dokuments einen "kurzen" String in der Session speichere, dann läufts ohne Probleme. Also stimmen die Abläufe grundsätzlich, und die Session funktioniert auch.
Als ihr schlauen Cracks: Wie speichere ich ein XML in der Session? Muss ich es erst Verstringen? Und wie mach ich das?
Grüsse Casr
Welcher Crack schafft es, folgende 2 PHP-Fetzen zum laufen zu bringen? Es geht immer noch um das Speichern von XML-Daten (DOM oder SimpleXml ist egal) in einer Session!
Zu gewinnen gibts ein herzliches Dankeschön!
Der Code:
File TestEins.php
PHP:
<?PHP
session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>TestEins</title>
</head>
<body>
<?PHP
$xml = simplexml_load_file("test.xml");
$_SESSION['xml'] = $xml;
foreach($xml->children() as $event){
echo "{$event->Name} <br>";
}
?>
<a href="TestZwei.php" target="_self">Link</a>
</body>
</html>
PHP:
<?PHP
session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Unbenanntes Dokument</title>
</head>
<body>
<?php
$xml = $_SESSION['xml'];
foreach($xml->children() as $event){
echo "{$event->Name} <br>";
}
?>
</body>
</html>
Der Aufruf der zweiten Seite über den Link in der ersten Seite produziert mit diesem Code folgende Fehlermeldung, und dies etwa 20 mal hintereinander:
HTML:
Warning: session_start() [function.session-start]: Node no longer exists in c:\wamp\www\Test\TestZwei.php on line 2
Diesen Fehler werde ich dann nicht mehr los, ehe ich nicht alles Session-Dateien aus dem temp Verzeichnis gelöscht habe. Wenn ich anstatt des SimpleXml-Dokuments einen "kurzen" String in der Session speichere, dann läufts ohne Probleme. Also stimmen die Abläufe grundsätzlich, und die Session funktioniert auch.
Als ihr schlauen Cracks: Wie speichere ich ein XML in der Session? Muss ich es erst Verstringen? Und wie mach ich das?
Grüsse Casr
Zuletzt bearbeitet: