Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

mit PHP EINE best. Zeile in XML überschreiben





Frage

Hi, ich versuch nun schon seit 2 Wochen mit PHP eine Zeile in einer XML-Datei durch eine neue zu ersetzen; bin leider was PHP betrifft blutiger Anfänger :-( Prinzipiell geht es darum: Man soll online die Einträge zu einer Diashow, die in Flash programmiert ist beschriften können, bzw. Beschriftungen ändern. Die Variablen sind z.B Bildtitel, (Entstehungs-)Jahr, Anmerkungen, usw. Gespeichert sind die Variablen in einer .xml Datei nach folgendem Muster: [code] <?xml version"1.0"?> <Bilder> <Bild bildtitel="In dieser Zeile nichts ändern!" jahr="Erscheinungsjahr" groesse="10 x 20" technik="Acryl" anmerkungen="Hier muss nichts stehen" ></Bild> <Bild bildtitel="Theatinerkirche" jahr="2003" groesse="30 x 40" technik="Aquarell" anmerkungen="Dieses Bild ist besonders toll" ></Bild> <Bild bildtitel="Hofgarten" jahr="2001" groesse="30 x 40" technik="Aquarell" anmerkungen="" ></Bild> <Bild bildtitel="Hofgarten" jahr="2001" groesse="30 x 40" technik="Aquarell" anmerkungen="" ></Bild> //usw. </Bilder> [/code] Wenn man auf ein kleinen Thumbnail klickt, liest Flash die zugehörigen Variablen aus, diese kann man dann in diversten Textfeldern bearbeiten (klappt wunderbar) und wenn man auf speichern klickt, sollte das admin.php-Skript die Variablen aus den Textfeldern wieder in die xml Datei reinschreiben und zwar in die Zeile, in der sie zuvor ausgelesen wurden, da es sich ja um ein bestimmtes Bild handelt. Ich schaffe es, die Variablen an php zu übergeben, eine Zeile der Form [code]<Bild bildtitel="Nymphenburger Park" jahr="2003" groesse="30 x 40" technik="Aquarell" anmerkungen="" ></Bild>[/code] zu generieren und in einer leeren .xml Datei abzuspeichern. Aber ich schaffe es nicht, dass das Skript zu Zeile xy (Die Variable kann ich leicht übermitteln lassen) in der xml Datei springt, die Zeile komplett löscht und dann an genau dieser Stelle die neu generierte Zeile einfügt. :-( Ich bin wirklich am Verzweifeln und mit Links zu anderen Threads ist mir glaube ich nicht weitergeholfen, da ich inzwischen wohl fast jeden gelesen haben müsste - ohne Erfolg. Tut mir Leid, aber ich kenne mich mit der php sprache überhaupt nicht aus. Wäre super, wenn du kurz eine Antwort schreiben könntest, ich denke, für einen Profi ist mein Problem eigentlich gar nicht so schwer... oder? Merci!

Antwort 1 von Beezle-Bug

Ach so, ich kann euch ja mal den bisherigen code geben ;-)
Hier sieht man, welche Variablen von Flash gesandt werden (var_nummer entspräche dann der Zeilennummer, die geändert werden müsste)


<?php
   //Capture data from $_POST array

   $title = $_POST[´Title´];
   
$var_nummer = $_POST[´var_nummer´];
$var_bildtitel = $_POST[´var_bildtitel´];
$var_jahr = $_POST[´var_jahr´];
$var_technik = $_POST[´var_technik´];
$var_anmerkungen = $_POST[´var_anmerkungen´];
   
 


   //Make one big string in a format Flash understands and save it to counter.xml
   $toSaveXML = "<Bild bildtitel=".$var_bildtitel." jahr=".$var_jahr." groesse=".$var_groesse." technik=".$var_technik." anmerkungen=".$var_anmerkungen." ></Bild>";
//Open a file in write mode
   $fp = fopen("counter.xml", "w");
   if(fwrite($fp, $toSaveXML)) echo "writing=Ok";
   else echo "writing=Error";
   fclose($fp);   
   }
?>


Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: