kostenloser Webspace werbefrei: lima-city


Ersetzen: Problem

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    zualio

    zualio hat kostenlosen Webspace.

    Hi!

    Ich habe ein Problem: Ich mache gerade aus Spaß ein Programm, welches aus einer Textdatei (Datenbankteil) Daten ausliest und diese in anderer Form ausgibt (Ausgabeteil). Nun klappt das allerdings nicht so wie ich dachte.

    Das Konzept ist folgendes:

    -Benutzer gibt Textdatei an
    -Daten werden ausgelesen
    -Daten werden in Mehrdimensionalen Array geladen, dessen Assoziativer Schlüssel der Name des Objekts ist
    -Platzhalter in Templatefiles werden mit den Daten ersetzt und ausgegeben

    Leider funktioniert das alles nicht so wie ich dachte.
    Könnt ihr mir helfen?

    Index.php:
    <?php
    			if (!$_POST["gesendet"]) {
    				//Wenn noch keine Datei gesendet wurde, zeige das Formular an
    					include "Interface.html";
    				
    			} else {
    				//Öffne Datei
    					$datei = fopen($_POST["localfile"], "r");
    				
    				//Datenbank aus Datei erstellen
    					while (!feof($datei)) {
    						//Datei Zeile für Zeile auslesen und in Datenbank schreiben
    						$text=fgets($datei);
    						
    						If (substr($text,0,3)=="Name=") {	
    							$Name = substr($text,4);
    							$Database[$Name][$Name] = $Name;
    						} else {
    							$pos = strpos($text, "=");
    							If ($pos) {
    								$name=substr($text,0,$pos);
    								$inhalt=substr($text,$pos+2);
    								$Database[$Name][$name]=$inhalt;
    							}
    						}
    					}
    					//Datenbank sortieren
    					krsort($Database);
    					
    				fclose($datei);
    				
    				//Datenbank und Templates einarbeiten
    				
    					$template_path = "templates/" . $_POST["template"] . "/";
    					
    					//Öffne Headerdatei
    						$datei=fopen($template_path . "header.tpl", "r");
    						while (!feof($datei)) {
    							$temp = fgets($datei);
    							$tpl_header = $tpl_header . $temp . "<br>";
    						}
    						fclose($datei);
    					
    					//Öffne Eintragsdatei
    						$datei=fopen($template_path . "eintrag.tpl", "r");
    						while (!feof($datei)) {
    							$temp = fgets($datei);
    							$tpl_eintrag = $tpl_eintrag . $temp . "<br>";
    						}
    						fclose($datei);
    					
    					//Öffne Footherdatei
    						$datei=fopen($template_path . "foother.tpl", "r");
    						while (!feof($datei)) {
    							$temp = fgets($datei);
    							$tpl_foother = $tpl_foother . $temp . "<br>";
    						}
    						fclose($datei);
    					
    					//Daten einarbeiten
    						
    						//Beiträge
    							foreach($Database as $Array){
    							$temp_eintrag = $tpl_eintrag;
    								foreach($Array as $key => $wert) {
    									$key = "||" . $key . "||";
    									$temp_eintrag = str_replace ($key, $wert, $temp_eintrag);
    									$header = str_replace($key, $wert, $tpl_header);
    									$foother = str_replace($key, $wert, $tpl_foother);
    								}
    							$eintrag = $eintrag . $temp_eintrag;
    							}
    						
    						//Zusammenfassen (Entmontierung)
    							$ergebnis = $header . $eintrag . $foother;
    					
    				//Ausgabe
    				echo "<html><head><title>Ausgabe</title></head><body>" . $ergebnis . "</body> </html>";
    				
    			}
    		?>


    Templates/Wiki-Babel/Eintrag.tpl


    | ||Name||
    | <code><nowiki>{{</nowiki>[[||Ort||]]<nowiki>}}</nowiki></code>
    | ||Komentar||
    | {{||Ort||}}
    |-


    Templates/Wiki-Babel/Header.tpl


    {|border="1" width="100"
    !Name
    !Ort
    !Kommentar
    !Beispiel
    |-


    Templates/Wiki-Babel/foother.tpl


    |}


    Auszulesende Datei:


    --ID 1
    Name= Herkunft: Aus dem Taunus
    Ort= Benutzer:Vorlage/aus dem Taunus
    Kommentar=

    --ID 2
    Name= Herkunft: Aus Weilrod
    Ort= Benutzer:Zualio/aus Weilrod
    Kommentar=


    Doch die Ausgabe ist folgende:


    {|border="1" width="100"
    !Name
    !Ort
    !Kommentar
    !Beispiel
    |-
    | Herkunft: Aus Weilrod
    | {{[[Benutzer:Zualio/aus Weilrod ]]}}
    | ||Komentar||
    | {{Benutzer:Zualio/aus Weilrod }}
    |-
    |}


    Aber eigentlich sollte sie so sein:


    {|border="1" width="100"
    !Name
    !Ort
    !Kommentar
    !Beispiel
    |-
    | Herkunft: Aus dem Taunus
    | <code><nowiki>{{</nowiki>[[||Benutzer:Vorlage/aus dem Taunus||]]<nowiki>}}</nowiki></code>
    |
    | {{Benutzer:Zualio/aus dem Taunus}}
    |-
    | Herkunft: Aus Weilrod
    | <code><nowiki>{{</nowiki>[[||Benutzer:Vorlage/aus Weilrod||]]<nowiki>}}</nowiki></code>
    |
    | {{Benutzer:Zualio/aus Weilrod}}
    |-
    |}


    Die Datei interface.html zeigt nur ein Formular zur Datenübergabe ein. Das müsste alles stimmen. Nur wieso wird es im Endeffekt nicht richtig angezeigt?
    Hilfe!

    Zualio


    Beitrag geaendert: 1.12.2006 2:46:13 von zualio
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Autor dieses Themas

    zualio

    zualio hat kostenlosen Webspace.

    Ich weiß, das sieht alles ziemlich kompliziert aus, aber eigentlich ist es ganz einfach.

    Ich habe die Dateien alle in ein Zip-Archiv gepackt. Das müsste alles viel übersichtlicher machen:

    http://download.lima-city.de:81/zualio/PHPDatabase.zip
  4. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!