Eurokicker
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 25.08.2002, 15:26   #1
seb
TP-Veteran
 
Registriert seit: Jan 2002
seb bringt sich richtig einseb bringt sich richtig ein

Array -> Deserialisierung schlägt fehl


Ich möchte ein Array serialisieren und in einer MySQL-Textspalte speichern, um es schließlich wieder deserialisieren und weiterverwenden zu können.

Was ansich einwandfrei funktioniert, schlägt fehl, sobald dieses Array String-Elemente mit Zeichen enthält, die zum Speichern in der Datenbank 'geescapet' werden müssen (also Backslash vornedran, wie z.B. einfache Anführungsstriche ').

Der so modifizierte String kann dann zwar gespeichert, allerdings nicht mehr von unserialize() geparst werden, um das ursprüngliche Array zu rekonstruieren.

Wer weiß, wie man da Abhilfe schafft?
seb ist offline   Mit Zitat antworten


Alt 25.08.2002, 15:29   #2
seb
TP-Veteran
 
Registriert seit: Jan 2002
seb bringt sich richtig einseb bringt sich richtig ein
Okay, voreiliges Posting, hat sich erledigt und Entschuldigung :|
seb ist offline   Mit Zitat antworten
Alt 26.08.2002, 08:13   #3
TP-Moderator
 
Benutzerbild von Stuck Mojo
 
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
Stuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKE
und? was war jetzt das Problem? funktionierte stripslashes() ?? Rein interresehalber...
Stuck Mojo ist offline   Mit Zitat antworten
Alt 26.08.2002, 12:48   #4
seb
TP-Veteran
 
Registriert seit: Jan 2002
seb bringt sich richtig einseb bringt sich richtig ein
Das Problem entstand dadurch, dass Formulardaten ja bereits automatisch geescapet werden. So hatte ich sie einfach in mein Array geschrieben, selbiges serialisiert, gespeichert und wieder deserialisiert - klappte wie berichtet nur dann, wenn in den Array-Elementen keine einfachen Anführungsstriche vorkamen.

Jetzt mach ich die Formulareingaben vor dem Einsetzen in das zu serialisierende Array per stripslashes() sauber und wende anschließend addslahes() auf den serialisierten String an, also so:

PHP-Code:
$data['firstname'] = stripslashes($_REQUEST['firstname'];
$data['lastname'] = stripslashes($_REQUEST['lastname'];
...

$data_string addslashes(serialize($data)); 
Deserialisiert wird dann einfach umgekehrt, erst stripslashes(), dann unserialize:

PHP-Code:
unserialize(stripslashes($row['object'])) 
So klappts jedenfalls perfekt.
seb ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
Array -> Deserialisierung schlägt fehl Array -> Deserialisierung schlägt fehl
« Newsskript mit Bildupload gesucht | Code Parsen »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
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


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:59 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67