Seite 1 von 1

Gästebuchmod Problem bitte schnell antworten!

Verfasst: 07.12.2010 23:34
von Gast123456
Hallo ich habe gerade den gästebuchmod installiert doch wenn ich ein benutzerprofil aufrufe kommt das:

Code: Alles auswählen

[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3240: Invalid argument supplied for foreach()
Zurück zur Foren-Übersicht
Allgemeiner Fehler
SQL ERROR [ mysqli ]

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 5 [1064]

SQL

SELECT g.*, u.user_colour FROM phpbb_profile_guestbook g, phpbb_users u WHERE g.user_id = 335 AND g.poster_id = u.user_id ORDER BY g.gb_id DESC LIMIT 0,

BACKTRACE




An was liegt der fehler?




Edit:

Ich weiß jetzt das der fehler in der datei /memberlist.php liegt.

Aber was ist da falsch?

Re: Gästebuchmod Problem bitte schnell antworten!

Verfasst: 10.12.2010 12:44
von Helmut
Hallo Patrick1704,

wäre ganz nützlich, wenn du noch schreiben würdest, welchen Gästebuch Mod du verwendest?

Aber so wie ich die Fehlermeldung deute, könnte es sich hier um einen Einbaufehler handeln. Überprüfe doch noch einmal alle Schritte der Anleitung und schaue ob es genau so umgesetzt wurde.

Gruß Helmut

Re: Gästebuchmod Problem bitte schnell antworten!

Verfasst: 10.12.2010 16:13
von Gast123456
Sorry
Diesen:
Hier

Ich habe mich genau an die Anleitung gehalten...
Alles genau dort reingeschrieben wo es hinsolte und auch datenbanken/tabbelen erstellt

Re: Gästebuchmod Problem bitte schnell antworten!

Verfasst: 11.12.2010 10:23
von Helmut
Hallo Patrick1704,

ok, scheint aber trotzdem ein Einbaufehler zu sein, poste doch mal von deiner functions.php die Zeilen 3230-3250 etwa. Die Fehlermeldung gibt ja einen Syntaxfehler aus, der Fehler muss nicht unbedingt in der members.php liegen.

Gruß Helmut

Re: Gästebuchmod Problem bitte schnell antworten!

Verfasst: 11.12.2010 11:34
von Gast123456
Bist du dir sicher?
Ich habe mal getestet den backup der Memberlist.php zu verwenden und dann kan keine fehlermedung mehr.
(Natürlich war der mod auch nicht da)

Und die functions.php hab ich garnicht bearbeitet
(oder doch?
da steht sie wurde am 7 verändert obwohl ich selbst nichts gemacht habe)


Code: Alles auswählen

* Return a nicely formatted backtrace (parts from the php manual by diz at ysagoon dot com)
*/
function get_backtrace()
{
	global $phpbb_root_path;

	$output = '<div style="font-family: monospace;">';
	$backtrace = debug_backtrace();
	$path = phpbb_realpath($phpbb_root_path);

	foreach ($backtrace as $number => $trace)
	{
		// We skip the first one, because it only shows this file/function
		if ($number == 0)
		{
			continue;
		}

		// Strip the current directory from path
		if (empty($trace['file']))


Re: Gästebuchmod Problem bitte schnell antworten!

Verfasst: 11.12.2010 11:48
von Helmut
Hallo Patrick1704,

war das wirklich die vollständige Fehlermeldung aus deinem ersten Post oder stand da noch mehr dabei.

Eigentlich wollte ich den Bereich sehen wo diese Codestelle drinnen ist:

Code: Alles auswählen

SELECT g.*, u.user_colour FROM phpbb_profile_guestbook g, phpbb_users u WHERE g.user_id = 335 AND g.poster_id = u.user_id ORDER BY g.gb_id DESC LIMIT 0, 
Gut, kann sein dass es doch in der members.php ist, denn der von dir gepostete Bereich hat nur indirekt mit dem Fehler zu tun, vermutlich weil er an der Stelle hängen geblieben ist.

Gruß Helmut

Re: Gästebuchmod Problem bitte schnell antworten!

Verfasst: 11.12.2010 12:03
von Gast123456
Ja das war die ganze Fehlermeldung

Oben Links stand das mit function.php

Dann in so einem Kästchen in rozt ganz groß Sql error.


Hier die memberlist.php:

Code: Alles auswählen

// BEGIN guestbook MOD
				// Get guestbook data...
					$bbcode_status	= ($config['allow_bbcode']) ? true : false;
					$limit = $member['user_guestbook_limit'];
					$userid_1 = $user->data['user_id'];
			  $user->add_lang('posting'); 
			  
			  $sql_guest = "SELECT g.*, u.user_colour
			  FROM  " . PROFILE_GUESTBOOK_TABLE . " g, " . USERS_TABLE . " u
			  WHERE g.user_id = $user_id
			  AND g.poster_id = u.user_id
			  ORDER BY g.gb_id DESC LIMIT $start, $limit";
			  $result_guest = $db->sql_query($sql_guest);
			  $db->sql_freeresult($result);
			  $statrow = array();
			  
			  $sql = "SELECT COUNT(g.gb_id) AS eintraege 
			  FROM " . PROFILE_GUESTBOOK_TABLE . " AS g 
			  WHERE g.user_id = $user_id";
			  $result = $db->sql_query($sql);
			  $row = $db->sql_fetchrow($result);
			  $totale_eintraege = $row['eintraege'];
			  
			  $profile_link = append_sid("{$phpbb_root_path}memberlist.$phpEx?mode=viewprofile&u=$user_id");
				  
			  while($row = $db->sql_fetchrow($result_guest))
			  {
			  $guestbook[] = $row;
			  }

			  	if (!empty($guestbook)) { $full = '1'; } else  { $full = '0'; }

			  $template->assign_vars(array(
			  'S_PAGINATION' => generate_pagination($profile_link, $totale_eintraege, $limit, $start) .'<hr/>' ,
			  'S_BBCODE_ALLOWED'			=> $bbcode_status,
			  'S_GUESTBOOK_ACTIVE'			=> $member['user_guestbook_active'],
			  'S_GB_ACTION'				=> append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile'),
			  'S_GUESTBOOK_FULL'	=> $full,
			  ));

			  
if (!empty($guestbook))
 {
			  for($i=0; $i < count($guestbook); $i++) 
	 {

				 $guestbook_profile_id = $guestbook[$i]['poster_id'];
				 $gb_id = $guestbook[$i]['gb_id'];
							 
				 if ( $userid_1 == $user_id || $auth->acl_get('a_') )
						 {	
							 $delete = $user->lang['GUESTBOOK_DELETE'];
				  $delete_link = append_sid("{$phpbb_root_path}memberlist.$phpEx?mode=viewprofile&u=$user_id&id=$gb_id");
				  $delete_ausgabe = "<a href=$delete_link>$delete</a> ";
				  $can_delete = $guestbook_profile_id;
				  }
				  else if ( $guestbook_profile_id = $userid_1 && $member['user_guestbook_delete'] = '1')
						 {	
					$delete = $user->lang['GUESTBOOK_DELETE'];
				  $delete_link = append_sid("{$phpbb_root_path}memberlist.$phpEx?mode=viewprofile&u=$user_id&id=$gb_id");
				  $delete_ausgabe = "<a href=$delete_link>$delete</a> ";
				  $can_delete = $userid_1;
				      }



			  $template->assign_block_vars("guestbook",array(
			  'GUESTBOOK_ID'		=> $guestbook[$i]['gb_id'],
			  'GUESTBOOK_USER_ID'	=> $guestbook[$i]['user_id'],
			  'GUESTBOOK_POSTER_ID'	=> $guestbook[$i]['poster_id'],
			  'GUESTBOOK_GB_TIME'	=> $user->format_date($guestbook[$i]['gb_time']),
			  'GUESTBOOK_TITLE'	=> $guestbook[$i]['title'],
			  'GUESTBOOK_ENTRY'	=> generate_text_for_display( nl2br($guestbook[$i]['message']), $guestbook[$i]['bbcode_uid'], $guestbook[$i]['bbcode_bitfield'], 7),
			  'GUESTBOOK_POSTER_NAME' => get_username_string('full', $guestbook[$i]['poster_id'], ($guestbook[$i]['user_guest_name']) ? $guestbook[$i]['user_guest_name'] : $user->lang['GUEST'], $guestbook[$i]['user_colour']),
			  'GUESTBOOK_PROFILE_URL' => append_sid("{$phpbb_root_path}memberlist.$phpEx", "mode=viewprofile&u=$guestbook_profile_id"),
			  'GUESTBOOK_DELETE_URL'  => isset($delete_ausgabe) ? $delete_ausgabe : '',
			  'GUESTBOOK_USER_ID'  => $can_delete,
			  ));
	  }
 }

	  //delete guestbook data...
		$delete_guest		= request_var("id", 0);
		  
		  if ($delete_guest)
			 {	
				  $sql = "DELETE FROM " . PROFILE_GUESTBOOK_TABLE . " WHERE gb_id = $delete_guest";
				  $db->sql_query($sql);
				  $back_link = append_sid("{$phpbb_root_path}memberlist.$phpEx?mode=viewprofile&u=$user_id");
				  meta_refresh(3, append_sid("{$phpbb_root_path}memberlist.$phpEx?mode=viewprofile&u=$user_id"));
				  trigger_error($user->lang['GUESTBOOK_DELETE_SEND'] . '<br /><br /><a href="' . $back_link . '">' . $user->lang['GUESTBOOK_BACK'] . '</a>');	
			 }
				  
		  //add guestbook data...
 

			  $submit_guest		= request_var('submit_guestbook', false);
		  if ($submit_guest)
			 {

				if ($member['user_guestbook_send'] = '0')
				{
				  $back_link = append_sid("{$phpbb_root_path}memberlist.$phpEx?mode=viewprofile&u=$user_id");
				  meta_refresh(3, append_sid("{$phpbb_root_path}memberlist.$phpEx?mode=viewprofile&u=$user_id"));	
				  trigger_error($user->lang['GUESTBOOK_NOT_SEND'] . '<br /><br /><a href="' . $back_link . '">' . $user->lang['GUESTBOOK_BACK'] . '</a>');
				}
				else
				{
	  			
				  include_once($phpbb_root_path . 'includes/message_parser.' . $phpEx);
				  $message_parser 			= new parse_message();
				  $message_parser->message 	= request_var('message', '', true);
				  if($message_parser->message)
				  {
				  $message_parser->parse(true, true, true, true, false, true, true, true);
				  }
				  $message = request_var('message', '', true);
				  $title = utf8_normalize_nfc(request_var('title', '', true));
				  $back_link = append_sid("{$phpbb_root_path}memberlist.$phpEx?mode=viewprofile&u=$user_id");
				  if(empty($message) || empty($title))
					{
						  
						  meta_refresh(3, append_sid("{$phpbb_root_path}memberlist.$phpEx?mode=viewprofile&u=$user_id"));	
						  trigger_error($user->lang['GUESTBOOK_ERROR'] . '<br /><br /><a href="' . $back_link . '">' . $user->lang['GUESTBOOK_BACK'] . '</a>');		 
					}


				  $sql = 'INSERT INTO ' . PROFILE_GUESTBOOK_TABLE . '' . $db->sql_build_array('INSERT', array(
				  'user_id'	=> (int) $user_id,
				  'poster_id'	=> (int) $user->data['user_id'],
				  'gb_time'	=> (int) time(),
				  'title'		=> (string) $title,
				  'message'	=> (string) $message_parser->message,
				  'user_guest_name'	=> (string) $user->data['username'],
				  'bbcode_uid'		=> (string) $message_parser->bbcode_uid,
				  'bbcode_bitfield'	=> (string) $message_parser->bbcode_bitfield)
				  );
				  $db->sql_query($sql);
			
				if($member['user_allow_pm'] = '1')
				{	
					include_once($phpbb_root_path . 'includes/functions_privmsgs.' . $phpEx);

	$subject	= sprintf($user->lang['GUESTBOOK_PM_ENTRY_TITLE'], $user->data['username']);
	$message	= sprintf($user->lang['GUESTBOOK_PM_ENTRY'], $user->data['username'], $title, $back_link);
	$uid			= $bitfield			= $options	= '';	
	$allow_bbcode	= $allow_smilies	= true;
	$allow_urls		= false;
	generate_text_for_storage($message, $uid, $bitfield, $options, $allow_bbcode, $allow_urls, $allow_smilies);
	$message			= generate_text_for_display($message, $uid, $bitfield, $options);

	$pm_data = array(
		'address_list'		=> array('u' => array($user_id => 'to')),
		'from_user_id'		=> $user->data['user_id'],
		'from_user_ip'		=> $user->data['user_ip'],
		'from_username'		=> $user->data['username'],
		'enable_sig'		=> false,
		'enable_bbcode'		=> true,
		'enable_smilies'	=> true,
		'enable_urls'		=> false,
		'icon_id'			=> 0,
		'bbcode_bitfield'	=> $bitfield,
		'bbcode_uid'		=> $uid,
		'message'			=> $message,
	);

	submit_pm('post', $subject, $pm_data, false);

				}

				  $back_link = append_sid("{$phpbb_root_path}memberlist.$phpEx?mode=viewprofile&u=$user_id");
				  meta_refresh(3, append_sid("{$phpbb_root_path}memberlist.$phpEx?mode=viewprofile&u=$user_id"));	
				  trigger_error($user->lang['GUESTBOOK_ADD'] . '<br /><br /><a href="' . $back_link . '">' . $user->lang['GUESTBOOK_BACK'] . '</a>');
				 }	
			}

Das war das was ich eingebaut habe

Am anfang ist der gesuchte text

Re: Gästebuchmod Problem bitte schnell antworten!

Verfasst: 11.12.2010 13:01
von Helmut
Hallo Patrick1704,

du hast aber schon die ganzen SQL Anweisungen nach der Anleitung durchgeführt?

Code: Alles auswählen

CREATE TABLE `phpbb_profile_guestbook` (
	`gb_id` int(10) NOT NULL auto_increment,
	`user_id` int(10) NOT NULL default '0',
	`poster_id` int(10) NOT NULL default '0',
	`gb_time` int(10) NOT NULL default '0',
	`title` varchar(255) NOT NULL default '',
	`message` text NOT NULL,
	`bbcode_uid` varchar(8) collate utf8_bin NOT NULL,
	`bbcode_bitfield` varchar(5) collate utf8_bin NOT NULL,
	`user_guestbook_limit` VARCHAR(255) NULL,
	`user_guest_name` varchar(64) NOT NULL default '',
PRIMARY KEY  (`gb_id`));


ALTER TABLE `phpbb_users` ADD `user_guestbook_active` TINYINT( 1 ) DEFAULT '1' NOT NULL;

ALTER TABLE `phpbb_users` ADD `user_guestbook_delete` TINYINT( 1 ) DEFAULT '1' NOT NULL;

ALTER TABLE `phpbb_users` ADD `user_guestbook_send` TINYINT( 1 ) DEFAULT '1' NOT NULL;

ALTER TABLE `phpbb_users` ADD `user_guestbook_limit` INT(11) DEFAULT '10' NOT NULL;
gehe doch mal versuchsweise her und tausche:

Code: Alles auswählen

$limit = $member['user_guestbook_limit']; 
mit folgendem aus:

Code: Alles auswählen

$limit = 5; 
Kommt dann die Fehlermeldung immer noch?

Gruß Helmut

Re: Gästebuchmod Problem bitte schnell antworten!

Verfasst: 11.12.2010 13:47
von Gast123456
Ja wie gesagt ich habe auch die Tabellen gemacht.

Okay ich teste mal....
*Testen*

jetzt kommt der fehler:

Code: Alles auswählen

»¿[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3240: Invalid argument supplied for foreach()
Zurück zur Foren-Übersicht
Allgemeiner Fehler
SQL ERROR [ mysqli ]

Table 'dsprojekts.phpbb_profile_guestbook' doesn't exist [1146]

SQL

SELECT g.*, u.user_colour FROM phpbb_profile_guestbook g, phpbb_users u WHERE g.user_id = 2 AND g.poster_id = u.user_id ORDER BY g.gb_id DESC LIMIT 0, 5

BACKTRACE

edit:
Ich habe nochmal den SQl befehl gegeben und nun gehts im Forum
Es kommt keine Fehlermeldung!

Aber warum?
Ich habe die Tabbelen schon erstellt gehabt!
Ganz sicher...

Aber ein gästebuch sehe ich nun nicht.

Wo sieht man das?

Re: Gästebuchmod Problem bitte schnell antworten!

Verfasst: 13.12.2010 18:30
von Gast123456
Könnte mir jemand sagen warum ich jetzt das Gästebuch nicht sehe bzw wo man es sehen sollte?