tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
7
ZUGRIFFE
268
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Sasser Sasser ist offline Mitglied Smaragd
    Registriert seit
    Mar 2008
    Beiträge
    1.000
    Guten Abend!

    Ich erhalte bei einem Webspace bei dem folgenden PHP-Code den Fehler:

    Warning: Invalid argument supplied for foreach()

    Bei den anderen Webspaces funktioniert der folgende Code ohne Fehler:

    PHP-Code:
    $design ["links"] = array ();
    $design ["links"] = unserialize $_COOKIE ["links"] );
    foreach (
    $design ["links"] as $i => $link) {
              
    $design ["links"] [$i] ["name"] = substr $link ["name"], "0""25" );
              
    $design ["links"] [$i] ["url"] = substr "http://" str_replace ( array ( "http://"" " ), ""strtolower $link ["url"] ) ), "0""250" );

    Ich finde den Fehler aber einfach nicht.
     

  2. #2
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    prüfe mal mit var_dump() dein $design ["links"] direkt vor der foreach-Schleife. ich geh mal davon aus, dass der unserialize() kein Array zurückgibt.
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  3. #3
    Sasser Sasser ist offline Mitglied Smaragd
    Registriert seit
    Mar 2008
    Beiträge
    1.000
    Ja es wird bool(0) zurückgegeben, also wie du bereits vermutet hast. Es wird zuvor per serialize ein Array abgespeichert und beim nächsten Seitenabruf wird dieses Array wiederhergestellt.

    Warum funktioniert es auf 1 von 5 Servern nicht? Kann eine fehlerhafte PHP-Version daran schuld sein oder eine andere Einstellung? Wie gesagt, das Script funktioniert auf 4 Servern einwandfrei...
     

  4. #4
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.521
    Da du das serialisierte Array in ein Cookie (wahrscheinlich) mittels setcookie()-Funktion reinspeicherst, der Code auf den 5 Servern soweit identisch sein dürfte, könnte ich mir nur noch vorstellen, das

    - eine unterschiedliche PHP-Version vorliegt, bei der Features genutzt werden sollen, die es nicht gibt, bzw. die anders ablaufen
    - unterschiedliche Konfigurationen vorliegen

    Was sagt denn das Server-Logfile in error.log des Apachen?
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  5. #5
    Sasser Sasser ist offline Mitglied Smaragd
    Registriert seit
    Mar 2008
    Beiträge
    1.000
    Leider kein Fehler in der error-log vorhanden, welcher etwas damit zu tun hat.
     

  6. #6
    Avatar von chmee
    chmee chmee ist offline mod | media
    tutorials.de Moderator
    Registriert seit
    Apr 2004
    Ort
    Berlin bei Potsdam
    Beiträge
    7.630
    Blog-Einträge
    4
    Die Sessionvariable "links" ist aber noch gefüllt? (mal ausgeben lassen..?)

    mfg chmee
     
    Mein Blog - VideoFAQ - FotoFAQ - bei Flickr - DSLR Kleinanzeigen
    Benutzt den DANKE-Knopf oder bewertet den Beitrag

    "GEHT NICHT" HILFT NICHT, TESTET EURE CODES ONLINE UND GEBT KLARE INFOS!
    -> Regexp <- -> php <- -> Javascript <-

  7. #7
    Sasser Sasser ist offline Mitglied Smaragd
    Registriert seit
    Mar 2008
    Beiträge
    1.000
    Das Cookie ist gefüllt, aber unserialize ( $_COOKIE ["links"] ); gibt nichts zurück, obwohl es die gleiche Prozedur wie auf den anderen Servern ist!?
     

  8. #8
    Avatar von chmee
    chmee chmee ist offline mod | media
    tutorials.de Moderator
    Registriert seit
    Apr 2004
    Ort
    Berlin bei Potsdam
    Beiträge
    7.630
    Blog-Einträge
    4
    Ist der Cookie-Inhalt sehr lang? Könntest Du ihn mal posten? Es scheint, als ob auf diesem Server "falsche Daten" im Cookie landen, denn damit soll unserialize() n Problem haben.. Ob falsches Charset oder Leerzeichen, das hab ich in der Schnelle nicht eindeutig erkennen können.

    Links zum Thema:
    http://www.dreamincode.net/forums/to...rialize-issue/
    http://www.backwardcompatible.net/po...nd-codeigniter

    mfg chmee
     
    Mein Blog - VideoFAQ - FotoFAQ - bei Flickr - DSLR Kleinanzeigen
    Benutzt den DANKE-Knopf oder bewertet den Beitrag

    "GEHT NICHT" HILFT NICHT, TESTET EURE CODES ONLINE UND GEBT KLARE INFOS!
    -> Regexp <- -> php <- -> Javascript <-

Ähnliche Themen

  1. Unbekannter Fehler in Freundesliste
    Von Chaosengel_Gabriel im Forum PHP
    Antworten: 32
    Letzter Beitrag: 23.05.08, 10:46
  2. [ILLU] Unbekannter Fehler
    Von josDesign im Forum Desktop Publishing (DTP)
    Antworten: 2
    Letzter Beitrag: 12.05.07, 19:12
  3. Unbekannter Fehler bei IF Abfrage
    Von zyclop im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 19.04.06, 09:43
  4. Unbekannter Fehler!
    Von tBLo im Forum PHP
    Antworten: 6
    Letzter Beitrag: 23.01.06, 01:25
  5. \par <-- ? unbekannter fehler
    Von z0oL im Forum PHP
    Antworten: 3
    Letzter Beitrag: 25.07.02, 18:30