• Willkommen, Gast!
  • Montag, 23. September 2019, 07:45:36
Position: Home » Boardsolution » Boardsolution v1.3x » Abfrage, ob User eingeloggt ist / Class 'FWS_Props' not found in...
Antworten
Thema: Abfrage, ob User eingeloggt ist / Class 'FWS_Props' not found in... [Seite 1 ]

Kein neuer Beitrag PeterD , 16.12.2011, 13:35
Beitrag #1   

IP: n/a
Rang: * * * * * * *
Registrierung: 06.07.2009, 11:57
 

Forum-Gott mit 3 Punkte, 1 Beiträge
Hallo,

ich setze Boardsolution 1.36 ein. Es läuft soweit alles prächtig. Jetzt habe ich folgende
Aufgabenstellung: Ich möchte aus einer ganz anderen Webseite (anderer Server, anderes OS,...)
heraus abfragen, ob ein User im Forum eingeloggt ist. Was ich habe, ist die ID des Users, von dem
ich den Login-Status haben möchte. Was ich brauche ist ein PHP-Skript, dass mir zu einer User-ID
ausgibt, ob der User eingeloggt ist. Dieses Skript rufe ich dann von meiner Seite aus auf und werte
aus, was ich zurück bekomme. Im ersten Ansatz habe ich dazu einfach mal geschaut, ob es in der
Tabelle bs_sessions einen Eintrag zu dieser User-ID gibt. Das funktioniert soweit prima, aber der
Eintrag in bs_sessions verschwindet, wenn der User im Forum eine Weile lang nichts macht. Also kann
das nicht der Weg sein. Über die Forumsuche bin auf die Extern API gestossen und habe diesen Code
gefunden:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
// pfad zu boardsolution

define('BS_PATH','forum/');

include_once(BS_PATH.'extern/bs_api.php');

$user = FWS_Props::get()->user();
if($user->is_loggedin())
  echo 'Eingeloggt als <b>'.$user->get_user_name().'</b>.';
else
  echo 'Nicht eingeloggt.';
BS_finish();
?>


Wenn ich den ausführe, bekomme ich die Fehlermeldung:

Fatal error: Class 'FWS_Props' not found in /srv/www/vhosts/<Domain>.de/httpdocs/test.php on line 8

Die Pfade fürs Inkludieren stimmen soweit. Nun habe ich auch mal alle PHP-Dateien nach 'FWS_Props'
durchsucht und da nichts gefunden... ???

Danke schonmal vorab!

Viele Grüße

Peter


 
Kein neuer Beitrag Nils , 16.12.2011, 18:46
Beitrag #2   

IP: n/a
Rang: * * * * * * *
Registrierung: 01.07.2003, 18:55
Homepage: http://www.script-solution.de
Wohnort: Marburg
 

Forum-Gott mit 7812 Punkte, 7566 Beiträge
Hallo,

PeterD hat folgendes geschrieben:
Was ich brauche ist ein PHP-Skript, dass mir zu einer User-ID ausgibt, ob der User eingeloggt ist.
Dieses Skript rufe ich dann von meiner Seite aus auf und werte aus, was ich zurück bekomme. Im
ersten Ansatz habe ich dazu einfach mal geschaut, ob es in der Tabelle bs_sessions einen Eintrag zu
dieser User-ID gibt. Das funktioniert soweit prima, aber der Eintrag in bs_sessions verschwindet,
wenn der User im Forum eine Weile lang nichts macht. Also kann das nicht der Weg sein.

Das verstehe ich nicht. Was heißt es für dich, dass jemand eingeloggt ist? Ich mein, wer loggt sich
schon explizit aus? Insofern ist der einzig vernünftige Weg jemanden nach einer gewissen Zeit
automatisch rauszuschmeißen. Konkret heißt das, jemand ist dann eingeloggt (hat einen Eintrag in
bs_sessions), wenn der letzte Aufruf des Boards nicht länger als 5 Minuten (standardmäßig)
zurückliegt. Wobei dieses automatische-ausloggen natürlich nur passiert, wenn ein anderer das Board
aufruft. Meiner Meinung nach ist dein Vorgehen, d.h. in der bs_sessions nach der User-ID gucken,
also vollkommen richtig.

PeterD hat folgendes geschrieben:
Über die Forumsuche bin auf die Extern API gestossen und habe diesen Code gefunden:
...

Der ist für Version 1.4x gedacht und funktioniert daher mit 1.3x nicht. Aber auch in letztere gibt
es eine Extern-API. Siehe extern/example.php.

mfg Nils

 
Kein neuer Beitrag waleedi , 12.01.2015, 09:50
Beitrag #3   

IP: n/a
Rang: * * * * * * *
Registrierung: 12.01.2015, 09:41
 

