Userverwaltung Fehlermeldung: Fatal Error

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Bavaria
Mitglied
Beiträge: 6
Registriert: 02.02.2012 19:55
Wohnort: 94437
Kontaktdaten:

Userverwaltung Fehlermeldung: Fatal Error

Beitrag von Bavaria »

Hallo liebe Community,
ich bin neu hier und benötige bitte Hilfe.

Wir betreiben seit kurzem ein kleines Technik&Diskussionsforum und haben uns da für das phpbb3 entschieden.
Wir haben das phpbb3 komplett frisch auf unseren Webspace aufgesetzt.

Haben dann nach einiger Zeit eine Mod bzgl. Treffenanmeldung installiert und bekamen dann diverse Fatal Errors.

Backup aufgespielt, die Fatal Errors sind nun weg, bis auf einige wenige.

Diese möchten wir noch wegbekommmen, ich kann aber nicht rausfinden wie.

Ich habe dazu schon stundenlang im Internet gelesen, scheinbar ist dies aber von Problem zu Problem indvidual.

Ich habe zu wenig Ahnung um da direkt selbst agieren zu können, konnte nicht genau herausfinden was ich machen muss.

Und zwar handelt es sich um foglendes:

Fatal error: Cannot redeclare user_get_id_name() (previously declared in ...... www/slimeline/includes/functions_user.php:27) in /is/..... www/slimeline/includes/functions_user.php on line 82

Der Fehler tritt nur bei Accounts auf, die vor dem Einspielen der Mod schon registriert waren. Wenn man auf "Das Team" klickt oder im Administrationsbereich irgendwas bei der Userverwaltung einstellen will.

Ich hoffe mir kann jemand helfen, was muss ich machen um den Fehler zu beseitigen.

Ich danke euch recht herzlich !

Gruß Bavaria
Zuletzt geändert von Bavaria am 05.02.2012 10:29, insgesamt 1-mal geändert.
Benutzeravatar
gloriosa
Mitglied
Beiträge: 13770
Registriert: 04.01.2005 20:23
Wohnort: Landeshauptstadt Erfurt

Re: Fehlermeldung: Fatal Error - Bitte um Hilfe !!!

Beitrag von gloriosa »

Hallo,
dazu
Bavaria hat geschrieben:was muss ich machen um den Fehler zu beseitigen.
die Installation des MOD's (welcher auch immer :oops: ) an Hand dessen Installationsanleitung abgleichen und die fehlerhaften Stellen korrigieren. :D

Anmerkung : Zum Einen führt der universelle vordere Teil des Titels, sofern nicht in etwas Sinnfälliges geändert, zur Sperrung des Themas, zum Anderen benötigen alle Themenstarter in dieser Kategorie Hilfe zum MOD-Einbau, so dass Deine "B.... u. H...." Ebenso überflüssig ist. :oops:
Viele Grüße - gloriosa :D
Die einen schützen sich vor frischem Wind, während die anderen ihn nutzen.
Kein kostenloser MOD-Einbau usw. bzw. Support via PN, Email oder IRC !
Bavaria
Mitglied
Beiträge: 6
Registriert: 02.02.2012 19:55
Wohnort: 94437
Kontaktdaten:

Re: Userverwaltung Fehlermeldung: Fatal Error

Beitrag von Bavaria »

Hmmm... das ist genau mein Problem gewesen bisher.

Ich habe in anderen "Universal-Foren" viele solcher sinnloserer Beiträge bekommen, die mir nicht weiterhelfen,
dann bin ich endlich auf dieses Forum hier gestoßen.

Ich benötige einen Spezialisten, der das Problem kenn, der weiß wo man anpacken muss.

Wüsste ich wie ich das Problem zu handeln habe, dann könnte ich mir selbst helfen,
da ich da aber zu neu in der Thematik bin, benötige ich einen netten Spezialisten, der mir hilft.
Ich hoffe ich finde hier jemanden, der sich meinem Problem annimmt und mir zur Hand gehen kann.

Jeder fängt man von 0 an und ist dann froh wenn er Hilfe bekommt. Umsonst gibts ja diese Foren hier nicht.

Vielen Dank ! :)
Benutzeravatar
Kirk
Supporter
Supporter
Beiträge: 8147
Registriert: 24.05.2010 08:31
Kontaktdaten:

Re: Userverwaltung Fehlermeldung: Fatal Error

Beitrag von Kirk »

Hallo
Vergleiche doch mal deine includes/functions_user.php mit der originalen,
dazu eignet sich WinMerge am besten dazu.
Benutzeravatar
gloriosa
Mitglied
Beiträge: 13770
Registriert: 04.01.2005 20:23
Wohnort: Landeshauptstadt Erfurt

