Diese Seite mit anderen teilen ...

Informationen zum Thema:
Forum:
Phorum.org Hilfe-Forum
Beiträge im Thema:
5
Erster Beitrag:
vor 13 Jahren, 8 Monaten
Letzter Beitrag:
vor 13 Jahren, 8 Monaten
Beteiligte Autoren:
Matthias, thomas (Mysnip.de)

Phorum-Usersystem auch für Rest der Seite

Startbeitrag von Matthias am 20.09.2004 21:07

Hallo!

Wie im Subject bereits erwähnt, würde ich das Usersystem von Phorum (v.5.0.10) auch gerne für den Rest meiner Seite benutzen wollen (so zum Beispiel für Kommentarfunktionen, wo eben nur Phorum-registrierte User die Erlaubnis haben sollen, ein Kommentar abzugeben).

Im Prinzip bräuchte ich eigentlich nur ein Script(schnippsel), das ich dann auf alle meine restlichen Seiten, wo eine User Authentifizierung erforderlich ist, einbinden/austauschen kann. (denk ich zumindest mal ;) )

Also vermutlich sowas auf die Art:

If (autor vorhanden und Passwort korrekt) {
poste ("kommentar");
} else {
echo ("Fehlermeldung");
}

Ich denke dies würde sich sowohl über das Phorum Cookie als auch über eine direkte Abfrage in der Datenbank realisieren lassen - bin mir hierbei jedoch nicht ganz über die Pro/Contras im Klaren.


Da ich in Sachen PHP leider nicht allzu bewandert bin: Hätte vielleicht wer Tipps oder gar Code Schnippsel, die mir hierbei weiterhelfen könnten?

Besten Dank,
Matthias

Antworten:

Ähm sorry, einfach nur PHP-Schnipsel dürfte Dir nicht helfen, Du musst auch verstehen was Du da tust.

Damit kannst Du den notwendigen Code laden

$safe_id=$i;

$phorum5dir="/home/xxx/forum_v50/";

$PHORUM['session_path']="/";
$PHORUM['session_domain']="xxx.de";
$PHORUM["session_timeout"]=365;
$PHORUM["use_cookies"]=true;
$PHORUM['PROFILE_FIELDS']=array("real_name","icq","aol","msn");
$PHORUM['enable_pm']=0;
$PHORUM['track_user_activity']=1;

include $phorum5dir.'include/constants.php';
include $phorum5dir.'include/db/config.php';
include $phorum5dir.'include/db/mysql.php';
include $phorum5dir.'include/users.php';

$i = $safe_id;


damit kannst du alle Funktionen in include/users.php nutzen, genau wie es auch phorum5 tut.
Schau Dir also an, was so in den phorum5-files geschieht.

z.B.
phorum_user_check_session()

sagt Dir ob er erfolgreich eingeloggt ist oder nicht, sollte aber nur einmal in einer Seite aufgerufen werden, setz Dir dann ne Variable.



von thomas (Mysnip.de) - am 20.09.2004 21:46
Vorerst dank für die schnelle Antwort;

Aber irgendwie scheint mir das jetzt komplizierter, als ich mir gedacht hatte ;)

Ich hatte es bisweilen nämlich anders probiert - funktioniert auch - nur könnte ich jetzt nicht behaupten ob das so auch "sauber" ist bzw. ob es nicht zu problemen kommen könnte.

Da ja das Session Cookie global gesetzt wird , sprich für alle Verzeichnisse auf dem Server aktiv ist (ausser man gibt es anders an), kann ich ja auch jederzeit von überall auf meiner Seite gewisse Abfragen daraus durchführen - also hab ich es so gemacht:


// wenn username leer (kein Phorum cookie vorhanden), dann Meldung
if ($row[username] == "") {
msgBox("Kommentare können nur von angemeldeten Usern abgegeben werden - bitte einloggen);

// wenn im cookie Username gefunden, dann fahre fort mit eingabe
} else {
?>
.
.

.
.


von Matthias - am 21.09.2004 00:27
Ich nehme mal an, daß "$row" aus einer Datenbankabfrage des Users stammt?
Sonst könnte jeder ein beliebiges Cookie senden, was nicht einem User des Forums entsprechen muß.
Auch müsste Active/Non-Active geprüft werden und eventuell die Aktivität aktualisiert werden.

Wenn das alles für Dich nicht notwendig ist, dann ist das dort oben natürlich ein schneller Hack.



von thomas (Mysnip.de) - am 21.09.2004 08:14
thomas schrieb:

Zitat

Ich nehme mal an, daß "$row" aus einer Datenbankabfrage des
Users stammt?
Sonst könnte jeder ein beliebiges Cookie senden, was nicht
einem User des Forums entsprechen muß.


Ja, das wird schon aus der DB Abfrage von Phorum Userlist bezogen.

Zitat

Auch müsste Active/Non-Active geprüft werden und eventuell
die Aktivität aktualisiert werden.


Jap, da muss ich dir jetzt leider recht geben. - das habe ich natürlich nicht bedacht.
Dann werd ich mich wohl doch in das von dir vorgeschlagene einarbeiten müssen...


Also: Ich binde mir deinen angegeben Code überall dort, wo ich eine User Authentifizierung auf meiner Seite benötige, ein.
(bzw. - da meine Seite mit Tabellen aufgebaut ist, sollte das Einbinden eigentlich auch einmal reichen, nehme ich an)

Danach sollten mir alle Funktionen von users.php offenstehen, sodass ich nur mehr die richtigen Abfragen an der richtigen Stelle durchführen muss, richtig?


Danke auf jeden Fall,

lg,
matthias

von Matthias - am 21.09.2004 10:14
Zur Information:
MySnip.de hat keinen Einfluss auf die Inhalte der Beiträge. Bitte kontaktieren Sie den Administrator des Forums bei Problemen oder Löschforderungen über die Kontaktseite.
Falls die Kontaktaufnahme mit dem Administrator des Forums fehlschlägt, kontaktieren Sie uns bitte über die in unserem Impressum angegebenen Daten.