MyBB.de Forum
PHP Errormeldung - 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: PHP Errormeldung (/thread-13399.html)



PHP Errormeldung - lmweissen - 01.06.2009

Hallo,
Ich habe mir eine kleine Erweiterung geschrieben, jedoch erzählt er mir beim Anschauen von THemen:
Code:
Fatal error: Cannot redeclare get_userpoints() (previously declared in /usr/export/www/vhosts/funnetwork/hosting/fmps/community/inc/functions_post.php:359) in /usr/export/www/vhosts/funnetwork/hosting/fmps/community/inc/functions_post.php on line 359
Die Codezeilen:
PHP-Code:
function get_userpoints($uid)
      {
        include_once(
"config.php");
        @
mysql_connect($config['database']['hostname'],$config['database']['username'],$config['database']['password']);
        @
mysql_select_db($config['database']['database']);
        
$result=mysql_query("SELECT * FROM main_points WHERE uid='".$uid."'");
        while(
$row=@mysql_fetch_assoc($result))
          {
            
$cp += $row[points];
          };
        
$cp = ($cp != 0) ? $cp 0;
        return 
$cp;
      }
        
$post['punkte'] = get_userpoints($post[uid]); 

Ich habe es nie mit einem solchen Fehler zu tun gehabt. Woran liegt das?

mfg


RE: PHP Errormeldung - Michael - 02.06.2009

Das Skript wird mehrfach aufgerufen, wodurch die Funktion mehrfach definiert würde. Da es schon eine Funktion mit dem Namen get_userpoints() gibt, meckert er beim 2. Aufruf.

Mögliche Lösung:
PHP-Code:
if(!function_exists('get_userpoints'))
{
    function 
get_userpoints($uid)
    {
        
// Funktionscode
    
}

PS: Du solltest keine extra Datenbankverbindung herstellen, sondern auf die Datenbankklasse des MyBB zurückgreifen.