Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Antwort
 
Themen-Optionen
Alt 05.04.2008, 14:10   Nach oben    #1
Orolhawion
Cäptn
 
Benutzerbild von Orolhawion
 
Registriert seit: 15.12.2004
Ort: Stockholm
Beiträge: 116
Standard [XML] DOMDocument in Session

hej,

ich weiss net so genau, ob das hier reinpasst, falls nötig bitte verschieben. ich versuche ein DOMDocument-Objekt in einer Session zu speichern. Mittels Formular sollen neue Elemente in das Dokument eingefuegt werden, daher brauche ich die Session, weil ich das DOMDocument-Objekt ueber die Seitenklicks mitnehmen muss.

Folgender Code wird dazu benutzt:

PHP-Code:
<?php
    session_start
();
    if (!isset(
$_SESSION['dom'])){
        
$_SESSION['dom'] = new DOMDocument('1.0''iso-8859-1');
    }
    
// print_r($_SESSION);
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Das Schlossgespenst</title>
</head>
<body>


<hr>
<form method="post" action="index_new.php">

Please enter an element: <input type="text" name="element"><br /><br />

Value for this element: <input type="text" name="value"><br />

<input type="submit" name="Button" value="Send">
<input type="submit" name="RButton" value="Reset">

</form>

</body>
</html>

<?php
if (isset($_POST['RButton'])){
    
$_SESSION = array();
}else{
    if((
$_POST[element] != null && $_POST[value] != null) && isset($_SESSION['dom'])){

        
$element $_SESSION['dom']->createElement($_POST[element], $_POST[value]);

        
// We insert the new element as root (child of the document)
        
$_SESSION['dom']->appendChild($element);
        
        echo 
$_SESSION['dom']->saveXML();
    }
}
?>
Folgendes Verhalten wird erwartet:
Bei jedem Klick auf Send wird ein neues Element (bei gueltigen Eingaben) zum DOM-Document hinzugefuegt.

Folgendes Verhalten tritt ein:
das erwartete Verhalten nur nach dem ersten klick, danach folgt:
Zitat:
Zitat von PHP
Warning: DOMDocument::createElement() [function.DOMDocument-createElement]: Couldn't fetch DOMDocument in /opt/lampp/htdocs/Uebung4/index_new.php on line 39
Wo liegt da mein Denkfehler? Hat jemand eine Idee?

Auf der PHP-Seite liegt folgender Bug-Report vor, der allerdings aussagt, dass es kein Bug ist.. konnte sonst nicht mehr zum thema finden..
__________________
"Wer nicht mit der Zeit geht, wird mit der Zeit gehen."
Game over, Junge!
ENERGIE!
___________________________
Mein Blog
Mein OpenBC
Orolhawion ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 05.04.2008, 14:30   Nach oben    #2
Basti
Erfahrener Benutzer
 
Registriert seit: 04.01.2006
Ort: Kassel
Beiträge: 756
Standard

Zitat:
You can never serialize internal classes, only user defined classes.
There is no bug here.
http://bugs.php.net/bug.php?id=30321


Mit DOMDocument->saveXML() und DOMDocument->loadXML() kannst du ein DOM-Objekt serialisieren und zurück.

Basti

Geändert von Basti (05.04.2008 um 14:33 Uhr).
Basti ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are Aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Session Sicherheitsfrage phpdev PHP-Programmierung 24 23.08.2007 22:38
SESSION übergabe automatisch? web2 PHP-Programmierung 3 28.02.2007 14:00
Mails empfangen / versenden "Access to default session denied" Robinson Allgemeine Java-Programmierung 0 14.12.2005 15:11
Session - Projekt Kommunikation DasMööp PHP-Programmierung 17 23.08.2005 00:02
[PHP] Daten per Session übergeben Ben Tutorials 0 14.12.2004 14:34


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:13 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.0.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44