Interner Bereich mit Benutzerdaten von PHPBB3

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
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.
Kizu
Mitglied
Beiträge: 543
Registriert: 11.05.2007 15:19
Wohnort: Bremen
Kontaktdaten:

Interner Bereich mit Benutzerdaten von PHPBB3

Beitrag 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
Zuletzt geändert von Kizu am 12.03.2008 20:57, insgesamt 1-mal geändert.
Benutzeravatar
moneycoach
Mitglied
Beiträge: 217
Registriert: 02.02.2007 21:57

Beitrag von moneycoach »

Das dürfte ein wenig helfen: Gruppenzugehörigkeit prüfen
Kizu
Mitglied
Beiträge: 543
Registriert: 11.05.2007 15:19
Wohnort: Bremen
Kontaktdaten:

Beitrag 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
Helmut
Mitglied
Beiträge: 2048
Registriert: 27.12.2002 20:35
Wohnort: Augsburg

Beitrag 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
Ich bin nicht ganz dicht.... na und.
Kizu
Mitglied
Beiträge: 543
Registriert: 11.05.2007 15:19
Wohnort: Bremen
Kontaktdaten:

Beitrag 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',
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17412
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Beitrag 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:
Kizu
Mitglied
Beiträge: 543
Registriert: 11.05.2007 15:19
Wohnort: Bremen
Kontaktdaten:

Beitrag 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
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17412
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Beitrag 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
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag 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.
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.
Kizu
Mitglied
Beiträge: 543
Registriert: 11.05.2007 15:19
Wohnort: Bremen
Kontaktdaten:

Beitrag 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
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“