Seite 12 von 12

Verfasst: 31.07.2005 17:26
von kratzer54847
hmm...versuch mal, $user_ip = $sessiondata['user_ip']; hiermit zu ersetzen:

Code: Alles auswählen

$user_ip = $sessiondata['session_ip'];

Verfasst: 31.07.2005 17:43
von oliver12345
@ kratzer54847

Geht auch nicht. Nur wenn ich's weglasse, geht's.

Habe die Tabelle "phpbb_profile_view" geleert und nochmal zum Test ein Profil aufgerufen. So sieht's jetzt aus:

[ externes Bild ]

Aus den zwei Zeilen muss nur noch eine werden. Warum zwei entstehen, weiß ich nicht. :-?
Theoretisch muss der Eintrag bei "ip_address" in die zweite Zeile und somit ist die erste Zeile unnötig und kann entfernt werden.

Verfasst: 31.07.2005 23:06
von oliver12345
@ all

Ich hab's jetzt so weit selbst hingekriegt! :grin:

Ein Problem gibt's allerdings noch. Es werden jetzt zwar alle Daten wie von mir gewünscht in der DB gespeichert, nur beim Auslesen scheint etwas nicht mit meiner profile_view_popup.php zu stimmen.

Folgende Daten befinden sich zum Test in meiner DB in der Tabelle "phpbb_profile_view":

[ externes Bild ]

Und der Code meiner profile_view_popup.php sieht so aus:

Code: Alles auswählen

<?php
/***************************************************************************
 *                           profile_view_popup.php
 *                           ---------------------
 *   begin                : Monday, 15. May 2003

 *   copyright            : (C) 2003 OXPUS
 *   email                : webmaster@oxpus.de
 ***************************************************************************/

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_PROFILE);
init_userprefs($userdata);
//
// End session management
//

$gen_simple_header = TRUE;
include($phpbb_root_path . 'includes/page_header.'.$phpEx);

$current_time = time();
$user_id = $userdata['user_id'];
$last_view =$userdata['user_last_profile_view'];
$page_title = $lang['Profile_views'];

$template->set_filenames(array(
	'body' => 'profile_view_popup_body.tpl')
);

$sql = "SELECT * FROM ".PROFILE_VIEW_TABLE."
		WHERE user_id = ".$user_id."
		AND view_stamp >= ".$last_view."
	 	ORDER BY view_stamp DESC";
	if ( !($result = $db->sql_query($sql)) )
	{
	   message_die(GENERAL_ERROR, "Could not read profile views.", '', __LINE__, __FILE__, $sql);
	}

	while ($row=$db->sql_fetchrow($result))
	{
		$viewer=$row['viewer_id'];
		$template->assign_block_vars('row', array(
			'VIEW_BY' => '<a href="'.append_sid("profile.$phpEx?mode=viewprofile&".POST_USERS_URL."=$viewer").'" target="_new">'.$row['viewername'].'</a>',
			'STAMP' => create_date($userdata['user_dateformat'], $row['view_stamp'], $userdata['user_timezone']))
		);
	}

$template->assign_vars(array(
	'PROFILE' => '<a href="'.append_sid("profile.$phpEx?mode=viewprofile&".POST_USERS_URL."=$user_id").'" target="_new">'.$userdata['username'].'</a>',
	'L_VIEW_TITLE' => $page_title,
	'L_CLOSE' => $lang['Close_window'],
	'L_VIEWER' => $lang['Username'],
	'L_STAMP' => $lang['Last_updated']));

$sql = "UPDATE " . USERS_TABLE . "
		SET user_last_profile_view = '$current_time'
		WHERE user_id = " . $user_id;
	if ( !$db->sql_query($sql) )
	{
	   message_die(GENERAL_ERROR, "Could not update user data.", '', __LINE__, __FILE__, $sql);
	}

$template->pparse('body');

include($phpbb_root_path . 'includes/page_tail.'.$phpEx);

?>
Warum liest sie die Daten nicht aus? :-?

Verfasst: 02.08.2005 15:22
von oliver12345
Hat keiner 'ne Idee? Ich habe den Code schon zigmal duchgesehen, weiß aber nicht, wo der Fehler steckt. :(

