Problem beim Einbinden einer eigenen Startseite

Fragen zur Bedienung von phpBB 3.0.x, Probleme bei der Benutzung und alle weiteren Fragen inkl. Update auf die neuste phpBB 3.0.14 Version
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.
melstpbb
Mitglied
Beiträge: 30
Registriert: 13.07.2008 12:07
Wohnort: Fischamend
Kontaktdaten:

Problem beim Einbinden einer eigenen Startseite

Beitrag von melstpbb »

Hi

Ich bin bei dem Versuch eine eigene Startseite einzubinden und wollte erst einmal ein funktionierendes Grundgerüst schaffen.
Nun, es ist mir nicht gelungen,...

Ich bin so vorgegangen:

Ich habe in .htacess folgende Zeile oben eingefügt, um die Startseite gleich zu Anfang zu laden:

DirectoryIndex lalforumstart.php index.php index.html index.htm

Sie sieht also so aus:

Code: Alles auswählen

DirectoryIndex lalforumstart.php index.php index.html index.htm
<Files "config.php">
Order Allow,Deny
Deny from All
</Files>

<Files "common.php">
Order Allow,Deny
Deny from All
</Files>
Dann habe ich eine .php Siete erstellt , sie lalforumstart.php genannt und in's root - Verzeichnis von phpbb3 gestellt, sie sieht so aus:

Code: Alles auswählen

<<?php

// 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);



// Session auslesen und Benutzer-Informationen laden
$user->session_begin();
$user->setup();
$auth->acl($user->data);

/*
* Inhaltsbereich
*/


// Header und Titel der Seite
page_header('Forum Start');

// Angabe eurer Content-Seite
$template->set_filenames(array(
   'body' => 'lalforumstart.html')
);

// Footer
page_footer();

?>
Noch ohne Inhaltsbereich, ich weiß :-)

Dann habe ich eine lalforumstart.html erstellt, un diese in's template-Verzeichnis meines styles gestellt, sie sieht so aus:

Code: Alles auswählen

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <title>Forum Start/title>
</head>
<body>
    <!-- INCLUDE overall_header.html -->
   <h1>TEST</h1>
   <a href="index.php">Zum Forum</a>
   <!-- INCLUDE overall_footer.html -->
</body>
</html>

Die includes hatte ich schon an allen Stellen ausprobiert, also vor dem html - tag etc etc ..

Egal, was ich mache, ich bekomme, die Seite mit dem Board - Style, mit dem Header, dem Footer, aber ganz oben im Header erscheinen immer wieder die Zeilen:

<[phpBB Debug] PHP Notice: in file /includes/session.php on line 942: Cannot modify header information - headers already sent by (output started at /lalforumstart.php:1)
[phpBB Debug] PHP Notice: in file /includes/session.php on line 942: Cannot modify header information - headers already sent by (output started at /lalforumstart.php:1)
[phpBB Debug] PHP Notice: in file /includes/session.php on line 942: Cannot modify header information - headers already sent by (output started at /lalforumstart.php:1)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3545: Cannot modify header information - headers already sent by (output started at /lalforumstart.php:1)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3547: Cannot modify header information - headers already sent by (output started at /lalforumstart.php:1)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3548: Cannot modify header information - headers already sent by (output started at /lalforumstart.php:1)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3549: Cannot modify header information - headers already sent by (output started at /lalforumstart.php:1)

Wie schaffe ich mir die vom Hals ?

Gibz irgendwo eine Newbie - Anleitung für den "Inhalt - Bereich" ?

Danke
lg
Michael
Benutzeravatar
nickvergessen
Ehrenadmin
Beiträge: 11559
Registriert: 09.10.2006 21:56
Wohnort: Stuttgart, Germany
Kontaktdaten:

Beitrag von nickvergessen »

1. die php-Datei sollte mit

Code: Alles auswählen

<?php
anfangen udn nicht mit:

Code: Alles auswählen

<<?php
2. die Template-Datei sollte so aussehen:

Code: Alles auswählen

<!-- INCLUDE overall_header.html -->
	<h1>TEST</h1>
	<a href="index.php">Zum Forum</a>
<!-- INCLUDE overall_footer.html -->
Der Rest steckt in den overall-Dateien
kein Support per PN
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Als ergänzenden Hinweis: Dass die Leerzeile am Anfang wegkommt ist wichtig! Das allererste Zeichen muss das < von <?php sein!
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
melstpbb
Mitglied
Beiträge: 30
Registriert: 13.07.2008 12:07
Wohnort: Fischamend
Kontaktdaten:

Beitrag von melstpbb »

Vielen Dank, jetzt funktioniert das Grundgerüst.

Jetzt würde ich nur noch gerne wissen, wie ich Links zu den Kategorien setzen kann, die in jeder Situation funktionieren.

Ich hab' da irgendetwas mit "append" und "sid" vom Durchlesen in Erinnerung, finde das aber nicht mehr.


Noch etwas ist mir aufgefallen:

Wenn ich mich in meiner Startseite über den Header anmelde, leitet mich phpbb3 automatisch auf die Forenübersicht. Ich möchte aber, dass der Angemeldete auf der Startseite bleibt, und nur über meine links zu den Kategorien oder zur Forenübersicht wechselt.

Ausserdem: Wenn ich mich im Forum angemeldet habe und dann auf die Startseite wechsle, bin ich ausgeloggt - Wieso ? (Ich habe an den Session - Einstellungen nichts verändert.)


Danke
lg Michael
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Also eines nach dem anderen:
Es gibt eine Funktion append_sid() mit der du arbeiten kannst die notfalls die SID an den Link haengt wenn notwendig. Einfach den Link als Parameter uebergeben und den Rueckgabewert ausgeben.

Fuer das zweite Problem habe ich gerade den Aufbau nicht ganz im Kopf. Ich denke, ich wuerde einfach den Link im Header durch einen anderen ersetzen der nicht auf das UCP verweist sondern auf deine Startseite. Dann baust du in deiner Startseite eine Funktion ein, die den Login vornimmt (du musst lediglich eine Funktion aufrufen). Also etwa so:

Code: Alles auswählen

if(isset($_GET['login']))
{
login_box();
}
Das letzte Problem laesst auf Cookie Probleme schliessen. Wenn du auf die Startseite wechselst, dann solltest du eingeloggt bleiben wenn du dich an die Vorlage gehalten hast und Cookies funktionieren. Das gilt aber nicht wenn Cookies nicht funktionieren und du die SID nicht an die URL angehaengt hast. Alle Foruminternen Links werden automatisch mit der SID versehen wenn die Cookies nicht funktionieren, aber bei deiner Startseite musst du da natuerlich selbst drauf achten.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
melstpbb
Mitglied
Beiträge: 30
Registriert: 13.07.2008 12:07
Wohnort: Fischamend
Kontaktdaten:

Beitrag von melstpbb »

Hi
gn#36 hat geschrieben:Also eines nach dem anderen:
Es gibt eine Funktion append_sid() mit der du arbeiten kannst die notfalls die SID an den Link haengt wenn notwendig. Einfach den Link als Parameter uebergeben und den Rueckgabewert ausgeben.
? Bahnhof ? - Bin leider kein php- Kenner. Wenn ich die Funktion aus der Knowledge-Base abschreibe, wird gar nichts angehängt. Im Gegenteil, es bleibt vom Link überhaupt nur das Verzeichnis über :-(

Ich habe auf der Startseite natürlich etliche Links in Unterforen, wobei genau das Verhalten natürlich unbrauchbar ist. die append - Funktion scheine ich nicht zu behirnen, und wenn ich einen normalen Forums - Link setze, ist der User nach klicken des links ausgeloggt :-) - Genauer gesagt ist er dass bereits, wenn er nach dem registrieren/einloggen zu meiner Startseite zurückkommt. :(
gn#36 hat geschrieben: Das letzte Problem laesst auf Cookie Probleme schliessen. Wenn du auf die Startseite wechselst, dann solltest du eingeloggt bleiben wenn du dich an die Vorlage gehalten hast und Cookies funktionieren. Das gilt aber nicht wenn Cookies nicht funktionieren und du die SID nicht an die URL angehaengt hast. Alle Foruminternen Links werden automatisch mit der SID versehen wenn die Cookies nicht funktionieren, aber bei deiner Startseite musst du da natuerlich selbst drauf achten.
Tja, - ich teste das hier mit einer lokalen Installation, Cookies sind aktiviert - trotzdem funktioniert das nicht. Aber den Browser eines users könnte ich ja sowieso nicht kontrollieren, also sollte es auch sowieso ohne cookies funktionieren.

lg Michael


---- Ich habe es jetzt nochmal versucht. Ich dachte mir, vielleicht sollte ich auch dem Link im Overall - Header der auf meine Startseite verweist, die sid mitgeben, damit "Die Startseite weiß, in welcher Session sie sich befindet" :-)