Forum-Gott mit 1 Punkte, 1 Beiträge
Was ich brauche ist ein PHP-Skript, dass mir zu einer User-ID ausgibt, ob der User eingeloggt ist.
Dieses Skript rufe ich dann von meiner Seite aus auf und werte aus, was ich zurück bekomme. Im
ersten Ansatz habe ich dazu einfach mal geschaut, ob es in der Tabelle bs_sessions einen Eintrag zu
dieser User-ID gibt. Das funktioniert soweit prima, aber der Eintrag in bs_sessions verschwindet,
wenn der User im Forum eine Weile lang nichts macht. Also kann das nicht der Weg sein.

Unlock the key of your success by ccna certifications and testking.By using our latest passguide
and 200-120 vce study material, you can easily pass ccna ccnp

 
Kein neuer Beitrag Mars , 13.01.2015, 08:16
Beitrag #4   

IP: n/a
Rang: * * * * * * *
Registrierung: 04.09.2007, 15:49
Homepage: http://www.mliebgott.de
Wohnort: Dresden
 

Forum-Gott mit 1025 Punkte, 697 Beiträge
Hallo,
wieso kann das nicht der Weg sein. Wenn der User länger als 5 Minuten (Defaultwert) nichts auf der
Seite macht wird dieser abgemeldet.

mfg Marcel

 
Kein neuer Beitrag Nils , 13.01.2015, 18:14
Beitrag #5   

IP: n/a
Rang: * * * * * * *
Registrierung: 01.07.2003, 18:55
Homepage: http://www.script-solution.de
Wohnort: Marburg
 

Forum-Gott mit 7812 Punkte, 7566 Beiträge
Hallo,

ja, genau dieser Zeitraum definiert ja was es heißt "online zu sein". Sprich, wenn du nicht
möchtest, dass man nach 5 Minuten schon als nicht mehr online gilt, solltest du den Zeitraum größer
machen. Das geht in der config/userdef.php.

Alternativ kannst du auch aus der Tabelle bs_profiles die User raussuchen die innerhalb eines
bestimmten Zeitraums online waren. lastlogin heißt das Feld, IIRC. Sprich, selektier alle, bei
denen lastlogin größer als ein bestimmter Timestamp ist.

mfg Nils

 
Kein neuer Beitrag Rafioso , 14.01.2015, 21:40
Beitrag #6   

IP: n/a
Rang: * * * * * * *
Registrierung: 30.08.2006, 22:31
Homepage: http://HomepageStarter.de
Wohnort: O-BW
 

Forum-Gott mit 1723 Punkte, 1537 Beiträge
Hi,

gibt es einen Grund, weshalb du noch die uralte Version 1.3x verwenden willst?

Du könntest auch die Methode "get_user_location($user_id)" aus der Klasse BS_Session aufrufen.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  /**
   * determines the location of the user with given id
   *
   * @param int $user_id the id of the user
   * @access public
   * @return string the location or an empty string if the user is offline
   */

  function get_user_location($user_id)
  {
    static $user_locs;
    if($user_locs == null)
    {
      $user_locs = array();
      foreach($this->_online_table as $content)
        $user_ids[$content['user_id']] = $content['location'];
    }

    return isset($user_ids[$user_id]) ? $user_ids[$user_id] : '';
  }


MfG
Rafioso

Aktuellste Boardsolution-Version: v1.46
Kommende Boardsolution-Version: TBA
-----------------------------------------------------
Ich erstelle nur noch Modifikationen
für aktuelle Versionen!
-----------------------------------------------------

Abonnieren Druckansicht
Antworten

n/a n/a 1     (Anzeige: 1 – 6; insgesamt: 6) n/a n/a
User in diesem Thema: 0 Registrierte, 0 Versteckte, 1 Gast, 0 Bots
Keine
Legende: Administratoren, User, Moderatoren
Themenaktionen:
Beiträge verschieben

Toggle Ähnliche Themen zu „Abfrage, ob User eingeloggt ist / Class 'FWS_Props' not found in...“
  Antworten Aufrufe Themeneröffnung Letzter Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
  Fatal error: Can not redeclare class 7 33281 05.01.2015, 07:31
Von: ddyh
07.01.2015, 07:16
Von: ddyh Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
  Fehlermeldung: The profile-field "email" does ... 5 85717 20.10.2013, 22:31
Von: Nico
27.10.2013, 11:50
Von: Nico Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
  Teilgenommene User bei Umfrage anzeigen 6 64238 16.08.2013, 12:55
Von: Tobi
20.08.2013, 20:11
Von: Tobi Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, verschoben
  User die bei einer Umfrage teilgenommen haben ... 2 36229 19.08.2013, 16:06
Von: langer
20.08.2013, 08:43
Von: langer Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
  [PHP] beste Möglichkeit User-IP auszulesen 2 35867 20.02.2013, 06:06
Von: Mars
20.02.2013, 08:03
Von: Mars Zum letzten Beitrag
  • 0.147357 Sek., 11 DB-Zugriffe, 1.549 MiB
  • Powered by Boardsolution v1.46