AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP] Zuletzt online

Ein Thema von MrSpock · begonnen am 8. Dez 2007 · letzter Beitrag vom 8. Dez 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#1

[PHP] Zuletzt online

  Alt 8. Dez 2007, 11:38
Hallo,

ich habe ein Standard PHP Forum. Wir hier in der DP oder in anderen Foren gibt es ja eine umfangreiche Statistik mit Infos z.B. über:

Zitat:
angemeldet: xxx
xxx Mitglied in der DP)
Letzter Besuch: xxx
Dauer des letzten Besuches: xxx
Anzahl Besuche:
(seit xxx) xxx
Anzahl Seitenabrufe:
(seit xxx) xxx
Gibt es diese Info als Erweiterung zu PHP?
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: [PHP] Zuletzt online

  Alt 8. Dez 2007, 11:44
Hi Albert,

wie wäre es mit Last Visit Hack?

Grüße

Edit: Ich habe es so aufgefasst, dass du eine phpBB-Weweiterung suchst.
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#3

Re: [PHP] Zuletzt online

  Alt 8. Dez 2007, 13:10
Hallo Matze,

danke für den guten Tip.

Habe den Hack jetzt installiert und er funktioniert auch.

Jetzt kann aber jeder die Statistik aufrufen, auch ein Gast. Ist das so gewollt oder kann man das leicht ändern? Im Admin Panel wird zumindest keine spezielle Option dafür angeboten.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: [PHP] Zuletzt online

  Alt 8. Dez 2007, 13:19
Hi,

falls man's im ACP nicht einstellen kann, genügt es, den Block, den nur registrierte Benutzer sehen dürfen, in

Code:
einzufassen. In der entsprechenden PHP-Datei könntest du zusätzlich auch noch den Code, der diese Anzeige ermittelt, durch ein "if" nur in dem Fall ausführen lassen, wenn man eingeloggt ist. Ich glaube, die if-Anweisung ist diese:

Code:
if ($userdata['session_logged_in'])
bin mir aber nicht mehr ganz sicher.

Grüße, Matze
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#5

Re: [PHP] Zuletzt online

  Alt 8. Dez 2007, 15:13
Hallo Matze,

danke für den Tip. Habe es jetzt zwar recht restriktiv eingerichtet, aber das ist mir so auch lieber. Gäste können jetzt gar nichts mehr sehen, außer dem Ameldebereich.

[edit]Hab es jetzt noch einmal so geändert, dass Gäste zwar die Namen unter "Wer ist online sehen können", aber beim Anklicken sehen sie nicht das Profile.[/edit]

Änderung in der profile.php:

Code:
if ( $mode == 'viewprofile' )
   {
      // profile nur bei Login anzeigen:
      if ($userdata['session_logged_in']) //diese if Abfrage hinzugefügt
      {
         include($phpbb_root_path . 'includes/usercp_viewprofile.'.$phpEx);
         exit;
      }
   }
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: [PHP] Zuletzt online

  Alt 8. Dez 2007, 15:40
Moin,

du verhinderst, dass bei Gästen die PHP-Datei für die Profil-Seite eingebunden wird. Somit sehen Gäste da gar nichts (die Template-Engine wird nicht mit Werten gefüttert).

Wenn du in der profile_view_body.tpl die Änderungen des Hacks für die Ausgabe der Daten in den genannten Switch einfasst, sollte es eigentlich gehen. Die Daten werden dann bei Gästen nicht mehr dargestellt.

Nicht zwingend notwendig sind die Änderungen in der PHP-Datei, da es sich auch nicht um sicherheitskritische Daten handelt. Die Template-Engine wird ohne Änderung mit den entsprechenden Werten versorgt, sie gibt diese jedoch nicht aus.
Möchtest du die Template-Engine gar nicht erst mit den Werten versorgen (das ist minimal performanter), dann darfst du in der profile.php keine Änderungen durchführen, da diese Datei - mehr oder weniger - nur verschiedene Dateien einbindet. Die Änderungen müssten in die includes/usercp_viewprofile.php.

Gruß

Edit: Ich würde glaub in der PHP-Datei den entsprechenden Variablen einen Leerstring zuweisen, das ist dann relativ simpel. Beispiel:

Code:
if ($userdata['session_logged_in'])
{
   $online_time = ... ;
   $last_visit = ... ;
}
else
{
   $online_time = '';
   $last_visit = '';
}
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#7

Re: [PHP] Zuletzt online

  Alt 8. Dez 2007, 16:19
Hallo Matze,

ist die Änderung, die ich in der profile.php (siehe oben) gemacht habe, problematisch? Sie funktioniert zumindest so, wie geplant. Du meinst aber, ich dürfe in dieser Datei keine Änderung machen.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: [PHP] Zuletzt online

  Alt 8. Dez 2007, 16:34
Hallo

du kannst darin schon Änderungen machen, nur bewirken diese nicht das, was du gerne hättest. Ich habe verstanden, das Gäste das Profil sehen dürfen, nur spezielle Daten nicht.
Aber sonst denke ich, dürfte das nichts ausmachen, wobei ich zugeben muss, dass ich's anders lösen würde. ich würde in der usercp_viewprofile.php eine Weiterleitung zur Loginseite machen, wenn man nicht angemeldet ist. Das müsste so in der Art gehen:

Code:
if (! $userdata['session_logged_in'])
{
    redirect(append_sid('login' . $phpEx, true));
}
Gruß
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#9

Re: [PHP] Zuletzt online

  Alt 8. Dez 2007, 16:47
Hallo Matze,

das sieht gut aus. Habe ich auch gleich so umgesetzt. Im Quellcode muss übrigens noch ein Punkt hinter das "login", weil dieser nicht im $phpEx enthalten ist, aber sonst funktioniert es gut und ist auch die beste Reaktion des Systems, weil es dem Nutzer klar macht, wenn du das Profil dieser Person sehen willst, musst du dich einloggen.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: [PHP] Zuletzt online

  Alt 8. Dez 2007, 17:00
Hi,

ah ok, dann muss der Punkt hin, aber das hast du ja selbst gleich gemerkt.
Du kannst auch noch einen Redirect-Parameter mitgeben, damit nach dem Login gleich zur Profilseite weitergeleitet wird. Das geht grob so, aber ob das hinhaut, steht in den Sternen.

usercp_viewprofile.php:
Code:
if (! $userdata['session_logged_in'])
{
    redirect(append_sid('login.' . $phpEx . '?redirect=profile.' . $phpEx . '&mode=viewprofile&u=' . $profiledata['user_id'], true));
}
Da die user-ID in der usercp_viewprofile.php auf ihre Gültigkeit überprüft wird, musst du diese hier nicht mehr gesondert behandeln, würde ich sagen. Aber wie gesagt, ob das funktioniert, weiß ich grad auch nicht.

Grüße
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz