php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.11.2008, 04:05  
Erfahrener Benutzer
 
Registriert seit: 29.08.2008
Beiträge: 777
halskrause wird schon bald berühmt werden
Standard sowas wie include...

Folgendes Problem:
Ich will einige Zeilen in einem XML Syntax innerhalb des gleichen Scripts einbauen, um dann mit simpleXML den Inhalt auslesen zu können. Die XML krieg ich per "POST". Und diese wird dann "urldekodiert"
Ich kenne die Funktion "include". Und genau sowas ähnliches brauch ich nun um die Zeilen erst einmal in dieses Syntax zu kriegen.
Das wäre wie folgt:

Code:
$xmlmsg = $HTTP_POST_VARS[xmlmsg];
$xmlmsg = urldecode("$xmlmsg");

$xmlstr = <<<XML
   // Und hier sollen die urldekodierten Zeilen kommen
XML;
Habe ich einen Denkfehler? Oder würde das gehen?
Wann ja, wie kriege ich $xmlmsg zwischen diese Zeilen, so dass simpleXML es weiter unten lesen kann (noch innerhalb des Scriptes).
halskrause ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 19.11.2008, 09:06  
Erfahrener Benutzer
 
Benutzerbild von byFd
 
Registriert seit: 06.11.2008
Beiträge: 154
byFd befindet sich auf einem aufstrebenden Ast
Standard

simplexml_load_string ist das was du suchst, wenn ich dich richtig verstanden habe.
Und wieso willst du deine xmlsuppe die schon in nem String steht, nochmal in nen String schreiben?
und was das ganze mit include zu tun hat versteht ich immer noch nicht.
und bitte benutze $_POST, nicht $HTTP_POST_VARS das ist deprecated. Es sei denn deine PHP Version ist < 4.1.0
Achja und Indexe in Arrays bitte immer in Hochkommata setzen, oder hast du eine Konstante xmlmsg definiert?
Und die Anführungszeichen um die Variable in urldecode() kannst du dir auch sparen. Du könntest sogar deine ersten beiden Zeilen zu einer zusammenfassen.
byFd ist offline  
Alt 19.11.2008, 12:06  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Bist Du Dir absolut sicher, dass Du das urldecode() an der Stelle brauchst?
David ist offline  
Alt 19.11.2008, 12:21  
Erfahrener Benutzer
 
Registriert seit: 29.08.2008
Beiträge: 777
halskrause wird schon bald berühmt werden
Standard

Mein Problem ist, dass alle Beispiele von simpleXML so anfangen:
Code:
$string = <<<XML 
Einmal in diese Form gebracht, ist es ja sehr gut dokumentiert.


PS: Es geht bei der Geschichte um eine PremiumSMS Kiste. Jeder Fehlversuch bei der Einrichtung würde mich 6€ kosten. Deswegen will die Sache erst einmal vestehen...
halskrause ist offline  
Alt 19.11.2008, 12:26  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Das nennt sich heredoc.
Da wird einfach nur (irgendeine) eine Zeichenkette erzeugt.

In den Beispielen könnte genauso gut
PHP-Code:
$string '<root>
  <a></a>
  ...
</root>'

oder
PHP-Code:
$cfile_get_contents('irgendwas');
$x = new SimpleXMLElement($c); 
stehen. Zeichenkette ist Zeichenkette für PHP.
Diese Zeichenkette wird dann einer Funktion/Methode übergeben, die XML als Zeichenkette verarbeitet und erst dort bekommt der Inhalt eine Bedeutung. Vorher ist es PHP selbst völlig egal, was Du in die Zeichenkette reinschreibst oder wie Du sie zusammenbaust solange Du die Syntax beachtest.

Geändert von David (19.11.2008 um 12:30 Uhr).
David ist offline  
Alt 19.11.2008, 12:27  
Erfahrener Benutzer
 
Registriert seit: 29.08.2008
Beiträge: 777
halskrause wird schon bald berühmt werden
Standard

Hi David.
Nein. Ich bin mir nicht sicher.
Ich habe ein finales Besispiel von denen bekommen, wo die POST Datei nach urldecde exakt so aussieht:

Code:
<?xml version=”1.0” encoding=”ISO-8859-1”?>
<test>
    <incoming_date>2002-10-16 13:13:08</incoming_date>
    <sc>12345</sc>
    <message>Hallo, das ist ein Test</message>
    <test2>0</test>
</test>
Ich weiss nicht, wie die Ursprungsvariante vor dem ulrdecode aussieht.
halskrause ist offline  
Alt 19.11.2008, 12:35  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Zitat:
Zitat von halskrause Beitrag anzeigen
Ich weiss nicht, wie die Ursprungsvariante vor dem ulrdecode aussieht.
Schau es Dir doch einfach an

urldecode() brauchst Du hier nur, wenn auf der Senderseite unnötigerweise zweil Mal urlencode() verwendet wurde.
David ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
include() ersetzen Shadow21 PHP Tipps 2006 3 30.08.2008 14:13
include isoliert ausführen – Lösungsansatz gesucht veit PHP-Fortgeschrittene 8 09.04.2008 09:26
hinter include wird eine 1 angezeigt |~Râdîant~| PHP Tipps 2008 8 19.09.2007 13:52
include Dateien wieder ausängen o.Ä. netti PHP Tipps 2007 8 17.12.2006 15:14
include problem Canni PHP Tipps 2006 26 14.11.2006 14:24
include - get - big problem Buschdieb PHP-Fortgeschrittene 6 14.04.2006 20:28
include, nur bestimmten teil neu laden Calli PHP Tipps 2006 2 27.01.2006 15:57
Auf Firmen-Server funzt kein include aus fremden Verzeichnis PHP-Fortgeschrittene 3 19.07.2005 16:49
[Erledigt] Include liegt in einem anderen Verzeichnis - es geht nix PHP Tipps 2005-2 3 03.07.2005 22:40
[Erledigt] Sessions auch bei include aktiv? PHP Tipps 2005 1 28.02.2005 19:58
Probleme mit include PHP Tipps 2004-2 2 23.12.2004 19:19
[Erledigt] Problemme mit include... PHP Tipps 2004-2 6 30.11.2004 12:20
HTTP_GET_VARS + Include = Array leer PHP Tipps 2004-2 3 24.11.2004 15:12
include Problem andrew22 PHP Tipps 2004 26 10.09.2004 16:04
include() und die performance PHP-Fortgeschrittene 11 24.06.2004 19:04

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php sowas wie include, wie include

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:20 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum