XChris
Erfahrenes Mitglied
Hallo,
ich denke, dies ist ein PHP Problem. Ich bastle ein XML um es auf einen Webserver zu schieben. Der Client (in Delphi.net) schreibt in einen Stream und auf einem Webserver soll PHP die Daten auffangen.
Mein XML:
Mein PHP Code:
und in einer ausgelagerten Datei:
Nun erhalte ich im Client folgende Fehlermeldung:
Sicherheitshalber, habe ich mir (siehe oben) die POST Variable, nachdem ich sie umgeformt habe nochmal in eine Datei geschrieben (Orginal aus dem PHP file, kurz vor dem Aufruf der SimpleXMLElement Instanzierung):
Eigentlich sollte mein Problem trival sein. Ich bekomme über POST einen Datenhaufen, den ich untersuchen möchte und dann als STRING in ein SimpleXMLElement Stopfen. Dies sollte eigentlich so gehen:
$xml = new SimpleXMLElement($xmlstr);
Aber seit 3 Tagen ärgere ich mich mit diesen Sch .... rum. Wäre über Hilfe in PHP sehr dankbar.
Chris
ich denke, dies ist ein PHP Problem. Ich bastle ein XML um es auf einen Webserver zu schieben. Der Client (in Delphi.net) schreibt in einen Stream und auf einem Webserver soll PHP die Daten auffangen.
Mein XML:
PHP:
<?xml version="1.0" encoding="charset=ISO-8859-1"?>
<EnvCrypt xmlns="http://192.168.0.203/EnvisysWebService/Server/envisys.xsd">
<Info>Register</Info>
<Version>1.0</Version>
<Data>Datenklumpen#/?-0</Data>
</EnvCrypt>
Mein PHP Code:
PHP:
<?php
header("Content-type: text/plain");
include("lib/serverlib_registrierung.php");
// Aufbereiten
foreach($_POST as $k=>$v) $Inhalt = $k.$v;
if (get_magic_quotes_gpc())
{
$Inhalt = stripslashes($Inhalt);
}
$Inhalt = str_replace("_"," ", $Inhalt);
// In eine Datei
$text=$Inhalt;
$fp = fopen ("test.txt" , "a+"); // Datei öffnen
fwrite ($fp , $text); // Datei-Inhalt in die Datei schreiben
fclose ($fp); // Datei schließen
// XML
$XMLPars = new Registrierung($Inhalt);
?>
und in einer ausgelagerten Datei:
PHP:
<?php
header("Content-type: text/plain");
//include("lib/serverlib_db.php");
class Registrierung
{
private $xml;
public function Registrierung($temp)
{
$xml = simplexml_load_string($temp);
}
public function ExecuteReg()
{
$db = new DBAccess($this->xml);
$db->Registration();
// TODO: Weiter
}
}
?>
Nun erhalte ich im Client folgende Fehlermeldung:
OK<br />
<b>Warning</b>: simplexml_load_string() [<a href='function.simplexml-load-string'>function.simplexml-load-string</a>]: Entity: line 1: parser error : expected '=' in <b>C:\wamp\www\EnvisysWebService\Server\lib\serverlib_registrierung.php</b> on line <b>19</b><br />
<br />
<b>Warning</b>: simplexml_load_string() [<a href='function.simplexml-load-string'>function.simplexml-load-string</a>]: <?xml version"1.0" encoding="charset=ISO-8859-1"?> in <b>C:\wamp\www\EnvisysWebService\Server\lib\serverlib_registrierung.php</b> on line <b>19</b><br />
<br />
<b>Warning</b>: simplexml_load_string() [<a href='function.simplexml-load-string'>function.simplexml-load-string</a>]: ^ in <b>C:\wamp\www\EnvisysWebService\Server\lib\serverlib_registrierung.php</b> on line <b>19</b><br />
<br />
<b>Warning</b>: simplexml_load_string() [<a href='function.simplexml-load-string'>function.simplexml-load-string</a>]: Entity: line 1: parser error : Malformed declaration expecting version in <b>C:\wamp\www\EnvisysWebService\Server\lib\serverlib_registrierung.php</b> on line <b>19</b><br />
<br />
<b>Warning</b>: simplexml_load_string() [<a href='function.simplexml-load-string'>function.simplexml-load-string</a>]: <?xml version"1.0" encoding="charset=ISO-8859-1"?> in <b>C:\wamp\www\EnvisysWebService\Server\lib\serverlib_registrierung.php</b> on line <b>19</b><br />
<br />
<b>Warning</b>: simplexml_load_string() [<a href='function.simplexml-load-string'>function.simplexml-load-string</a>]: ^ in <b>C:\wamp\www\EnvisysWebService\Server\lib\serverlib_registrierung.php</b> on line <b>19</b><br />
<br />
<b>Warning</b>: simplexml_load_string() [<a href='function.simplexml-load-string'>function.simplexml-load-string</a>]: Entity: line 1: parser error : Blank needed here in <b>C:\wamp\www\EnvisysWebService\Server\lib\serverlib_registrierung.php</b> on line <b>19</b><br />
<br />
<b>Warning</b>: simplexml_load_string() [<a href='function.simplexml-load-string'>function.simplexml-load-string</a>]: <?xml version"1.0" encoding="charset=ISO-8859-1"?> in <b>C:\wamp\www\EnvisysWebService\Server\lib\serverlib_registrierung.php</b> on line <b>19</b><br />
<br />
<b>Warning</b>: simplexml_load_string() [<a href='function.simplexml-load-string'>function.simplexml-load-string</a>]: ^ in <b>C:\wamp\www\EnvisysWebService\Server\lib\serverlib_registrierung.php</b> on line <b>19</b><br />
<br />
<b>Warning</b>: simplexml_load_string() [<a href='function.simplexml-load-string'>function.simplexml-load-string</a>]: Entity: line 1: parser error : parsing XML declaration: '?>' expected in <b>C:\wamp\www\EnvisysWebService\Server\lib\serverlib_registrierung.php</b> on line <b>19</b><br />
<br />
<b>Warning</b>: simplexml_load_string() [<a href='function.simplexml-load-string'>function.simplexml-load-string</a>]: <?xml version"1.0" encoding="charset=ISO-8859-1"?> in <b>C:\wamp\www\EnvisysWebService\Server\lib\serverlib_registrierung.php</b> on line <b>19</b><br />
<br />
<b>Warning</b>: simplexml_load_string() [<a href='function.simplexml-load-string'>function.simplexml-load-string</a>]: ^ in <b>C:\wamp\www\EnvisysWebService\Server\lib\serverlib_registrierung.php</b> on line <b>19</b><br />
Sicherheitshalber, habe ich mir (siehe oben) die POST Variable, nachdem ich sie umgeformt habe nochmal in eine Datei geschrieben (Orginal aus dem PHP file, kurz vor dem Aufruf der SimpleXMLElement Instanzierung):
<?xml version"1.0" encoding="charset=ISO-8859-1"?>
<EnvCrypt xmlns="http://192.168.0.203/EnvisysWebService/Server/envisys.xsd">
<Info>Register</Info>
<Version>1.0</Version>
<Data>Datenklumpen#/?-0</Data>
</EnvCrypt>
Eigentlich sollte mein Problem trival sein. Ich bekomme über POST einen Datenhaufen, den ich untersuchen möchte und dann als STRING in ein SimpleXMLElement Stopfen. Dies sollte eigentlich so gehen:
$xml = new SimpleXMLElement($xmlstr);
Aber seit 3 Tagen ärgere ich mich mit diesen Sch .... rum. Wäre über Hilfe in PHP sehr dankbar.
Chris