• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Ajax/PHP: unserialize() führt zu falschem Ergebnis

T

ToM80

Guest
Ich habe eine AJAX Anwendung in dem ich ein serialisiertes Array mittels POST an ein PHP-Script übermittel.

Hier möchte ich das Array wieder "scharf machen" mittels unserialize. Jedoch hatte ich im späteren Verlauf meiner Anwendung Fehlermeldungen, dass kein Array vorliegt. Nun habe ich einen Test gemacht und das ganze un- und dann wieder serialized und es mir ausgeben lassen. Das Array passte einfach nicht. Habe es dann mit einem leeren Array versucht, ebenfalls gescheitert.

Hier nun mein Code und die Ausgaben:
PHP:
PHP:
$aktArr=stripslashes($aktArr);
echo $aktArr.'<br /><br />';
Ausgabe:
Code:
a:0:{}
PHP
PHP:
unserialize($aktArr);
echo serialize($aktArr);
Ausgabe:
PHP:
s:6:"a:0:{}";

Wo ist mein Denkfehler?

Das serialisierte Array beziehe ich aus einem Formularfeld.
Hier mein JS:
PHP:
function chgSort(thID,thCn) {
  var aktion='chgSort';
  var params='aktion='+aktion;
  var tmp=document.getElementById(thID).className.split(' ');
  tmp=tmp[1].split('_');
  params+='&actField='+tmp[1];
  params+='&actClass='+tmp[0];
  params+='&aktArr='+document.getElementsByName('hiddenArr')[0].value;
  loadXML(url,'post',params,ajaxResult,aktion);
}
 
Man sollte nicht mit Fieber rumprogrammieren.
Problem ist gelöst ich hatte einfach die Variablenzuordnung vergessen.
Richtig ist:
PHP:
$aktArr=unserialize($aktArr);
 
Zurück
Oben