hlermeldung: FRe: Userverwaltung Featal Error

Beitrag von gloriosa »

Hallo,
der überwiegende Teil aller Support-Anfragen sind Fehler als Folge von MOD-Einbauten. :oops: Diese Fehleinbauten sind meist selbst zu beheben, wenn die >>> KB:18 <<< bzw. >>> KB:183 <<< beachtet werden. :D

An Hand des einen oben geposteten Fehlers ist es, auch für einen Spezialisten (?), eine Fehlerbehebung nicht möglich, da es eben nur eine von mehreren Fehlermeldung ist. :oops:

Da Du augenscheinlich mit dem MOD-Einbau nichts zu tun gehabt hast, dürfte es wohl für Dich das Beste sein, im Forum >>> Jobbörse <<< zu inserieren. :wink:

Dort vor dem Posten die Regeln des Forum >>> Jobbörse <<< lesen und beim Posten beachten ! :wink:
Viele Grüße - gloriosa :D
Die einen schützen sich vor frischem Wind, während die anderen ihn nutzen.
Kein kostenloser MOD-Einbau usw. bzw. Support via PN, Email oder IRC !
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Userverwaltung Fehlermeldung: Fatal Error

Beitrag von Miriam »

Fatal error: Cannot redeclare user_get_id_name() (previously declared in ...... www/slimeline/includes/functions_user.php:27) in /is/..... www/slimeline/includes/functions_user.php on line 82
scheinbar hast du das hier: ->

Code: Alles auswählen

function user_get_id_name(&$user_id_ary, &$username_ary, $user_type = false)
{
    global $db;

    // Are both arrays already filled? Yep, return else
    // are neither array filled?
    if ($user_id_ary && $username_ary)
    {
        return false;
    }
    else if (!$user_id_ary && !$username_ary)
    {
        return 'NO_USERS';
    }

    $which_ary = ($user_id_ary) ? 'user_id_ary' : 'username_ary';

    if ($$which_ary && !is_array($$which_ary))
    {
        $$which_ary = array($$which_ary);
    }

    $sql_in = ($which_ary == 'user_id_ary') ? array_map('intval', $$which_ary) : array_map('utf8_clean_string', $$which_ary);
    unset($$which_ary);

    $user_id_ary = $username_ary = array();

    // Grab the user id/username records
    $sql_where = ($which_ary == 'user_id_ary') ? 'user_id' : 'username_clean';
    $sql = 'SELECT user_id, username
        FROM ' . USERS_TABLE . '
        WHERE ' . $db->sql_in_set($sql_where, $sql_in);

    if ($user_type !== false && !empty($user_type))
    {
        $sql .= ' AND ' . $db->sql_in_set('user_type', $user_type);
    }

    $result = $db->sql_query($sql);

    if (!($row = $db->sql_fetchrow($result)))
    {
        $db->sql_freeresult($result);
        return 'NO_USERS';
    }

    do
    {
        $username_ary[$row['user_id']] = $row['username'];
        $user_id_ary[] = $row['user_id'];
    }
    while ($row = $db->sql_fetchrow($result));
    $db->sql_freeresult($result);

    return false;
}
 
zweimal in der /includes/functions_user.php drin. Und zwar beginnend auf Zeile 27 und Zeile 82.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Bavaria
Mitglied
Beiträge: 6
Registriert: 02.02.2012 19:55
Wohnort: 94437
Kontaktdaten:

Re: Userverwaltung Fehlermeldung: Fatal Error

Beitrag von Bavaria »

Hallo miriam,
vielen Dank dass du mir helfen möchtest.

Ich habe diese Datei nun mal mit dem Editor geöffnet und ca. die ersten 100 Zeilen rauskopiert.

Ich kann hier leider nichts erkennen, evtl. siehst du ja den Fehler.

Vielen Dank schonmal für deine sinnvolle Hilfe !

Code: Alles auswählen

