Seite 2 von 3
Re: Eigene Cookies nach anmeldung?
Verfasst: 18.04.2009 13:19
von Ninos
aber fürs ausloggen wollte ich dann in der Tabelle Login/Logout ein Logout drin haben und beim login ein Login, ist das trotzdem noch möglich?

Ich glaub, das hast du schon angepasst, gell?
Und wegen dem from_site, das wollte ich dann noch wegmachen, wenn das Skript fertig war, hab selber bemerkt, dass es unlogisch ist^^
Und $hoster, damit meine ich internetanbieter, muss ich wohl dann auch noch ändern

^^
Ach ja, leider ist die includes/constants.php Datei von mir sehr sehr sehr umbearbeitet, wie das ganze Forum eigentlich, wegen dem MOD von dsphpbb.net
Hast vielleicht schonmal was davon gehört

Ich kann dir ja aber mal die Datei zeigen, vielleicht weist ja dann immer noch, wo ich das hinzfügen soll ^^
Hier die Datei zum runterladen
ich sag schonmals danke

Re: Eigene Cookies nach anmeldung?
Verfasst: 18.04.2009 13:40
von kiew
piero hat geschrieben:Pflanzt doch das ganze direkt in die Funktion ein, die den User einloggt...?
Die Funktion heisst auth::login() und ist in der Datei includes/auth.php
@kiew: Dir empfehl ich, wie Ninos mit Session-Variablen zu arbeiten, weil dieses Cookie kann sich jeder selbst setzen und ist dann beim index eingeloggt

