Hallo bin neu hier und hoffe das das der richtige Bereich ist. Undzwar ist mein Problem ich habe eine XML-Datei in der meine Navigation definiert ist. Die wird in eine PHP-Datei eingebunden in der alle Funktionen sind um die Webseite darzustellen z.B readNavigation in der die Navigation erstellt wird. Diese Datei wird dann nochmal in eine weitere PHP-Datei eingebunden die die Funktionen aufruft. Und am Ende werden die Funktionen in die Index-Datei eingebunden. Ich will nun eine Unternavigationsebene erstellen. Ich habe es auch hinbekommen das die Unterpunkte unter den richtigen Hauptpunkten auftauchen jedoch wird der Inhalt von der Unternavigation nicht angezeigt sonder nur von der Hauptnavigation. Der Fehler besagt: Notice: Trying to get property of non-object in C:\xampp\htdocs\MeineTest\databaseHandler.php on line 50.
XML:
PHP: Funktionen die die Webseite erstellen. Geht Hauptsächlich um readContent und readNav.
PHP-2: Funktionen werden Aufgerufen
In der Index mit
eingebunden.
Sorry wenn ich den ganzen Code poste weiß aber nicht wie ich es sonst erklären soll, da alle miteinander zusammenhängen.
XML:
HTML-Code:
<?xml version="1.0" encoding="UTF-8"?> <database version="1.0"> <page id="0" lang="de"> <navigation visible="true"><![CDATA[home]]></navigation> <title><![CDATA[Startseite]]></title> <author><![CDATA[David]]></author> <keywords><![CDATA[home]]></keywords> <description><![CDATA[Das ist meine Homepage]]></description> <content><![CDATA[ Herzlich Wilkommen auf der Homepage der Rodgau Pioneers. Bei uns erwartet euch spaßiges,<br> aber auch forderndes Training, sowie eine schöne Teamatmosphäre. Wenn ihr Football genauso<br> sehr liebt wie wir oder den Sport kennenlernen wollt alle sind herzlich eingeladen.<br> Training ist immer Montag und Mittwoch von 20-22 Uhr. <video class="video1" src="GenFB.com_11925625_1267866379895335_1408456096_n.mp4" controls weight="350" width="350"> Video der Pioneers</video> ]]> </content> </page> <page id="1" lang="de"> <navigation visible="true"><![CDATA[news]]></navigation> <title><![CDATA[News]]></title> <author><![CDATA[David]]></author> <keywords><![CDATA[news]]></keywords> <description><![CDATA[Das ist meine Homepage]]></description> <content><![CDATA[Herzlich Wilkommen auf der Newsseite der Rodgau Pioneers....]]></content> </page> <page id="2" lang="de"> <navigation visible="true"><![CDATA[mitglieder]]></navigation> <title><![CDATA[Mitglieder]]></title> <author><![CDATA[David]]></author> <keywords><![CDATA[mitglieder]]></keywords> <description><![CDATA[Das ist meine Homepage]]></description> <content><![CDATA[Herzlich Wilkommen auf der Mitgliederseite der Rodgau Pioneers....]]></content> </page> <page id="3" lang="de"> <unterseite>7</unterseite> <navigation visible="true"><![CDATA[spielplan]]></navigation> <title><![CDATA[Spielplan]]></title> <author><![CDATA[David]]></author> <keywords><![CDATA[spielplan]]></keywords> <description><![CDATA[Das ist meine Homepage]]></description> <content><![CDATA[Herzlich Wilkommen auf der Spielplanseite der Rodgau Pioneers....]]></content> </page> <page id="4" lang="de"> <unterseite>6</unterseite> <navigation visible="true"><![CDATA[medien]]></navigation> <title><![CDATA[Medien]]></title> <author><![CDATA[David]]></author> <keywords><![CDATA[medien]]></keywords> <description><![CDATA[Das ist meine Homepage]]></description> <content><![CDATA[Herzlich Wilkommen auf der Medienseite der Rodgau Pioneers....]]></content> </page> <page id="5" lang="de"> <navigation visible="true"><![CDATA[kontakt]]></navigation> <title><![CDATA[Kontakt]]></title> <author><![CDATA[David]]></author> <keywords><![CDATA[kontakt]]></keywords> <description><![CDATA[Das ist meine Homepage]]></description> <content><![CDATA[<font color="black"> <h1>Kontaktformular</h1> <form name="myForm" action="../uebung1/handleRequest.php" method="get" accept-charset="UTF-8"> <fieldset> <legend>Bitte Daten eingeben</legend> <p> <label>Vorname: <input type="text" name="vorname" id="name1" size="40"></label> </P> <p> <label>Nachname: <input type="text" name="nachname" id="name2" size="40"></label> </P> <p> <label>E-Mail-Adresse: <input type="text" name="mail" id="email" size="40"></label> </p> <input id="button" type="button" onclick="pruefen();" name="senden" value="Abschicken"> <p> </fieldset> </form> </font>]]> </content> </page> <page2 id="6" lang="de"> <navigation visible="true"><![CDATA[videos]]></navigation> <title><![CDATA[Videos]]></title> <author><![CDATA[David]]></author> <keywords><![CDATA[videos]]></keywords> <description><![CDATA[Das ist meine Homepage]]></description> <content><![CDATA[Videos folgen...]]></content> </page2> <page2 id="7" lang="de"> <navigation visible="true"><![CDATA[saison_2016]]></navigation> <title><![CDATA[Saison 2016]]></title> <author><![CDATA[David]]></author> <keywords><![CDATA[saison_2016]]></keywords> <description><![CDATA[Das ist meine Homepage]]></description> <content><![CDATA[Spielplan folgt...]]></content> </page2> </database>
PHP-Code:
<?php
if (file_exists('data.xml')){
$xml = simplexml_load_file('data.xml');
}
else{
exit('Konnte Datei nicht laden');
}
function readVariable($main){
global $xml;
return $xml -> page[(int) $main]->attributes()->{'id'};
}
function readTitle($main){
global $xml;
return $xml-> page[(int) $main]->title;
}
function readAuthor($main){
global $xml;
return $xml-> page[(int) $main]->author;
}
function readLang($main){
global $xml;
return $xml-> page[(int) $main]->lang;
}
function readKeywords($main){
global $xml;
return $xml-> page[(int) $main]->keywords;
}
function readContent($main,$submain){
global $xml;
if ($xml -> page){
return $xml->page[(int) $main]->content; ==>Zeile 50/Fehlerzeile
}else if ($xml->page2){
return $xml->page2[(int) $submain]->content;
}
}
function readDescription($main){
global $xml;
return $xml->page[(int) $main]-> description;
}
function readNav($main,$submain){
global $xml;
$navi = '
<div id="nav">
<div id="navWrapper">
<ul>';
foreach ($xml -> page as $value){
$navi .= '<li><a href="Index.php?page='.$value-> navigation.'&id='.$value["id"].'">'.$value -> title.'</a>';
foreach ($xml -> page2 as $wert){
if ((int)$value -> unterseite == (int)$wert -> attributes() -> {'id'}){
$navi .='<ul>
<li><a href="Index.php?page='.$wert-> navigation.'&id='.$wert["id"].'">'.$wert -> title.'</a></li>
</ul>
</li>';
}
}
}
return $navi. '</ul>
</div>
</div>';
}
?>
PHP-Code:
<?php
include_once('databaseHandler.php');
$page = isset($_GET['page']) && $_GET['page'] != '' ? $_GET['page'] : 'home';
$main = isset($_GET['id']) && $_GET['id'] != '' ? $_GET['id'] : '0';
$submain = isset($_GET['id']) && $_GET['id'] != '' ? $_GET['id'] : '0';
function getNav(){
global $main, $submain;
return readNav($main,$submain);
}
function getTitle(){
global $main,$submain;
return readTitle($main,$submain);
}
function getLang(){
global $main,$submain;
return readLang($main,$submain);
}
function getAuthor(){
global $main,$submain;
return readAuthor($main,$submain);
}
function getKeywords(){
global $main,$submain;
return readKeywords($main,$submain);
}
function getDescription(){
global $main,$submain;
return readDescription($main,$submain);
}
function getContent(){
global $main,$submain;
return readContent($main,$submain);
}
?>
PHP-Code:
<?=getContent()?>
Sorry wenn ich den ganzen Code poste weiß aber nicht wie ich es sonst erklären soll, da alle miteinander zusammenhängen.
Kommentar