<?php
/**
*
* @package phpBB3
* @version $Id: functions_user.php 10214 2009-10-05 17:54:55Z acydburn $
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
	exit;
}

/**
* Obtain user_ids from usernames or vice versa. Returns false on
* success else the error string
*
* @param array &$user_id_ary The user ids to check or empty if usernames used
* @param array &$username_ary The usernames to check or empty if user ids used
* @param mixed $user_type Array of user types to check, false if not restricting by user type
*/
function user_get_id_name(&$user_id_ary, &$username_ary, $user_type = false)
{
	global $db;

	// Are both arrays already filled? Yep, return else
	// are neither array filled?
	if ($user_id_ary && $username_ary)
	{
		return false;
	}
	else if (!$user_id_ary && !$username_ary)
	{
		return 'NO_USERS';
	}

	$which_ary = ($user_id_ary) ? 'user_id_ary' : 'username_ary';

	if ($$which_ary && !is_array($$which_ary))
	{
		$$which_ary = array($$which_ary);
	}

	$sql_in = ($which_ary == 'user_id_ary') ? array_map('intval', $$which_ary) : array_map('utf8_clean_string', $$which_ary);
	unset($$which_ary);

	$user_id_ary = $username_ary = array();

	// Grab the user id/username records
	$sql_where = ($which_ary == 'user_id_ary') ? 'user_id' : 'username_clean';
	$sql = 'SELECT user_id, username
		FROM ' . USERS_TABLE . '
		WHERE ' . $db->sql_in_set($sql_where, $sql_in);

	if ($user_type !== false && !empty($user_type))
	{
		$sql .= ' AND ' . $db->sql_in_set('user_type', $user_type);
	}

	$result = $db->sql_query($sql);

	if (!($row = $db->sql_fetchrow($result)))
	{
		$db->sql_freeresult($result);
		return 'NO_USERS';
	}

	do
	{
		$username_ary[$row['user_id']] = $row['username'];
		$user_id_ary[] = $row['user_id'];
	}
	while ($row = $db->sql_fetchrow($result));
	$db->sql_freeresult($result);

	return false;
}

/**
* Get latest registered username and update database to reflect it
*/
function update_last_username()
{
	global $db;

	// Get latest username
	$sql = 'SELECT user_id, username, user_colour
		FROM ' . USERS_TABLE . '
		WHERE user_type IN (' . USER_NORMAL . ', ' . USER_FOUNDER . ')
		ORDER BY user_id DESC';
	$result = $db->sql_query_limit($sql, 1);
	$row = $db->sql_fetchrow($result);
	$db->sql_freeresult($result);

	if ($row)
	{
		set_config('newest_user_id', $row['user_id'], true);
		set_config('newest_username', $row['username'], true);
		set_config('newest_user_colour', $row['user_colour'], true);
	}
}

/**
* Updates a username across all relevant tables/fields
*
* @param string $old_name the old/current username
* @param string $new_name the new username
*/
function user_update_name($old_name, $new_name)
{
	global $config, $db, $cache;

	$update_ary = array(
		FORUMS_TABLE			=> array('forum_last_poster_name'),
		MODERATOR_CACHE_TABLE	=> array('username'),
		POSTS_TABLE				=> array('post_username'),
		TOPICS_TABLE			=> array('topic_first_poster_name', 'topic_last_poster_name'),
	);
	$update_ary = array_merge($update_ary, array(
		DL_BANLIST_TABLE		=> array('username'),
		DL_COMMENTS_TABLE		=> array('username'),
		DL_STATS_TABLE			=> array('username'),
	));

	foreach ($update_ary as $table => $field_ary)
	{
		foreach ($field_ary as $field)
		{
			$sql = "UPDATE $table
				SET $field = '" . $db->sql_escape($new_name) . "'
				WHERE $field = '" . $db->sql_escape($old_name) . "'";
			$db->sql_query($sql);
		}
	}

	if ($config['newest_username'] == $old_name)
	{
		set_config('newest_username', $new_name, true);
	}

	// Because some tables/caches use username-specific data we need to purge this here.
	$cache->destroy('sql', MODERATOR_CACHE_TABLE);
}

