kostenloser Webspace werbefrei: lima-city


Variable an "Link anhängen"

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    aff3m1tw4ff3

    aff3m1tw4ff3 hat kostenlosen Webspace.

    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
    $xml_meine_bande->gang[0]->name
    läuft wie sie soll,

    hier übergebe ich die URL so
    http://www.pennergame.de/dev/api/gang.123.xml


    Die Ausgabe
    $xml_gegner_bande->gang[0]->name
    gibt nichts aus, hier versuche ich irgendwie die Variable anzuhängen.
    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    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");
  4. Autor dieses Themas

    aff3m1tw4ff3

    aff3m1tw4ff3 hat kostenlosen Webspace.

    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 :biggrin:
  5. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    aff3m1tw4ff3 schrieb:
    Was ich soll ich sagen, Dein Vorschlag läuft natürlich wie immer genau richtig.
    Dir muss nur klar sein, dass du so ein Sicherheitsrisiko hast, da sich so jede Datei laden lässt.

    Wozu nutzt du eigentlich
    mysql_real_escape_string()
    , obwohl du hier nichts mit MySQL machst? Das kannst du dir genausogut sparen!
  6. Autor dieses Themas

    aff3m1tw4ff3

    aff3m1tw4ff3 hat kostenlosen Webspace.

    Der
    mysql_real_escape_string()
    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.


    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
  7. 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!