... und jetzt bin ich vollends verwirrt.

Wenn der Link so aussieht:

Code: Alles auswählen

<td width="100%" align="center"><h1><a href="lalforumstart.php">{SITENAME} - &Uuml;bersicht</a></h1><span class="gen">{SITE_DESCRIPTION}<br /> Ein Service von <a href="http://lustaufleben.at/">Lustaufleben</a></span></td>
Dann zeigt der Browser korrekter Weise beim Zeigen auf den Link an: http://localhost/phpBB3/lalforumstart.php

... aber natürlich ohne sid.

Wenn ich das jetzt so schreibe:

Code: Alles auswählen

<td width="100%" align="center"><h1><a href="<?php append_sid('lalforumstart.php'); ?>">{SITENAME} - &Uuml;bersicht</a></h1><span class="gen">{SITE_DESCRIPTION}<br /> Ein Service von <a href="http://lustaufleben.at/">Lustaufleben</a></span></td>
Dann zeigt der Browser als Link, und springt auch auf:

http://localhost/phpBB3/index.php?sid=f ... 7d71459f18


Wieso denn das ?????
In dem Link steht nirgendwo, er möge auf die index.php gehen, oder holt er sich das aus der htaccess ?

lg Michael[/quote]
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Der reine Funktionsaufruf reicht ja auch nicht. Du solltest die URL schon auch ausgeben nachdem du sie generiert hast... :roll:

Ein echo sollte reichen ;)

Ist das alles eigentlich im Template? Wenn ja, hast du PHP überhaupt aktiviert? Standardmäßig lässt sich im Template nämlich kein PHP verwenden, d.h. du müsstest stattdessen deinen Code auf functions.php und overall_header.html aufteilen (KB:template_syntax, KB:template_system wären da - wenn sie auch ein wenig veraltet sind eine gute Referenz)

Dass der Link auf die Index.php springt liegt vermutlich am Browser der einfach die gleiche URL noch mal anzeigt (und du somit auf der index.php warst).
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
melstpbb
Mitglied
Beiträge: 30
Registriert: 13.07.2008 12:07
Wohnort: Fischamend
Kontaktdaten:

Beitrag von melstpbb »

gn#36 hat geschrieben:Der reine Funktionsaufruf reicht ja auch nicht. Du solltest die URL schon auch ausgeben nachdem du sie generiert hast... :roll:
Für mich ist das kryptisch - Ich habe nach Anleitung in der knowledge - base (deutsch und englisch) eine eigene Startseite erstellt. Die funktioniert auch soweit ..
Nur die links MIT SID wollen mir nicht gelingen.

Also stellt sich mir die Frage, wie ich in der template, also der html - Datei links ins Forum kreiere, die eine SID haben.

Aber auch umgekehrt - In der overall_header.html (Ich meine das dort ja php funktionieren müsste) gelingt es mir nicht ein link auf die startseite zu setzen, die mittels append_sid eine SID mitbekommt. Wie ich die url - ausgebe ist leider in den tutorials nirgendwo beschrieben, zumindest habe ich dazu nichts gefunden.
gn#36 hat geschrieben: Ein echo sollte reichen ;)
Habe ich auch schon versucht :D - funktioniert auch nicht.
gn#36 hat geschrieben: Ist das alles eigentlich im Template? Wenn ja, hast du PHP überhaupt aktiviert?
Ja ist im template (aber auch, wie geschrieben im overall_header)
gn#36 hat geschrieben: Standardmäßig lässt sich im Template nämlich kein PHP verwenden, d.h. du müsstest stattdessen deinen Code auf functions.php und overall_header.html aufteilen (KB:template_syntax, KB:template_system wären da - wenn sie auch ein wenig veraltet sind eine gute Referenz)
Was macht das eigentlich dann für Sinn, wenn Tutorials für eigene Seiten herumschwirren, wenn man da drinnen gar keine links zum Forum setzen kann ?
Mir geht's dabei nicht nur um EIN Link. Ich brauche die Startseite um das Forum in verschiedene Bereiche aufzuteilen und zu Strukturieren, was innerhalb von PHPBB3 einfach nicht möglich ist - zumindest wird das elendiglich unübersichtlich.

