Problem mit foreach im Array, doppelte Eintraege werden nicht annerkannt

MiMi

Erfahrenes Mitglied
Hi

habe volgende POST den ich via meiner J2ME Application zum Server sende

type=sc2&voteC0=2&voteV0=choose2&type=sc2&voteC1=4&voteV1=choose4&type=sc3&inputC0=1&inputV0=mjgjmgjmg

Nun sind hier aber doppelte Eintrage.
Lauf ich nun den Post durch und der ignoriert einfach die doppelten Eintrage

Mein PHP code
PHP:
        foreach ($_POST as $key=>$value){
                echo $key.': '.$value . "\n";
        }

Und die Ausgabe
type: sc3
voteC0: 2
voteV0: choose2
voteC1: 4
voteV1: choose4
inputC0: 1
inputV0: mjgjmgjmg

D.h. er nimmt einfach den letzten typ:sc3
Ich will aber das er alle Eintrage uebernimmt auch wenn es schon einen mit dem jeweiligen Key gibt. Hoffe jemand kann mir helfen, ich hab ncoh net so viel Ahnung von PHP
 
Hm, gibt es denn irgendwie sonst ne moeglichkeit? Oder muss ich da echt nen Zaehler hintersetzen ala: type1 = sc3, type2 =sc2, type3=sc3
 
Da die POST-Daten nicht in der Rohform vorliegen, die du dann verarbeiten könntest – zumindest bietet PHP keine mir bekannte Möglichkeit dafür –, bleibt dir wohl nichts anderes übrig.
 
Es ist nicht möglich die Anfrage in Klartext, also so wie sie beim Server eintrifft, zu verarbeiten.
 
Ich schicke es per Post, so
type=sc2&voteC0=2&voteV0=choose2&type=sc2&voteC1=4&voteV1=choose4&type=sc3&inputC0=1&inputV0=mjgjmgj mg
zum server, also kommt es doch auch so an.


Und nochmal meine frage, ob die Values gleich sein duerfen?!
 
Es gibt doch eine Möglichkeit:
PHP:
if( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
	$handle = fopen('php://input', 'rb');
	$http_raw_post_data = '';
	while( !feof($handle) ) {
		$http_raw_post_data .= fread($handle, 8192);
	}
	fclose($handle);
	var_dump($http_raw_post_data);
}
 
Zurück