Variable an "Link anhängen"
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
ausgabe
bande
code
dank
datei
datum
ende
gang echo
gang name
gegner
http
idee
nutzer
sagen
sicherheitsrisiko
url
versuchen
vorschlag
wiedergabe
zeile
-
Hi,
ich grübel nun schon geraume Zeit bei einer Ausgabe von xml Daten in PHP.
Ich möchte dem Link zur XML Datei eine Variable aus PHP übergeben.
Das Ganze läuft wie folgt:
Ich empfange mit PHP POST Eingaben aus einem Formularfeld,
diese Daten prüfe ich und speicher Sie in Variablen ab. Bis dahin klappt das auch alles.
Nun möchte ich die gespeicherte Variable als „Teilstück“ eines Links ausgeben
um eine XML Datei einzulesen. Genau da habe ich mein erstes Problem,
ich bekomme die Variable einfach nicht ausgegeben.
// Verbindungsdaten include("connect.inc.php"); // Starte verbindung $dbverbindung = mysql_connect ($host, $user, $password)or die ("Keine Verbindung zu der Datenbank möglich."); // Empfangene Post-Daten prüfen und in Variablen ablegen $meine_bande = mysql_real_escape_string($_POST["meine_bande"], $dbverbindung); $gegner_bande = mysql_real_escape_string( $_POST["gegner_bande"], $dbverbindung); // Kontrollwiedergabe übergebene Einstellungen echo "Wiedergabe übergebene Formulardaten", "<br>", "<br>"; echo "Deine Banden-ID: ", $meine_bande, "<br>", "Gegner Banden-ID: ", $gegner_bande, "<br>", "<br>"; // Einlesen der XML Datei $xml_meine_bande = simplexml_load_file('http://www.pennergame.de/dev/api/gang.123.xml'); $xml_gegner_bande = simplexml_load_file('http://www.pennergame.de/dev/api/gang.<? echo $gegner_bande ?>.xml'); // Ausgabe der Daten in der XML Datei echo "Wiedergabe der ermittelten Bandeninformationen", "<br>", "<br>"; echo '<br />', "Deine Bande: ", $xml_meine_bande->gang[0]->name, '<br />'; echo "Gegner Bande: ", $xml_gegner_bande->gang[0]->name, '<br />';
Die Ausgabe
läuft wie sie soll,$xml_meine_bande->gang[0]->name
hier übergebe ich die URL sohttp://www.pennergame.de/dev/api/gang.123.xml
Die Ausgabe
gibt nichts aus, hier versuche ich irgendwie die Variable anzuhängen.$xml_gegner_bande->gang[0]->name
http://www.pennergame.de/dev/api/gang.<? echo $gegner_bande ?>.xml
Hoffe man versteht irgendwie was ich möchte, erklärt sich schlecht, vieleicht hat jemand ne Idee oder kann mir sagen das was ich da versuche ist generell nicht möglich.
Danke -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
hackyourlife schrieb:
Du meinst in Zeile 17 in deinem Code?
Wie wäre es einfach so?$xml_gegner_bande = simplexml_load_file("http://www.pennergame.de/dev/api/gang.{$gegner_bande}.xml");
Ja genau das meinte ich.
Was ich soll ich sagen, Dein Vorschlag läuft natürlich wie immer genau richtig.
Da grübelt man ewig und die Lösung is so einfach.
Wie immer Danke für die Hilfe!
Mal schauen wann ich das nächste mal schreie, kann nicht lange dauern bei dem was ich vor habe -
aff3m1tw4ff3 schrieb:
Dir muss nur klar sein, dass du so ein Sicherheitsrisiko hast, da sich so jede Datei laden lässt.
Was ich soll ich sagen, Dein Vorschlag läuft natürlich wie immer genau richtig.
Wozu nutzt du eigentlich
, obwohl du hier nichts mit MySQL machst? Das kannst du dir genausogut sparen!mysql_real_escape_string()
-
Der
ist schon für später vorhanden. Wenn ich die Daten wie gewünscht aus der XML ausgelesen habe sollen am Ende auch einige Daten an die DB übergeben werden.mysql_real_escape_string()
Zum Sicherheitsrisiko:
ich hoffe es ist kein, man kann so nur Links aufrufen die auch aufgerufen werden dürfen.
Also die Idee oder "der Sinn" dahinter ist ja, das der Nutzer am Ende jede vorhandene Datei nutzen kann.
Die XML wird extra für solche Spielerein vom "Anbieter" zur Verfügung gestellt.
Über die "Banden ID", welche der Nutzer im Formular angibt wird eine passende XML gewählt und
die Informationen ausgelesen, in diesem Fall sind es Infos über Bandenmitglieder ( Namen, Punkte...)
$xml_meine_bande->gang[0]->memberlist->member->name
So sieht das derzeit aus, hier Versuche ich mich nun gerade mit der Ausgabe aller vorhandenen Namen.
Geht natürlcih noch nicht wie ich es will, so kommt nur der erste Name der gefunden wird,
die Lösung scheint ein array zu sein?
tante Edit:
mit foreach gelöst
Beitrag zuletzt geändert: 26.11.2012 23:02:19 von aff3m1tw4ff3 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage