Thread Verfasser: Rolly8-HL
Thread ID: 1071
Thread Info
Es gibt 9 Beiträge zu diesem Thema, und es wurde 3106 Mal angesehen.
 Thema drucken
Forum & co.
Rolly8-HL
Ich suche wie hier im Forum die Möglichkeit zu sehen wer genau diese Seite benutzt.
Zitat: Wer ist hier? Rolly8-HL, XYZ


Möchte gerne anzeigen lassen wer alles auf dieser Seite gerade zugreifen tut, ich möchte vermeiden das 2 oder 3 User gleichzeitig etwas bearbeiten und keiner weiß das der andere gerade das selbe macht.

Wie macht man das?
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
 
David
Das wäre in diesem Addon enthalten: https://www.php-fusion.co.uk/infusion...don_id=974

Im Grunde genommen kann man dafür die Tabelle der Online Benutzer nutzen.
Einfach um eine Spalte erweitern, bspw. online_site .. darin dann die aktuelle Seite speichern (Stichwort: Header-Dateien bearbeiten) -> Anschließend nur mehr auslesen wer sich auf der aktuellen Seite befindet.
Liebe Grüße, David Smile

PHP-Fusion Österreich
 
Rolly8-HL
Danke das war was ich gesucht hatte, kann es aber so nicht anwenden ich brauche es speziell und abspeichern geht nicht da es verschiedene Seiten sind die alle eine andere ID haben.
Zitat: http://www.phpfusion-deutschland.de/forum/viewthread.php?thread_id=1071

Ist jetzt ein Beispiel, und genau auf dieser möchte ich wissen wer da ist.
Ist er auf eine anderen ID erscheint er nicht in der Ausgabe.

Eine feste Eingabe in einer DB kann ich nicht gebrauchen.

Nachtrag:
Habe eben was entdeckt das es wohl doch gehen könnte, muss es mal genauer testen.

Zusammengefügt am 20. September 2016 um 17:25:16:
Nachtrag:
Nein das will so nicht werde mir mal das "stats_panel" anschauen, vielleicht kann ich damit was anfangen.
Bearbeitet von Rolly8-HL am 20.09.2016 um 17:25
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
 
David
Und wieso sollte das nicht gehen?

Neue Spalte in der Tabelle der Online Benutzer .. als Beispiel: online_site

Allerdings ist mir aufgefallen, dass ich dir zuerst die header.php nannte .. anscheinend ist das bei PHP-Fusion v7.02.07 nicht mehr so, der Code ist nun im Online Users Panel enthalten.
  • Du kannst dort die MySQL-Abfragen anpassen.
  • Du kannst den Code an das Ende der "maincore.php" oder in die "header.php" packen, aufjedenfall so, dass die Online Benutzer auch gespeichert werden.


In die Spalte wird der Wert der Konstante FUSION_REQUEST eingetragen.

Informationen zu FUSION_REQUEST
Zitat: Diese Konstante gibt den überprüften und mit cleanurl gereinigten URI aus.

Sollte $_SERVER['REQUEST_URI'] leer sein, wird stattdessen $_SERVER['SCRIPT_NAME'] ausgegeben.

Der $_SERVER['REQUEST_URI'] ist der komplette Dateipfad ab "Root" inklusive allen GET-Parametern.

Liebe Grüße, David Smile

PHP-Fusion Österreich
 
Rolly8-HL
Ja, so in etwa habe ich es jetzt gemacht, eigene DB mit users_page users_id da werden die Daten schon mal eingetragen.

Habe jetzt aber ein anderes Problem, wenn ich im Admin bin habe ich jetzt einen Link den ich so nicht gebrauchen kann zum auslesen.

Meine Frage nebenbei: wozu ist eigentlich der $aidlink nötig? kann man den auch weg lassen? was ist wenn ich den generell weg lasse?

Wollte wie bei der V9 den Admin Pw Global setzen.
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
 
David
Der Aidlink ist eine Art der Autenthifizierung und ist bei jedem Admin inviduell und wird benötigt.

Könnte man aber auch entfernen, würde man aber auf jedenfall Sicherheitseinbusen machen ..
Liebe Grüße, David Smile

PHP-Fusion Österreich
 
Rolly8-HL
Danke für die Antwort, benutze weiterhin den $aidlink, lasse ihn aber anders in die DB schreiben.

Code 

if($aidlink) {
   $user_page_check = $_SERVER['REQUEST_URI'];
   $user_page_check = str_replace($aidlink.'&', "?", $user_page_check);
} else {
   $user_page_check =  $_SERVER['REQUEST_URI'];
}


Damit ist der Link ob User oder Admin mit $aidlink identisch.
Jetzt noch auslesen lassen, vergleichen, User zuordnen und anzeigen lassen.
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
 
David
Du kannst ansich immer durch str_replace durchlaufen lassen, da es ja nichts ersetzt wenn das gesuchte nicht vorhanden ist.

Weiteres nutze bitte FUSION_REQUEST .. diese Konstante ist bereits bereinigt und beinhaltet den aktuellen Dateipfad falls $_SERVER ['REQUEST_URI'] mal leer ist ..
Liebe Grüße, David Smile

PHP-Fusion Österreich
 
Rolly8-HL
Ja, danke das mit dem FUSION_REQUEST klappt auch.
Das mit dem str_replace kann ich nicht gleichermaßen auf beide anwenden, da bekomme ich nicht den selben Eintrag in der DB.
Zitat: /infusions/articles/admin/admin_articles.php?action=edit?article_id=13
/infusions/articles/admin/admin_articles.php?action=edit&article_id=13

Damit ist es nicht identisch und kann nicht verglichen werden.
Aber so wie ich es habe geht es, habe auch schon die Ausgabe mit profile_link klappt schon ganz gut.

Möchte es jetzt gerne als function Global haben, so das man es überall wo es gebraucht wird einsetzen kann, bekomme es aber noch nicht hin, wird nicht ausgelesen.

Wie kann man das in eine Funktion setzen das sie gleichermaßen überall integriert werden kann?

Code 

if($aidlink) {
   $user_page_check = FUSION_REQUEST;
   $user_page_check = str_replace($aidlink.'&', "?", $user_page_check);
} else {
   $user_page_check =  FUSION_REQUEST;
}
   
$result_page_check = dbquery("SELECT tbl2.* , tbl3.*
   FROM ".DB_STATS_INFO."  tbl2
   INNER JOIN ".DB_USERS." tbl3 ON tbl3.user_id = tbl2.stats_ip
      WHERE stats_page = '".$user_page_check."'
      ORDER BY stats_time DESC ");
      echo 'Wer ist hier? => ';
      
   while ($data_page_check = dbarray($result_page_check)) {
   $name_page_check = profile_link($data_page_check['user_id'], $data_page_check['user_name'], $data_page_check['user_status']);
      echo $name_page_check.' - ';
}   



Direkt in der Datei geht es wollte aber nicht den gesamten Code überall so verwenden, lieber ist es mir mit einer Funktion ein zu binden, nur wie? habe es noch nicht hin bekommen.
Soll für die gesamte Core sein.

Zusammengefügt am 21. September 2016 um 16:42:40:
Nachtrag:

Habe es hin bekommen, kann es jetzt an jeder XYZ beliebigen Stelle einsetzen mit
Zitat: echo user_page_check_all();
und alle werden angezeigt die sich genau in der selben Seite befinden.
Bearbeitet von Rolly8-HL am 21.09.2016 um 16:42
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
 
Springe ins Forum: