Problem mit foreach im Array, doppelte Eintraege werden nicht annerkannt

Hat sich erledigt, Chef wills jetzt doch anders, ich soll nen String im XML format schicken.
Ist es einfach in PHP nen String im XML format auszulesen?
Zb:
<response>
<vote scenetype="sc2" title="vote the best">
<choose>
<ID> 0 </ID>
<choice> song1 </choice>
</choose>
<choose>
<ID> 1 </ID>
<choice> song5 </choice>
</choose>
</vote>
</response>
 
Ja aber das ist doch nun XML und nicht mehr URL encoded?!
Kannst du mir auch erklaern was da passiert, ich hab naemlich keine Ahnung :(
 
Du möchtest doch nun nur XML-Daten per POST übertragen und sie anschließend im PHP-Skript empfangen, oder? Genau das ist mit dem genannten Algorithmus möglich. Der Beweis:
PHP:
if( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
    $handle = fopen('php://input', 'r');
    $http_raw_post_data = '';
    while( !feof($handle) ) {
        $http_raw_post_data .= fread($handle, 8192);
    }
    fclose($handle);
    var_dump($http_raw_post_data);
} else {
	$fp = fsockopen($_SERVER['SERVER_NAME'], $_SERVER['SERVER_PORT'], $errno, $errstr, 3);
	$request = <<<REQUEST
POST '.$_SERVER['REQUEST_URI'].' HTTP/1.0
Connection: close
Content-Type: application/xml; charset=utf-8
Content-length: 170

<response><vote scenetype="sc2" title="vote the best"><choose><ID>0</ID><choice>song1</choice></choose><choose><ID>1</ID><choice>song5</choice></choose></vote></response>
REQUEST;
	fwrite($fp, $request);
	$response = '';
	while( $buffer = fread($fp, 8192) ) {
		$response .= $buffer;
	}
	echo htmlspecialchars($response);
	fclose($fp);
}
Als Ausgabe erhältst du die an das Skript selbst per POST-Methode gesendeten Daten, also nur den XML-COde.
 
Ich find es ja nett, wenn du mir hier den Code so postet, nur wenn ich das nun so kopiere hab ich nix von :( Man sollte doch schon verstehen was man kopiert/ schreibt.
 
Du solltest verstehen was ich dir erklären möchte und es nicht einfach kopieren. Nämlich dass mit dem genannten Algorithmus den Körper der POST-Anfrage (also die Nutzlast) ausgelesen werden kann. Genauer gesagt ist es der php://input-Wrapper, auf den ich hinaus will. Das letzte Beispiel ist nur ein Beweis dafür, dass es funktioniert.
 
Er muss dir auch nichts sagen, da ich dir ja bereits die Lösung des Problems in der Form eines fertigen Algorithmus geliefert habe, wie du an die Daten einer POST-Anfrage in der Rohform kommst.
 
Zurück