PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP für Fortgeschrittene und Experten (http://www.selfphp.de/forum/forumdisplay.php?f=13)
-   -   XML-Parser - Problem (http://www.selfphp.de/forum/showthread.php?t=16995)

jksch 11.06.2007 13:10:46

XML-Parser - Problem
 
Hallo zusammen!

Nun habe ich es fast geschafft und hänge wieder mal fest. Vielleicht erkennt jemand ein Fehler, ich finde ihn leider nicht.

artikel.php
PHP-Code:

<?php session_start(); 

include(
"Artikelparser.php");

$art = new Artikelparser();
?>


<?php

if ($_SESSION['login_okay'])
{
    
?>
<html><head>
<title>Artikel</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
    <h1>Folgende Bücher können Sie bestellen</h1>
    
    <body>
    
        <?php        
        
        
foreach($art as $nummer=>$art_objekt){
        print
            
"<a href='warenkorb.php?artikel=$nummer'>";
        print 
$art_objekt->name;
        print 
"</a> ".$art_objekt->preis."Euro<p>\n";
        }
        
?>

    <br>
    <a href="index.php"><b>Zurück zur Login-Seite</b></a>
    <?php
    

    else {
    
?>
    </body>
    </html>
    
    <html>
    <head>
       <title>Kein Zugriff</title>
        <link rel="stylesheet" href="style.css">
    </head>
    <body>     
    Leider haben Sie keinen Zugriff auf diese Seite<br>
    Bitte melden Sie sich auf der <a href="index.php"><b>Loginseite</b></a> an.
    </body></html>
    <?php
}
?>

Artikelparser.php

PHP-Code:

<?php     session_start(); 
        include (
"Artikelparser.inc");                    

?>

<?php

$html 
"<html><body>";

$xmlFile implode(""file("artikeldaten.xml"));
$parser xml_parser_create();
xml_set_element_handler($parser,"startElement","endElement");
xml_set_character_data_handler($parser"cdata");
xml_parse($parser$xmlFile);
xml_parser_free($parser);

print 
$html;
print 
"</body></html>";


/*************************************
Funktionsdeklarationen
*************************************/

function startElement($parser$name$atts) {
    global 
$html$nummer;

    switch (
strtolower($name)) {
    case 
"artikel":
        
$nummer $atts["NUMMER"];
        
$html .= "<hr>";
        break;
    case 
"name";
        
$html .="<h1>";
        break;
    case 
"preis":
        
$html .="NUMMER: $nummer<br>";
        
$html .="Preis: ";
        break;
    }
}

function 
endElement($parser$name) {
    global 
$html;

    switch (
strtolower($name)) {
    case 
"name":
        
$html .="</h1>";
        break;
    }
}

function 
cdata($parser$text) {
    global 
$html;

    
$html .=$text;
}


?>

Artikelparser.inc

Code:

<?php
        class Artikelparser{
                var $name;
                var $nummer;
                var $anzahl;
                var $preis;
               
                       
        function Artikelparser($name, $nummer , $preis ){
                $this->name = $name;
                $this->nummer = $nummer;
                $this->anzahl = 1;
                $this->preis = $preis;
        }
}
?>

artikeldaten.xml

HTML-Code:

<?xml version="1.0" encoding="iso-8859-1"?>
<artikeldaten>
        <artikel nummer="1001">
                <name>Der Herr der Ringe</name>
                <preis>39.9</preis>
        </artikel>
        <artikel nummer="2002">
                <name>Der kleine Hobbit</name>
                <preis>19.9</preis>
        </artikel>
        <artikel nummer="3003">
                <name>Grimms Märchen</name>
                <preis>25.9</preis>
        </artikel>
        <artikel nummer="4004">
                <name>Elric von Melnibonee</name>
                <preis>29.9</preis>
        </artikel>
</artikeldaten>


jksch 11.06.2007 13:13:39

AW: XML-Parser - Problem
 
Achso habe den Fehler-Code vergessen mitzusenden.

<b>Warning: Missing argument 1 for Artikelparser::Artikelparser(), called in C:\xampp\htdocs\PHP02\artikel.php on line 5 and defined in C:\xampp\htdocs\PHP02\Artikelparser.inc on line 9

Warning: Missing argument 2 for Artikelparser::Artikelparser(), called in C:\xampp\htdocs\PHP02\artikel.php on line 5 and defined in C:\xampp\htdocs\PHP02\Artikelparser.inc on line 9

Warning: Missing argument 3 for Artikelparser::Artikelparser(), called in C:\xampp\htdocs\PHP02\artikel.php on line 5 and defined in C:\xampp\htdocs\PHP02\Artikelparser.inc on line 9</b>

jksch 12.06.2007 09:32:18

AW: XML-Parser - Problem
 
Schade keine Antwort, bis jetzt habe ich den Fehler noch nicht entdeckt.

xabbuh 12.06.2007 09:34:27

AW: XML-Parser - Problem
 
Der Konstruktor deiner Klasse Artikelparser erwartet drei Parameter beim Instanziieren. Du hast aber kein einziges Argument übergeben.


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:02:50 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.