Wie sind simple links zu Foren unter Beibehaltung des Anmeldestatus des Users zu realisieren, und ein rückspringen zur eigenen Übersichtsseite EBENFALLS unter Beibehaltung des login - Status ?

:roll:

lg Michael
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Also gut. Deinen ersten Posts zu folgen hätte ich geschlossen, dass du zumindest ein klein bisschen Ahnung von PHP hast.

In Templates funktioniert PHP erst mal von Hause aus nicht. Man kann das aber aktivieren, hierfür muss man lediglich im ACP unter Server-Konfiguration -> Sicherheit "Erlaube PHP in Templates" auf Ja setzen. Dann erst kannst du PHP Code in Templates benutzen, dieser muss aber dann in folgender Form da stehen:

Code: Alles auswählen

<!-- PHP -->dein PHP Code <!-- ENDPHP -->
Es kann sein, dass die übliche Formatierung <?php code ?> auch geht, aber da bin ich mir nicht sicher. Solange das nicht aktiviert war im ACP wird das Template vor der Ausführung von allen PHP Befehlen befreit, sprich da stand einfach nichts drin. Das echo brauchst du auf jeden Fall, denn ansonsten wird nichts ausgegeben. Du könntest die Funktion append_sid ja auch aufrufen, ohne dass du das Ergebnis brauchst (z.b. weil die Funktion vielleicht noch was anderes tut. Das ist zwar hier nicht der Fall, aber bei anderen Funktionen könnte es sein).
Also:
  • PHP in Templates aktivieren
  • PHP Code wie oben beschrieben ins Template einbauen
  • Fertig.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
melstpbb
Mitglied
Beiträge: 30
Registriert: 13.07.2008 12:07
Wohnort: Fischamend
Kontaktdaten:

Beitrag von melstpbb »

Hi gb#36

Vielen Dank, für deine Mühen. Anscheinend bin ich aber zu doof dazu, deine Hilfen umzusetzen.
gn#36 hat geschrieben: Dann erst kannst du PHP Code in Templates benutzen, dieser muss aber dann in folgender Form da stehen:

Code: Alles auswählen

<!-- PHP -->dein PHP Code <!-- ENDPHP -->
Es kann sein, dass die übliche Formatierung <?php code ?> auch geht, aber da bin ich mir nicht sicher.
Ich habe jetzt alle mir erdenklichen Varianten in den link der overall_header.html eingebaut, bekomme aber nur Fehlermeldungen.

Der "ursprüngliche link" sah so aus:

Code: Alles auswählen

<td width="100%" align="center"><h1><a href="<?php append_sid('lalforumstart.php'); ?>">{SITENAME} - &Uuml;bersicht</a></h1><span class="gen">{SITE_DESCRIPTION}<br /> Ein Service von <a href="http://lustaufleben.at/">Lustaufleben</a></span></td>
Bitte sei so nett, und schreibe mir, wie der link korrekt geschrieben werden muss.

gn#36 hat geschrieben:Also gut. Deinen ersten Posts zu folgen hätte ich geschlossen, dass du zumindest ein klein bisschen Ahnung von PHP hast.
Minimalstahnung = "Hallo Welt" ;-)
gn#36 hat geschrieben: In Templates funktioniert PHP erst mal von Hause aus nicht. Man kann das aber aktivieren, hierfür muss man lediglich im ACP unter Server-Konfiguration -> Sicherheit "Erlaube PHP in Templates" auf Ja setzen.
... scheint eine unsichere Lösung zu sein.

Ich habe jetzt einfach in der functions.php Variablen definiert, die die links mit SID beinhalten und verwende die Variablen im template - und das funktioniert auch.


Jetzt stellen sich "nur noch" die Probleme:

Wie leite ich einen User, der sich registriert und eine Aktivierungs - mail zugesandt bekommt wieder auf meine eigene Startseite, - will heissen, wie manipuliere ich die mail, die der user zugesandt bekommt ?


Wie bringe ich phpbb3 dazu, wenn sich ein user über den Header (overall_header) meiner Startseite anmeldet dazu, danach nicht auf die Forums - Übersicht, sondern wieder auf meine Startseite zu leiten ?

lg Michael

Nochmals Danke
lg Michael
Antworten

Zurück zu „[3.0.x] Administration, Benutzung und Betrieb“