Und wie mach ich das dann? Hab ganz normal versucht session variablen zu definieren aber im index stehen sie dann nicht zur verfügung.
Einmal in der ucp.php:
Code: Alles auswählen
case 'login':
if ($user->data['is_registered'])
{
redirect(append_sid("{$phpbb_root_path}index.$phpEx"));
}
$_SESSION['user']=$_POST['username'];
$_SESSION['login']='true';
login_box(request_var('redirect', "index.$phpEx"));
break;
und einmal in der funktion selber:
Code: Alles auswählen
// Successful session creation
if ($result === true)
{
$_SESSION['user']=$_POST['username'];
$_SESSION['login']='true';
In der Funktion selbst kann $_POST['username'] wohl nicht klappen, aber keine session variable steht auf dem index zur verfügung... (Man wird nach dem login auf den index weitergeleitet, eine SessionID ist in der url vorhanden.)
Re: Eigene Cookies nach anmeldung?
Verfasst: 18.04.2009 15:49
von piero
Ninos hat geschrieben:aber fürs ausloggen wollte ich dann in der Tabelle Login/Logout ein Logout drin haben und beim login ein Login, ist das trotzdem noch möglich?

Ich glaub, das hast du schon angepasst, gell?
Ja^^
Beim ausloggen rufst du die Funktion einfach so auf:
Das macht es dir dann auch möglich, andere Aktionen zu protokollieren
Ninos hat geschrieben:
Ach ja, leider ist die includes/constants.php Datei von mir sehr sehr sehr umbearbeitet, wie das ganze Forum eigentlich, wegen dem MOD von dsphpbb.net
Hast vielleicht schonmal was davon gehört

Also so arg ists ja nicht^^
einfach mal nach dem hier einfügen:
Ja ich kenn dsphpbb.net ... Aber al ich es das letzte mal besucht hab, hatten die nur ein premodded-Forum, und das wollte ich nicht^^ Aber thx dass du mich wieder drauf aufmerksam gemacht hast
@$moderator: kannst du alle Posts die nur Ninos und mich betreffen
hierhin verschieben? Sonst herrscht hier ein Durcheinander für den nächsten Suchenden^^
Re: Eigene Cookies nach anmeldung?
Verfasst: 18.04.2009 16:52
von piero
kiew hat geschrieben:Und wie mach ich das dann? Hab ganz normal versucht session variablen zu definieren aber im index stehen sie dann nicht zur verfügung.
In der Funktion selbst kann $_POST['username'] wohl nicht klappen, aber keine session variable steht auf dem index zur verfügung... (Man wird nach dem login auf den index weitergeleitet, eine SessionID ist in der url vorhanden.)
OK, ich geb mich geschlagen...^^
phpBB macht das ein wenig anders :/ ^^
Aber wenn du das Cookie setzt, dann verschlüssle den Inhalt, damit man nicht ohne weiteres das Cookie selbst erstellen kann...
Also zum Beispiel so:
Code: Alles auswählen
set_cookie('login', base64_encode('Irgendein...Text^^' . $user->data['username']), time()+60*60*24*70);
Und dann bei deinen Seiten kannst du das Cookie so auslesen:
Code: Alles auswählen
$hash = 'Irgendein...Text^^';
$username = base64_decode($_COOKIE['login']);
$username = (strpos($username, $hash) === 0) ? substr($username, strlen($hash)) : false;
Also wenn das Cookie richtig gesetzt wurde hast du den Username in $username und sonst false in $username

Re: Eigene Cookies nach anmeldung?
Verfasst: 18.04.2009 19:34
von Ninos
solange der Moderator die ned verschiebt, schreib ichs da rein, sonst müssen wir immer rumblättern...
Also, wenn ich will, dass er das beim Logout auch durchführ, muss ich noch was hinzufügen, oder muss ich das alles noch etwas anpassen, wenn ja, wie?
Außerdem hab ich alles mal so geändert, wie dus mir gesagt hast, aber der macht leider keine Datenbankeinträge

An was könnte das liegen?
Danke schonmal,
Ninos
Re: Eigene Cookies nach anmeldung?
Verfasst: 18.04.2009 20:16
von piero
Ninos hat geschrieben:Also, wenn ich will, dass er das beim Logout auch durchführ, muss ich noch was hinzufügen, oder muss ich das alles noch etwas anpassen, wenn ja, wie?
An der Funktion selbst musst du nichts machen...
Du must einfach in der ucp.php noch was einbauen:
Finde:
Code: Alles auswählen
case 'logout':
if ($user->data['user_id'] != ANONYMOUS && isset($_GET['sid']) && !is_array($_GET['sid']) && $_GET['sid'] === $user->session_id)
{
Danach einfügen:
Ninos hat geschrieben:Außerdem hab ich alles mal so geändert, wie dus mir gesagt hast, aber der macht leider keine Datenbankeinträge

An was könnte das liegen?
Füg mal folgenden Code ans Ende deiner Funktion:
Re: Eigene Cookies nach anmeldung?
Verfasst: 18.04.2009 20:26
von Ninos
Re: Eigene Cookies nach anmeldung?
Verfasst: 18.04.2009 20:34
von piero
piero hat geschrieben:Füg mal folgenden Code ans Ende deiner Funktion:
Also in der Datei includes/functions.php
Finde:
Ans Ende dieser Funktion anfügen (Also vor der schliessenden Klammer):
omg ich seh grad, dass ich die zwei "==" in einer eigenen Zeile, vergessem habe zu löschen.. Die hast du rausgenommen oder?^^
Re: Eigene Cookies nach anmeldung?
Verfasst: 18.04.2009 20:49
von Ninos
lol, dachte ich mir doch, dass die zwei == da ned dazugehören XDD

ich probiers jetzt mal^^
Re: Eigene Cookies nach anmeldung?
Verfasst: 18.04.2009 21:02
von Ninos
ok, also, wenn ich jetzt dieses print_r und so einfüge, dann bekomme ich beim Logout diese Fehlermeldung:
SQL ERROR [ mysqli ] [DSphpBB-DB: 2.2.18]
[0]
BACKTRACE
FILE: includes/functions.php
LINE: 4100
CALL: dbal->sql_error()
FILE: ucp.php
LINE: 102
CALL: log_login_logout()
und beim login trägt er erst gar nichts in die DB ein, und beim Logout trägt er aber nur logout in der Spalte Login/logout ein...