Seite 1 von 4

Interner Bereich mit Benutzerdaten von PHPBB3

Verfasst: 12.03.2008 13:58
von Kizu
Habe hier schonmal danach gefragt (mit PHPBB2) Dort konnte ich es nicht hinkriegen.
Nochmal danke für die Mühe

Jetzt habe ich PHPBB3 und hoffe damit kriege ich es hin.
Hier nochmal meine Frage:
kizu hat geschrieben:Ich möchte gerne eine PHP-Datei haben, die prüft ob ein User in einer Benutzergruppe ist oder nicht. Wenn der in der Benutzer angemeldet ist und sich in der Gruppe befindet soll ein html code angezeigt werden. ohne header und footer. wenn er nicht eingeloggt ist soll der user ein login Formular vorfinden. wenn er nicht in der Gruppe ist eine Fehlermeldung

Verfasst: 12.03.2008 14:58
von moneycoach
Das dürfte ein wenig helfen: Gruppenzugehörigkeit prüfen

Verfasst: 12.03.2008 19:03
von Kizu
jetzt habe ich noch zwei fragen:
wie teile ich der Datei eine Template Datei zu?
und
wie kann ich nicht eingeloggte User zur Loginseite leiten?

EDIT: Ich habe mir jetzt diese Datei zusammengezimmert:
http://seriuskoesehome.se.funpic.de//intern/index.txt

wenn ich diese Datei aufrufe kommt folgende Meldung:
Parse error: syntax error, unexpected T_VARIABLE in /usr/export/www/vhosts/funnetwork/hosting/seriuskoesehome/intern/index.php on line 23

Verfasst: 12.03.2008 23:28
von Helmut
Hallo Kizu,

du hast ein Komma in deiner Datei vergessen, tausche mal

Code: Alles auswählen

$template->set_filenames(array(
    'intern' => 'intern.html'
));
gegen das hier aus

Code: Alles auswählen

$template->set_filenames(array(
    'intern' => 'intern.html',
));
Wenn du eigene Seiten ins Forum einbauen willst, das ist diese Beschreibung hier ganz hilfreich.

Gruß Helmut

Verfasst: 13.03.2008 01:32
von Kizu
danke. nur kommt die gleiche meldung.
Was die Seite angeht: Englisch ist nicht meine Stärke. Wäre für eine übersetzung dankbar.

Ach. ich habe gerade nochmal nachgesehen: Die Zeile 23 ist diese hier:

Code: Alles auswählen

$template->set_filenames(array(
nicht diese:

Code: Alles auswählen

'intern' => 'intern.html',

Verfasst: 13.03.2008 11:29
von Dr.Death
Der Fehler in der Zeile 23 ist ein "Folgefehler", da Du ein der vorherigen Zeile das PHP Befehls Ende " Semikolon " vergessen hast.

SUCHE:

Code: Alles auswählen

$is_in_group = group_memberships($group_id, $benutzer_id , true)
ERSETZE MIT:

Code: Alles auswählen

$is_in_group = group_memberships($group_id, $benutzer_id , true);
Zusatz:


Ich würde die Variablen Zuweisung:

Code: Alles auswählen

if ($is_in_group = true)
{
    // Teile dem Template System mit, das die Variable "S_IN_GROUP" den Wert TRUE bekommt
   $template->assign_var('S_IN_GROUP', true);
}
vor dem Befehl:

Code: Alles auswählen

$template->pparse('intern');
setzen.

Ansonsten wird die Ausgabe gestartet, aber die Variable wird es "nachher" ( sprich: zu spät ) übergeben :o :roll:

Verfasst: 13.03.2008 13:09
von Kizu
Danke. leider gibt es jetzt Probleme mit den Includierten Dateien:

Warning: include(../extension.inc) [function.include]: failed to open stream: No such file or directory in /usr/export/www/vhosts/funnetwork/hosting/seriuskoesehome/intern/index.php on line 5

Warning: include() [function.include]: Failed opening '../extension.inc' for inclusion (include_path='.:') in /usr/export/www/vhosts/funnetwork/hosting/seriuskoesehome/intern/index.php on line 5

Warning: include(../common.) [function.include]: failed to open stream: No such file or directory in /usr/export/www/vhosts/funnetwork/hosting/seriuskoesehome/intern/index.php on line 6

Warning: include() [function.include]: Failed opening '../common.' for inclusion (include_path='.:') in /usr/export/www/vhosts/funnetwork/hosting/seriuskoesehome/intern/index.php on line 6

Fatal error: Call to undefined function session_pagestart() in /usr/export/www/vhosts/funnetwork/hosting/seriuskoesehome/intern/index.php on line 9

Vieleicht sollte ich nochmal schreiben, dass ich die Vorlage für in phpBB eingebundene Seiten benutzt habe, die mir hier empfohlen wurde. Ist diese Vorlage auch für die 3er Version gültig?

Hier nochmal die Datei:
http://seriuskoesehome.se.funpic.de//intern/index.txt

Verfasst: 13.03.2008 20:39
von Dr.Death
Der phpbb_root_path scheint nicht korrekt zu sein.

Code: Alles auswählen

$phpbb_root_path = '../';
Wo liegt Dein Script, und wo liegt dein Forum ? ( Verzeichnis )

..... jetzzt geht mir ein Licht auf:

Du hattest nachgefragt für PHPBB2.... ( die Vorlage Seiten )

Nun fragst Du nach Codestücken für PHPBB3 und verwendest aber Vorlagedateien von PHPBB2.
Das kann nicht klappen.

Vorlage Dateien für phpBB3 findest Du hier:

http://olympuswiki.naderman.de/Adding_pages

Verfasst: 13.03.2008 21:56
von gn#36
Ich habe jetzt nicht alles angesehen, aber mir ist das hier zufällig aufgefallen in Dr. Deaths Post:

Code: Alles auswählen

if ($is_in_group = true)
{
    // Teile dem Template System mit, das die Variable "S_IN_GROUP" den Wert TRUE bekommt
   $template->assign_var('S_IN_GROUP', true);
}
Die erste Zeile birgt einen üblicherweise sehr schwer zu findenden Fehler: Mach mal aus dem einzelnen Gleichheitszeichen zwei...

Vermutlich willst du in der If Abfrage ja testen ob $is_in_group true ist und nicht die Variable auf true setzen (dann könntest du die Abfrage ja auch weglassen). Ich suche mich nach solchen Fehlern wenn ich sie mache immer tot.

Verfasst: 13.03.2008 22:15
von Kizu
danke.
Helmut hatte mir den Link auch schon gesetzt. Ich hatte aber gedacht, dass es mit der alten Vorlage auch klappt. Jetzt kommt der allgemeine Fehler, der mich darauf hinweist, dass eine language-file nicht geöffnet werden kann.
Hier die Seite:
http://seriuskoesehome.se.funpic.de//intern/index.php
Hier nochmal als txt:
http://seriuskoesehome.se.funpic.de//intern/index.txt

wo muss ich die Datei reinsetzten, oder kann ich auf sie verzichten, wenn ich meinen Text direkt in die Templatedatei einfüge? und welche Stelle muss ich dann entfernen?

@gn#36: das habe ich auch geändert. Danke