Verfasst: 04.08.2005 03:35
von oliver12345
Bitte helft mir. Bin schon total am verzweifeln, weil ich echt keinen blassen Schimmer habe, warum das nicht funzt. :cry:

Verfasst: 08.08.2005 20:31
von oliver12345
@ all

Ich habe meine profile_view_popup.php etwas umgeändert, weiß aber immer noch nicht, warum das nicht funzt.

Code: Alles auswählen

<?php
/***************************************************************************
 *                           profile_view_popup.php
 *                           ---------------------
 *   begin                : Monday, 15. May 2003
 *   copyright            : (C) 2003 OXPUS
 *   email                : webmaster@oxpus.de
 ***************************************************************************/

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_PROFILE);
init_userprefs($userdata);
//
// End session management
//

$gen_simple_header = TRUE;
include($phpbb_root_path . 'includes/page_header.'.$phpEx);

$page_title = $lang['Profile_views'];

$template->set_filenames(array(
	'body' => 'profile_view_popup_body.tpl')
);

$sql = "SELECT * FROM ".PROFILE_VIEW_TABLE."
		WHERE user_id = $user_id
	 	ORDER BY view_stamp DESC";
	if ( !($result = $db->sql_query($sql)) )
	{
	   message_die(GENERAL_ERROR, "Could not read profile views.", '', __LINE__, __FILE__, $sql);
	}

	while ($row=$db->sql_fetchrow($result))
	{
		$viewer=$row['viewer_id'];
		$template->assign_block_vars('row', array(
			'VIEW_BY' => '<a href="'.append_sid("profile.$phpEx?mode=viewprofile&".POST_USERS_URL."=$viewer").'" target="_new">'.$row['viewername'].'</a>',
			'STAMP' => create_date($userdata['user_dateformat'], $row['view_stamp'], $userdata['user_timezone']))
		);
	}

$template->assign_vars(array(
	'PROFILE' => $userdata['username'],
	'L_VIEW_TITLE' => $page_title,
	'L_CLOSE' => $lang['Close_window'],
	'L_VIEWER' => $lang['Username'],
	'L_STAMP' => $lang['Last_updated']));

$template->pparse('body');

include($phpbb_root_path . 'includes/page_tail.'.$phpEx);

?>
Die Datei wird mit dem Anhang ?user_id=xx (xx steht für die entsprechende ID) geöffnet, aber es werden trotzdem nicht die richtigen Daten für den User angezeigt, obwohl sich welche in der Datenbank befinden.

Bitte helft mir! :cry:

Verfasst: 27.08.2005 23:56
von oliver12345
@ all

Ich bin immer noch ratlos. Wo steckt nur mein Fehler? :(

Verfasst: 16.09.2005 22:38
von oliver12345
@ all

Meine profile_view_popup.php sieht derzeit so aus (hat mir jemand so zurechtgefriemelt):

Code: Alles auswählen

<?php
/***************************************************************************
 *                           profile_view_popup.php
 *                           ---------------------
 *   begin                : Monday, 15. May 2003
 *   copyright            : (C) 2003 OXPUS
 *   email                : webmaster@oxpus.de
 ***************************************************************************/

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_PROFILE);
init_userprefs($userdata);
$wer=$userdata['user_id'];
//
// End session management
//

$gen_simple_header = TRUE;
include($phpbb_root_path . 'includes/page_header.'.$phpEx);

$page_title = $lang['Profile_views'];

$sql = "SELECT * FROM phpbb_profile_view_table
      WHERE user_id = $wer ORDER BY view_stamp DESC";
$result =mysql_query($sql);
while($row=mysql_fetch_row($result)) {

echo "",$row[0],"<br>";
echo "",$row[1],"<br>";
echo "",$row[2],"<br>";
echo "",$row[3],"<br>";
echo "",$row[4],"<br>";

}
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);

?>
Allerdings erscheint folgender Fehler, wenn ich die Datei aufrufe:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/web310/html/phpBB2/profile_view_popup.php on line 36
Habt ihr eine Idee, woran das liegt? :(