Problem: Fatal error: Cannot use string offset as an array in

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem: Fatal error: Cannot use string offset as an array in

    Ein freundliches Hallo in die Runde,

    bin zum ersten Mal hier und nicht wirklich ein Profi in Sachen PHP. Vielleicht kann mir hier aber jemand bei der Lösung meines Problems helfen, wäre schön.

    In dem folgenden Code gibt es mit Zeile 52 (separat aufgeführt) unter PHP 5 ein Problem und zwar erhalte ich folgende Fehlermeldung:

    Fatal error: Cannot use string offset as an array in /kunden/*****_*****/markt/NCADM/CatDetails.php on line 52

    In Zeie 52 steht folgendes:

    PHP-Code:
            if ($mods[$catlist->f("cat_id")]["storefront"] == 1){
                    
    $cattable .= "  <img border=\"0\" src=\"Themes/DeepWater/custtemplate.gif\">";
            } 
    Etwas weiter ausgeführt lautet der Code wie folgt:

    PHP-Code:
    $catlist = new clsDBDBNetConnect();
    $catlist->query("select * from categories where sub_cat_id=0");
    while(
    $catlist->next_record()) {
            
    $custom_template[0] = "";
            
    $custom_field "";
            
    $custom_pricing "";
            
    $thisgroups "";
            
    $bgcolor "#54B81A";
            if (
    $_GET["cat"] == $catlist->f("cat_id"))
                    
    $bgcolor "#FFFF66";
            
    $cattable .= "    <td width=\"225\" bgcolor=\"$bgcolor\">";
             
    $cattable .= "<font size=\"1\">" $catlist->f("name") . "</font>";
            if (
    $mods[$catlist->f("cat_id")]["storefront"] == 1){
                    
    $cattable .= "  <img border=\"0\" src=\"Themes/DeepWater/custtemplate.gif\">";
            }
            if (
    $mods[$catlist->f("cat_id")]["template"] == 1){
                    
    $cattable .= "  <img border=\"0\" src=\"Themes/DeepWater/custtemplate.gif\">";
                    
    $custom_template[0] = 1;
            }
            else {
                
    $custom_template[0] = 0;
            }
        if (
    $mods[$catlist->f("cat_id")]["field"] == 1){
            
    $cattable .= "  <img border=\"0\" src=\"Themes/DeepWater/custfield.gif\">";
            
    $custom_field 1;
        }
        if (
    $mods[$catlist->f("cat_id")]["pricing"] == 1){
            
    $cattable .= "  <img border=\"0\" src=\"Themes/DeepWater/custpricing.gif\">";
            
    $custom_pricing 1;
        }
            
    $cattable .= "    <a href=\"CatDetails.php?cat=" $catlist->f("cat_id") . "\" border=\"0\">
    <img border=\"0\" src=\"Themes/DeepWater/edit.gif\"></a></td>\n    <td width=\"125\" bgcolor=\"
    $bgcolor\">";
            if (isset(
    $groups[$catlist->f("cat_id")])){
                    
    $cattable .= "<font size=\"1\">" $groups[$catlist->f("cat_id")] . "</font>";
                    
    $thisgroups "<font size=\"1\"><i>" $groups[$catlist->f("cat_id")] . "</i></font>";
            }
            
    $cattable .= "&nbsp;</td></tr>"
    Vielleicht kann mir hier ja jemand weiterhelfen. Wäre wie gesagt, echt toll.

    Beste Grüße
    Der Offroader
    Zuletzt geändert von offroader; 16.06.2010, 18:32.

  • #2
    Hallo und willkommen im Forum,

    bitte Beitrag bearbeiten und Code auf 100 Zeichen umbrechen.

    Außerdem bitte mal das Ergebnis von
    PHP-Code:
    var_dump($mods); 
    posten.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Hallo,

      hab den gewünschten Zeilenumbruch durchgeführt, sorry.

      Keine Ahnung ob ich das richtig durchgeführt habe, hab den Code einfach in das entsprechende Script gesetzt, hochgeladen, aufgerufen und als Ergebniss erhalte ich NULL.

      Hoffe das war so richtig und somit im Sinne des Erfinders.

      Unter PHP4 funktioniert die Geschichte tadellos, nur unter PHP5 gibts Probleme und der Rest unserer Website ist nur unter PHP5 lauffähig. Wäre also prima wenn ich das Script mit eurer Hilfe zum Laufen kriegen könnte.

      Beste Grüße
      Marcus

      Kommentar


      • #4
        Zitat von offroader Beitrag anzeigen
        hab den Code einfach in das entsprechende Script gesetzt, hochgeladen, aufgerufen und als Ergebniss erhalte ich NULL.
        Kommt diese Variable aus Formulardaten? Wenn ja, lies dir mal das durch: PHP: Verwendung von Register Globals - Manual

        Wenn nein, wo kommt sie denn her? Im Code ist nichts entsprechendes zu erkennen.
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          Hi,

          ich packe mal die gesamte Datei als Anhang hier rein, ist zum Posten zu groß.

          CatDetails.php

          Vielleicht geht daraus mehr hervor.

          Bis hierhin schonmal vielen Dank!

          Gruß
          Marcus

          Kommentar


          • #6
            Zeile 20:
            PHP-Code:
            $mods ""
            Ab Zeile 22 benutzt du es aber nur noch als Array.

            Nur geraten, aber müsste in Zeile 20 nicht einfach
            PHP-Code:
            $mods = array(); 
            stehen und alles wäre wieder gut?
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar


            • #7
              Hi,

              hab doch gesagt bin in Sachen PHP keine große Leuchte.

              Funktioniert, hab besten Dank für Deine Hilfe

              Gruß
              Marcus

              Kommentar

              Lädt...
              X