WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » array verschicken und wieder auslesen » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von raiserle
hmm
und diese fehlermeldung bekommst du immer, auch wenn du einfach mal was anders
einträgst?

ich seh da nicht wirklich warum der fehler passiert, aber einen logischen fehler
in zeile 9 prüfst du ob der serialized_string1 ein array sein sollte...
kann er ja nicht sein, weil du oben auf uaaahhh das array zurück gibst.

"test"

was mich auch noch wundert, warum in dem string \"wert\" steht und nicht "wert"
dachte es liegt gerade am forum... machts aber nicht. ich würde dort darauf tippen

vielleicht weis jemand anderes noch ein rat, magic_quotes oder sowas

du kannst ja auch mal im quelltext gucken, was bei dem serialized string steht
von elster
Hallo,

Danke!
Sorry, ich überblicke noch nicht so ganz, was im serelized-Fall wichtig
ist.


ein array wird zunächst gleich nach der while-Schleifen-Anweisung
durch if-Kontrolle gefüllt, die y-markiert von nicht-markiert
unterscheiden soll:
1: 
2: 
3: 
4: 
5: 
6:
 
              if ($vw['wun'] == 'y') {
                   $arr_y_alt[] = $vw['ligaid']; $c = ' checked=\'checked\'';
                        } else {
                   $arr_n_alt[] = $vw['ligaid']; $c ='';  }


Anschließend folgt ein "Tabellengenerator" mit checkbox,die checkd darstellt
und diese zugleich in array sammelt (obiges könnt man auch weglassen ?...),
dann Tabelle und Form schließen:
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10:
 
echo "<tr> ...
      <td><input type='Checkbox' name='u_wun[$vw[ligaid]]'$c></td>
                    </tr>\n";    }
       echo "</table> \n";
       $serialized_string1 = serialize($arr_n_alt);
       echo "<input type='hidden' name='serialized_string1' value='$serialized_string1'>
      </form>



Beim Abschicken und Wiederaufruf, gerät alles an folgende
beiden Kontrollstrukturen:
1: 
2: 
3: 
4:
 
// ------- Selektion chequen + dazu Spez.-query generieren ----------
     if (isset($_GET['Sort']))   {
...

uninteressant, sowie:
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17:
 
// ------- unserialize ----------
if (isset($_REQUEST['u_wun'])) {
    reset($_REQUEST['u_wun']);

    echo   $serialized_string1." => echo \$serialized_string1<br>";
    $uaaaaah = unserialize($serialized_string1);

   if (!is_array ($serialized_string1)) {
       echo "etwas ging schief, ein leeres Array initialisieren<br>";
     //  $serialized_string1 = array();
   }

            echo " <br>----uaaaaah-----<br>";
    echo   "<br>".$uaaaaah."<br>";  
            echo " <br>---------<br>";


das ergibt o.g. Fehler:
a:3:{i:0;s:1:\"6\";i:1;s:1:\"7\";i:2;s:2:\"11\";} => echo ...
Notice: unserialize() failed at offset 9 of 49 bytes in ...
etwas ging schief, ...



Dabei steht in einem nicht mit <pre> formatierten
Bereich der $GLOBALS
[arr_n_alt] => Array ( [0] => 6 [1] => 7 [2] => 11 )

sonst in verschiedenen Bereichen
[_REQUEST] => Array
[_POST] => Array
[HTTP_POST_VARS] => Array
G L O B A L S: Array
als
[serialized_string1] => a:3:{i:0;s:1:\"6\";i:1;s:1:\"7\";i:2;s:2:\"11\";},
sowie
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9:
 
 [u_wun] => Array
        (
            [4] => on
            [5] => on
            [8] => on
            [9] => on
            [10] => on
        ) 


... hoffe, das ist jetzt nachvollziehbarer,
Grüße, Jörg
von raiserle
grrr..
wenn du den array mal hier posten könntest
weil das serialize dort irgendwass escaped --> s:1:\"7\" oder auch davor
dann kann man damit mal probieren bzw besser gucken
von raiserle
hmmm schwer so zu sagen, ohne den zu übergenenen string zu sehn....
könnte aber an einem " oder \ liegen
sollte zwar normal nicht sein...aber...
von elster
Hallo & Danke!

habs erstmal mit seralize probiert,
Daten kommen nach abschicken auch an :

if (isset($_REQUEST['u_wun'])) {

echo $serialized_string1." => echo \$serialized_string1<br>";
$uaaaaah = unserialize($serialized_string1);
...
...
a:3:{i:0;s:1:\"6\";i:1;s:1:\"7\";i:2;s:2:\"11\";}
aber dann ?-|
Notice: unserialize() failed at offset 9 of 49 bytes in ...

das konnte ich noch nicht ergooglen.

Thread davor kuck ich gleich man duch ...

Grüße, J.

Nach oben