MyBB.de Forum
Mein erstes Plugin und es funktioniert nicht richtig... - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Sonstiges (https://www.mybb.de/forum/forum-1.html)
+--- Forum: Programmierung (https://www.mybb.de/forum/forum-32.html)
+--- Thema: Mein erstes Plugin und es funktioniert nicht richtig... (/thread-6105.html)

Seiten: Seiten: 1 2 3


Mein erstes Plugin und es funktioniert nicht richtig... - Bimon - 09.06.2007

Hallo,
mein erstes Plugin und es funktioniert nicht zu Verlässig...
Es handelt sich um "Guests Language".

Es erscheint folgende Fehlermeldung:
Zitat:Warning: Invalid argument supplied for foreach() in /usr/export/www/hosting/revolution2050/forum/inc/functions.php on line 751

Fatal error: Call to a member function on a non-object in /usr/export/www/hosting/revolution2050/forum/global.php on line 61

Wobei ich im Plugin (nur bei mir selber) kein Drop-Down Menü habe, sondern Bilder mit
Code:
<input type="image" src="..." ..... />
eingebunden habe.
Ich habe schon gemerkt, dass der IE7 dann zwar zum Plugin springt, aber keinen POST macht, und jetzt auch noch mit Firefox.....

Ist etwas mit <input type="image" ..... /> falsch? Welche Alternativen bieten sich?


RE: Mein erstes Plugin und es funktioniert nicht richtig... - Garlant - 09.06.2007

Hallo Bimon,

In der foreach Fehlermeldung tippe ich darauf, dass kein array, oder ein leeres array übergeben wird. ...

Mfg Garlant


RE: Mein erstes Plugin und es funktioniert nicht richtig... - Bimon - 09.06.2007

Ich rufe die functions.php aber doch garnicht über das Plugin auf. Ich habe jetzt noch einen anderen Fehler, wo ich die functions.php auch nie aufrufe...

Schonmal Copyright auf den folgenden Code Wink:
PHP-Code:
function quicklanguage_secgroup()
{
    global 
$user$mybb$db$lang;
    
    if(
$mybb->user['uid'] != 0)
    {
        
$query $db->query("SELECT additionalgroups FROM ".TABLE_PREFIX."users WHERE uid = '".$mybb->user['uid']."' LIMIT 1");
        
$row $db->fetch_array($query);
        
$additionalgroups $row['additionalgroups'];
        
$teile explode(","$additionalgroups);
        
$i 0;
        foreach(
teile as $value)
        {
             
$query $db->query("SELECT title FROM ".TABLE_PREFIX."usergroups WHERE gid = '$value' LIMIT 1");
            
$row $db->fetch_array($query);
            
$title $row['title'];
            
$languages $lang->get_languages();
            foreach(
languages as $langs)
            {
                if(
$langs $title)
                {
                    unset(
$teile[$i]);
                    
$query $db->query("SELECT gid FROM ".TABLE_PREFIX."usergroups WHERE title = '".$user['language']."' LIMIT 1");
                    
$row $db->fetch_array($query);
                    
$newgid $row['gid'];
                    
$newteile array_push($teile$newgid);
                    
$newaddgroup implode(","$newteile);
                    
$db->query("UPDATE ".TABLE_PREFIX."users SET additionalgroups = '$newaddgroup' WHERE uid = '".$mybb->user['uid']."' LIMIT 1");
                } else {}
            }
            
$i++;
        }
    }
    else
    {
        
KOMMT NOCH :)
    }




RE: Mein erstes Plugin und es funktioniert nicht richtig... - Mak - 09.06.2007

Doch, du rufst die funktions.php mit "global" auf.

PHP-Code:
foreach(languages as $langs

sollte wohl

PHP-Code:
foreach($languages as $langs
heißen?


RE: Mein erstes Plugin und es funktioniert nicht richtig... - Bimon - 09.06.2007

ja hatte ich schon, in php.net stand das ohne $, ich hatte aber auch schon mit $. Gut ich rufe die Datei auf, verwende sie aber doch nicht. Was ist denn der Fehler nun daran, ich verstehs einfach nicht. Was muss ich ändern?


RE: Mein erstes Plugin und es funktioniert nicht richtig... - Mak - 10.06.2007

Du rufst die Datei auf und benutzt Funktionen, die in der Datei definiert sind. Der eigentliche Fehler liegt aber trotzdem in deiner eigenen Datei. Du hast den Fehler bei allen foreach-Schleifen gemacht. Das erste muss auch immer eine Variable bzw. ein Array sein.


RE: Mein erstes Plugin und es funktioniert nicht richtig... - Bimon - 10.06.2007

Dann versteh ich nun garnichts mehr...
$teile und $languages sind doch Arrays...was ist denn daran nun falsch?
Ich dachte foreach wäre eine Funktion von PHP?!


RE: Mein erstes Plugin und es funktioniert nicht richtig... - Mak - 10.06.2007

PHP-Code:
function quicklanguage_secgroup()
{
    global 
$user$mybb$db$lang;
    
    if(
$mybb->user['uid'] != 0)
    {
        
$query $db->query("SELECT additionalgroups FROM ".TABLE_PREFIX."users WHERE uid = '".$mybb->user['uid']."' LIMIT 1");
        
$row $db->fetch_array($query);
        
$additionalgroups $row['additionalgroups'];
        
$teile explode(","$additionalgroups);
        
$i 0;
        foreach(
$teile as $value)
        {
             
$query $db->query("SELECT title FROM ".TABLE_PREFIX."usergroups WHERE gid = '$value' LIMIT 1");
            
$row $db->fetch_array($query);
            
$title $row['title'];
            
$languages $lang->get_languages();
            foreach(
$languages as $langs)
            {
                if(
$langs $title)
                {
                    unset(
$teile[$i]);
                    
$query $db->query("SELECT gid FROM ".TABLE_PREFIX."usergroups WHERE title = '".$user['language']."' LIMIT 1");
                    
$row $db->fetch_array($query);
                    
$newgid $row['gid'];
                    
$newteile array_push($teile$newgid);
                    
$newaddgroup implode(","$newteile);
                    
$db->query("UPDATE ".TABLE_PREFIX."users SET additionalgroups = '$newaddgroup' WHERE uid = '".$mybb->user['uid']."' LIMIT 1");
                } else {}
            }
            
$i++;
        }
    }
    else
    {
    }


Das sollte so funktionieren. Wenn nicht poste bitte nochmal die Fehlermeldung.


RE: Mein erstes Plugin und es funktioniert nicht richtig... - Bimon - 10.06.2007

Soweit ich das jetzt sehen kann ist es der gleiche Code nur mit den $ oder?
Es gibt auch noch die gleiche Fehlermeldung:
Zitat:Warning: Invalid argument supplied for foreach() in /usr/export/www/hosting/revolution2050/forum/inc/functions.php on line 751

Fatal error: Call to a member function on a non-object in /usr/export/www/hosting/revolution2050/forum/global.php on line 61



RE: Mein erstes Plugin und es funktioniert nicht richtig... - Mak - 11.06.2007

Ja. Kannst du bitte mal den gesamten Code des Plugins posten?