/**
Zuletzt geändert von nickvergessen am 06.02.2012 16:01, insgesamt 1-mal geändert.
Grund: [code] hinzugefügt
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Userverwaltung Fehlermeldung: Fatal Error

Beitrag von Miriam »

Du solltest zum Posten von Code entweder PasteBin oder den BBCode Tag [ code ] benutzen (oberhalb des Editor Fensters bei der Eingabe).

Davon abgesehen, kann ich erst einmal nichts sehen. Zeig mal bitte die ganze Datei her.


Dein Code einmal anders dargestellt:

Code: Alles auswählen

<?php
/**
*
* @package phpBB3
* @version $Id: functions_user.php 10214 2009-10-05 17:54:55Z acydburn $
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
exit;
}

/**
* Obtain user_ids from usernames or vice versa. Returns false on
* success else the error string
*
* @param array &$user_id_ary The user ids to check or empty if usernames used
* @param array &$username_ary The usernames to check or empty if user ids used
* @param mixed $user_type Array of user types to check, false if not restricting by user type
*/
function user_get_id_name(&$user_id_ary, &$username_ary, $user_type = false)
{
global $db;

// Are both arrays already filled? Yep, return else
// are neither array filled?
if ($user_id_ary && $username_ary)
{
return false;
}
else if (!$user_id_ary && !$username_ary)
{
return 'NO_USERS';
}

$which_ary = ($user_id_ary) ? 'user_id_ary' : 'username_ary';

if ($$which_ary && !is_array($$which_ary))
{
$$which_ary = array($$which_ary);
}

$sql_in = ($which_ary == 'user_id_ary') ? array_map('intval', $$which_ary) : array_map('utf8_clean_string', $$which_ary);
unset($$which_ary);

$user_id_ary = $username_ary = array();

// Grab the user id/username records
$sql_where = ($which_ary == 'user_id_ary') ? 'user_id' : 'username_clean';
$sql = 'SELECT user_id, username
FROM ' . USERS_TABLE . '
WHERE ' . $db->sql_in_set($sql_where, $sql_in);

if ($user_type !== false && !empty($user_type))
{
$sql .= ' AND ' . $db->sql_in_set('user_type', $user_type);
}

$result = $db->sql_query($sql);

if (!($row = $db->sql_fetchrow($result)))
{
$db->sql_freeresult($result);
return 'NO_USERS';
}

do
{
$username_ary[$row['user_id']] = $row['username'];
$user_id_ary[] = $row['user_id'];
}
while ($row = $db->sql_fetchrow($result));
$db->sql_freeresult($result);

return false;
}

/**
* Get latest registered username and update database to reflect it
*/
function update_last_username()
{
global $db;

// Get latest username
$sql = 'SELECT user_id, username, user_colour
FROM ' . USERS_TABLE . '
WHERE user_type IN (' . USER_NORMAL . ', ' . USER_FOUNDER . ')
ORDER BY user_id DESC';
$result = $db->sql_query_limit($sql, 1);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);

if ($row)
{
set_config('newest_user_id', $row['user_id'], true);
set_config('newest_username', $row['username'], true);
set_config('newest_user_colour', $row['user_colour'], true);
}
}

/**
* Updates a username across all relevant tables/fields
*
* @param string $old_name the old/current username
* @param string $new_name the new username
*/
function user_update_name($old_name, $new_name)
{
global $config, $db, $cache;

$update_ary = array(
FORUMS_TABLE => array('forum_last_poster_name'),
MODERATOR_CACHE_TABLE => array('username'),
POSTS_TABLE => array('post_username'),
TOPICS_TABLE => array('topic_first_poster_name', 'topic_last_poster_name'),
);
$update_ary = array_merge($update_ary, array(
DL_BANLIST_TABLE => array('username'),
DL_COMMENTS_TABLE => array('username'),
DL_STATS_TABLE => array('username'),
));

foreach ($update_ary as $table => $field_ary)
{
foreach ($field_ary as $field)
{
$sql = "UPDATE $table
SET $field = '" . $db->sql_escape($new_name) . "'
WHERE $field = '" . $db->sql_escape($old_name) . "'";
$db->sql_query($sql);
}
}

if ($config['newest_username'] == $old_name)
{
set_config('newest_username', $new_name, true);
}

// Because some tables/caches use username-specific data we need to purge this here.
$cache->destroy('sql', MODERATOR_CACHE_TABLE);
}

/*
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Bavaria
Mitglied
Beiträge: 6
Registriert: 02.02.2012 19:55
Wohnort: 94437
Kontaktdaten:

Re: Userverwaltung Fehlermeldung: Fatal Error

Beitrag von Bavaria »

Hallo Miriam.

Hab grad die functions.php mit der "originalen" getauscht, der Fehler ist aber immer noch da.
Auch der Tip von Dir, dass da Text doppelt drinnen ist, hat sich leider nicht bewahrheiten können.

Ich würde Dir gern die Datei anhängen, aber scheinbar kann ich das (noch) nicht.

Als Code anfügen geht leider auch nicht, da die function_user.php mehr als 60000 zeichen hat.


Gruß

http://www.zuendapp-bavaria.de
Benutzeravatar
WileCoyote
Mitglied
Beiträge: 901
Registriert: 13.07.2011 07:38
Wohnort: Österreich

Re: Userverwaltung Fehlermeldung: Fatal Error

Beitrag von WileCoyote »

Du kannst bei Pastebin deine Datei hochladen und auf diese im Beitrag verlinken.
Gruß WileCoyote
Antworten

Zurück zu „[3.0.x] Mod Support“