php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.10.2006, 07:35  
Neuer Benutzer
 
Registriert seit: 23.08.2005
Beiträge: 6
edv-rs
Standard Array per Post, Fehler bei unserialize

Hallo,

ich möchte ein Array per Post übergeben. Beim unserialize kommt es aber bei error_reporting(E_ALL); zu einer Fehlermeldung.

Serialisierung:
...
<input type="hidden" name="titel" value="Quark" />
<?php $tmp = array("tpbs1","tpbs2","tpb01");
$arrTabellen = serialize($tmp);
?>
<input type="hidden" name="arrTabellen" value="<?php echo $arrTabellen; ?>" />
...

Auflösung:
...
$arrTabellen = (isset($_POST['arrTabellen'])) ? unserialize($_POST['arrTabellen']) : "";
...

Fehlermeldung:
Notice: unserialize() [function.unserialize]: Error at offset 9 of 13 bytes in Z:\XXX\init.php on line 43

Ich habe auch schon unserialize gleich nach dem serialize durchgeführt, hier wird das Array korrekt "entpackt". in meiner init.php steht in der Ausgabe eine 1. Wenn ich mir serialize($tmp) innerhalb des Formulars anzeigen lassen, sieht es so aus: a:3:{i:0;s:5:

Das neunte Byte ist wohl das Semikolon.

Hat jemand eine Idee?

Danke für Eure Bemühungen - Rainer
edv-rs ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 19.10.2006, 10:33  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Hallo,
das Problem wird wahrscheinlich daran liegen, dass der php.ini Flag "magic_quotes_gpc" auf "On" ist und somit alle eingehenden Superglobalen ($_GET, $_POST, $_COOKIE, ..) mit der Funktion addslashes() versehen werden.
Es könnte sein, dass ein simples stripslashes() auf dein $_POST['arrTabellen'] reicht.

Ich empfehl dir aber zur Sicherheit entweder base64_encode() oder urlencode() über den serialisierten String laufen zu lassen.
Dann bist du auf der sicheren Seite und es kann dann auch nicht passieren, dass zuviel Slashes "gestripped" werden.

PHP-Code:
<?php
$sSerialized 
urlencode(serialize($aArray));
// auslesen:
$aArray urldecode(unserialize($_POST['sSerialized']));
?>
Zergling-new ist offline  
Alt 19.10.2006, 10:55  
Neuer Benutzer
 
Registriert seit: 23.08.2005
Beiträge: 6
edv-rs
Standard

Hallo,

magic_quotes_gpc steht auf ON.

Vielen Dank, nach einigem Probieren klappt es nun. In Deiner Zeile 4 muss urldecode und unserialize vertauscht werden, dann klappt es.

Gruß und Dank Rainer
edv-rs ist offline  
Alt 19.10.2006, 11:04  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Jep.
Zergling-new 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
POST-Übergabe des Array $_FILES mit CURL Frank Burian PHP-Fortgeschrittene 10 19.11.2008 17:06
Soapfault: Undefined Property Argi PHP-Fortgeschrittene 0 28.07.2008 11:17
mehrdimensionales Array als HTML-Formular mindhead PHP Tipps 2008 3 11.04.2008 15:25
Kategoriedaten rekursiv in Array bringen Schiedsrichter PHP Tipps 2008 2 10.12.2007 15:43
Grundlegendes Array Verständnis Patrick Schwarz PHP Tipps 2008 7 28.09.2007 13:42
ARRAY: alle möglichen Kombinationen Tentacle PHP Tipps 2006 13 12.05.2006 00:18
Array auslesen andrew22 PHP Tipps 2006 3 21.01.2006 23:06
Array Formatierung PHP Tipps 2006 3 17.01.2006 19:12
(schnellere) Funktion zum Zusammenfassen von CSS PHP-Fortgeschrittene 21 08.08.2005 16:47
Fehler im unserialize? PHP Tipps 2005 4 20.04.2005 17:35
Abfrage mit id aus anderer Tabelle suter PHP Tipps 2004-2 15 16.12.2004 14:25
Array mit GET und POST transportieren Mutatos PHP Tipps 2004-2 1 07.12.2004 17:37
Was ist hier mit Schleife und mehrdimensionalen Array falsch PHP Tipps 2004 8 25.10.2004 14:02
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
unserialize() [function.unserialize]: error at offset, php unserialize array, php serialize array, notice: unserialize() [function.unserialize]: error at offset, array per post übergeben, unserialize array, array per post, php array unserialize, fehler bei unserialize, php serialize post, php unserialize post, unserialize function.unserialize error at offset, php post serialize, array mit post übergeben, php unserialize error at offset, php post array, post array übergeben, unserialize php array, php serialize array post, array post übergeben

Alle Zeitangaben in WEZ +2. Es ist jetzt 14: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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.