Seite 1 von 1

Ajax Chat in neue Seite einbinden

Verfasst: 06.05.2009 13:34
von Stretch30
Hallo liebe Forenspezialisten,

ich habe den Ajax Chat 0.8.2 in mein Forum eingebunden. Er wurde auch richtig angezeigt. Nun wollte ich aber meinen Usern das gewohnte Bild (header/footer) und die Möglichkeit zur Navigation nicht nehmen. Ich habe daher eine neue Seite erstellt nach diesem Vorbild (http://wiki.phpbb.com/Deutsch:Vorlage_f ... ene_Seiten). Das hat auch prima geklappt. Ich habe daraufhin die "index.php" des Chat Ordners in die "neueseite.php" der neuen Seite integriert und bekomme diese Fehlermeldungen: http://www.dipshits.de/chat/index.php

Der Code der chat/index.php (Original) kann hier eingesehen werden: http://www.dipshits.de/fehlerhafte_dateien/index.txt
Der Code der abgeänderten chat/index.php (neueseite.php) kann hier eingesehen werden: http://www.dipshits.de/fehlerhafte_dateien/index2.txt

Danke für Eure Hilfe!

---------------------------------

Hallo Balint, wie soll ich die jeweiligen Zeilen ändern? Ich habe Deinen Tipp nicht verstanden, sorry. Meine Zeile lautet:

Code: Alles auswählen

include($phpbb_root_path . 'common.' . $phpEx);
_________________________

Hallo Balint, ich habe die Zeile geändert, nun funktionierte sogar die Funktion, die zuerst überprüft, ob man eingeloggt ist. Sie leitete mich weiter auf die Chatseite, dann kam dieser Fehler (http://www.dipshits.de/chat/index.php):

[phpBB Debug] PHP Notice: in file /chat/lib/custom.php on line 14: Constant IN_PHPBB already defined

Fatal error: Cannot redeclare deregister_globals() (previously declared in /www/htdocs/w00b46e3/forum/common.php:32) in /www/htdocs/w00b46e3/forum/common.php on line 94

Zeile 14 in der /chat/lib/custom.php (txt Datei der Datei unter http://www.dipshits.de/fehlerhafte_dateien/custom.txt):

Code: Alles auswählen

define('IN_PHPBB', true);
Zeile 94 in der /common.php (txt Datei der Datei unter http://www.dipshits.de/fehlerhafte_dateien/commom.txt)

Code: Alles auswählen

foreach ($input as $varname)
	{
		if (isset($not_unset[$varname]))
		{
			// Hacking attempt. No point in continuing unless it's a COOKIE
			if ($varname !== 'GLOBALS' || isset($_GET['GLOBALS']) || isset($_POST['GLOBALS']) || isset($_SERVER['GLOBALS']) || isset($_SESSION['GLOBALS']) || isset($_ENV['GLOBALS']) || isset($_FILES['GLOBALS']))
			{
				exit;
			}
			else
			{
				$cookie = &$_COOKIE;
				while (isset($cookie['GLOBALS']))
				{
					foreach ($cookie['GLOBALS'] as $registered_var => $value)
					{
						if (!isset($not_unset[$registered_var]))
						{
							unset($GLOBALS[$registered_var]);
						}
					}
					$cookie = &$cookie['GLOBALS'];
				}
			}
		}

		unset($GLOBALS[$varname]);
	}

	unset($input);
}
Zeile 94 ist hier die letzte, also das "}"

_____________________________

Ich habe das Problem der doppelten Abrage der Nutzerinformationen gelöst. Allerdings traten danach erneute Probleme auf. Zwar wurde die Seite geladen, nun behackte sich aber die Headeranforderung von phpbb mit der ajaxeigenen Lösung:
Warning: include(includes/functions_display.) [function.include]: failed to open stream: No such file or directory in /www/htdocs/w00b46e3/forum/chat/index.php on line 25

Warning: include(includes/functions_display.) [function.include]: failed to open stream: No such file or directory in /www/htdocs/w00b46e3/forum/chat/index.php on line 25

Warning: include() [function.include]: Failed opening 'includes/functions_display.' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /www/htdocs/w00b46e3/forum/chat/index.php on line 25
[phpBB Debug] PHP Notice: in file /chat/lib/class/AJAXChat.php on line 2471: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /chat/index.php:25)
[phpBB Debug] PHP Notice: in file /chat/lib/class/AJAXChat.php on line 2471: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /chat/index.php:25)
[phpBB Debug] PHP Notice: in file /chat/lib/class/AJAXChatHTTPHeader.php on line 36: Cannot modify header information - headers already sent by (output started at /chat/index.php:25)
[phpBB Debug] PHP Notice: in file /chat/lib/class/AJAXChatHTTPHeader.php on line 37: Cannot modify header information - headers already sent by (output started at /chat/index.php:25)
[phpBB Debug] PHP Notice: in file /chat/lib/class/AJAXChatHTTPHeader.php on line 41: Cannot modify header information - headers already sent by (output started at /chat/index.php:25)
[phpBB Debug] PHP Notice: in file /chat/lib/class/AJAXChatHTTPHeader.php on line 45: Cannot modify header information - headers already sent by (output started at /chat/index.php:25)
Es ist wohl aussichtslos, vor allem für einen eher unerfahrenen User wie mich, den Chat so ohne weiteres in eine leere Seite einbauen zu wollen. Vielleicht hat ja einer von Euch erfahrenen und im Umgang mit php, html etc. vertrauten Usern eine Idee, wie man das Problem lösen könnte.

Re: Ajax Chat in neue Seite einbinden

Verfasst: 06.05.2009 13:40
von Balint
Hallo,

versuche mal bitte die

Code: Alles auswählen

$phpbb_root_path = './';
durch

Code: Alles auswählen

$phpbb_root_path = '../';
zu ersetzen. Du führst das Skript in einem Unterverz. aus und willst auf die darüberliegenden Dateien zugreifen.


Viele Grüße,
Bálint

Re: Ajax Chat in neue Seite einbinden

Verfasst: 06.05.2009 14:31
von Balint
Hallo,

die von dir verlinkte Datei index2.txt hat relativ am Anfang folgende Zeilen

Code: Alles auswählen

/**
* @ignore
*/
// Benötigte Dateien und Variablen von phpBB 
define('IN_PHPBB', true);
$phpbb_root_path = './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
Dort findest du die Zeile

Code: Alles auswählen

$phpbb_root_path = './';
Diese Zeile ersetzt du mit

Code: Alles auswählen

$phpbb_root_path = '../';
Also du löschst die alte Zeile raus und trägst an die gleiche Stelle die neue Zeile ein.



Viele Grüße,
Bálint