Seite 2 von 3

klappt leider nicht

Verfasst: 29.03.2004 20:02
von ollih
habe die login.php wie folgt modifiziert:

Code: Alles auswählen

if( isset($HTTP_POST_VARS['login']) || isset($HTTP_GET_VARS['login']) || isset($HTTP_POST_VARS['logout']) || isset($HTTP_GET_VARS['logout']) )
{
        if( ( isset($HTTP_POST_VARS['login']) || isset($HTTP_GET_VARS['login']) ) && !$userdata['session_logged_in'] )
        {
                $username = isset($HTTP_POST_VARS['username']) ? trim(htmlspecialchars($HTTP_POST_VARS['username'])) : '';
                $username = substr(str_replace("\\'", "'", $username), 0, 25);
                $username = str_replace("'", "\\'", $username);
                $password = isset($HTTP_POST_VARS['password']) ? $HTTP_POST_VARS['password'] : '';

                //Für externen Login
                if ($username == '') $username = urldecode($HTTP_GET_VARS['username']);
                if ($password == '') $password = urldecode($HTTP_GET_VARS['password']);

                $sql = "SELECT user_id, username, user_password, user_active, user_level
                        FROM " . USERS_TABLE . "
                        WHERE username = '" . str_replace("\\'", "''", $username) . "'";
                if ( !($result = $db->sql_query($sql)) )
                {
                        message_die(GENERAL_ERROR, 'Error in obtaining userdata', '', __LINE__, __FILE__, $sql);
                }

                if( $row = $db->sql_fetchrow($result) )
                {
                        if( $row['user_level'] != ADMIN && $board_config['board_disable'] )
                        {
                                redirect(append_sid("index.$phpEx", true));
                        }
                        else
                        {
                                //if( md5($password) == $row['user_password'] && $row['user_active'] )
                                //Für externen Login
                                if( ((md5($password) == $row['user_password']) || ($password == $row['user_password'])) && $row['user_active'] )
                                {
                                        $autologin = ( isset($HTTP_POST_VARS['autologin']) ) ? TRUE : 0;

                                        $session_id = session_begin($row['user_id'], $user_ip, PAGE_INDEX, FALSE, $autologin);

                                        if( $session_id )
                                        {
                                                $url = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : "index.$phpEx";
                                                redirect(append_sid($url, true));
                                        }
                                        else
                                        {
                                                message_die(CRITICAL_ERROR, "Couldn't start session : login", "", __LINE__, __FILE__);
                                        }
...
hier kannst du den vorgang selbst testen:

http://www.acardi.de/test/content/inde ... me_x=TRUE

einloggen mit:
username: oliverh
passwort: pwolli00

dann bitte nur den link community anklicken...

es sollte doch eigentlich nun nicht mehr der login-button zu sehen sein, sondern mein user-name müsste erscheinen, oder ?

btw:
was macht eigentlich folgender code???

Code: Alles auswählen

if ($username == '') $username = urldecode($HTTP_GET_VARS['username']); 
if ($password == '') $password = urldecode($HTTP_GET_VARS['password']);

STOP

Verfasst: 29.03.2004 20:16
von ollih
habe gerade festgestellt, dass es lokal auf meinem rechner funktioniert... muss jetzt mal schauen ob ich online eine modif. vergessen habe zu aktualisieren....

Verfasst: 29.03.2004 20:27
von Mister_X
a) zu deinem STOP Post, ok vielleicht findeste was ;)

b) Dieser Link hier funktioniert: http://www.acardi.net/test/content/foru ... ad7d099d9b (man wird zwar danach auf eine 404 Seite weitergeleitet, das sind nur Fehler im Adminbereich -> Kategorie Allgemeines -> Konfiguration -> Domainname und Skriptpfad) und wenn man zurückgeht und aktualisiert ist man eingeloggt.

c) Funktioniert deine Seite unter dem Browser Firefox leider nicht, musste extra für dich den IE starten, überlege dir das vielleicht besser noch einmal.

d) korrekt kein Loginbutton mehr.

e) Der Code schaut, ob username und password schon definiert sind und wenn nein nimmt er die Variablen aus der Adressleiste und modifiziert die noch ein bissel, damit man keinen bösen Code über diese Variante ins Forum einschleusen kann mit http://de.php.net/urldecode

STOP aufgehoben - ich glaube ich bin zu blöd/alt für sowas

Verfasst: 29.03.2004 20:55
von ollih
also, habe nochmal den gesamten quellcode auf den web-server hochgeladen...

lokal bei mir funktioniert es wie gewünscht, nach dem login & bklick auf community wird im forum oben der logout-button angezeigt und dahinter meine unsername in eckigen klammern...

auf dem web-server passiert dies bei mir leider nicht :(

punkt b) von dir kann ich nicht nachvollziehen - wenn ich diesen link aufrufe komme ich immer auf meine lokale site (localhost), ebenso komme ich auf meinen lokalen webserver wenn ich mich online als admin anmelde - wie kann ich das denn nunwieder ändern ???

sorry, das ich so nerve !!!!!

Verfasst: 29.03.2004 20:57
von Mister_X
Hast du ONLINE in deinem Forum im Adminbereich -> Kategorie Allgemeines -> Konfiguration den Domainnamen und Skriptpfad schon den ONLINE Verhältnissen angepasst?

Du nervst nicht. Nur in ein paar weniger Themen hätteste am Anfang posten können ;)

online-db

Verfasst: 29.03.2004 21:04
von ollih
sorry für das "viele" posten - ich war verzweifelt weil keiner geantwortet hat !!

ich sollte wohl erwähnen, dass ich einen db-dump von meiner lokalen forums-db gemacht habe und diesen dann online als sql-statement in die dortige db eingefügt habe ?!

ist es empfehlenswert phpbb online über die install-funktion zu integrieren und dann nur noch die gänderten dateien per ftp zu überschreiben ???

wenn ich mich online als admin anmelde, lande ich ich immer wieder auf meinem lokalen web-server....

Verfasst: 29.03.2004 21:25
von Mister_X
a) Logge dich auf deinem Forum ( http://www.acardi.net/test/content/forum/login.php ) als Admin ein, gehe in den Adminbereich, klicke auf die Kategorie Allgemeines -> Konfiguration und passe Domainnamen und Skriptpfad an (da dürfte im Augenblick localhost stehen, was ja falsch ist). Dann solltest du auch korrekt weitergeleitet werden.
b) Ich kann mir leider nicht vorstellen, was du mit "sql-statement" genau meinst, aber wenn du dein Forum erfolgreich importiert hast ist ja alles in Ordnung :)
c)
ist es empfehlenswert phpbb online über die install-funktion zu integrieren und dann nur noch die gänderten dateien per ftp zu überschreiben ???
Leider ist mir nicht klar was du damit erreichen willst.

phpbb online konfigurieren

Verfasst: 29.03.2004 21:41
von ollih
wenn ich mich über
http://www.acardi.net/test/content/forum/login.php einlogge komme ich auf http://localhost/acardi/site/content/fo ... cdbe5468e6

wenn ich dann änderungen mache (also auf meinem localhost) hat das doch keine auswirkungen auf den online-server - oder verstehe ich da was falsch ??

b) sorry, ich habe lokal über phpmyadmin die tabellen als sql-statment exportiert und dieses dann online über phpmyadmin in die db importiert

c) damit wollte ich vermeiden, dass ich beim online-login immer wieder auf meine lokale site weitergeleitet werde - beim install könnte ich dann problemlos den domainnamen eingeben !!! (z. zt. komme ich ja leider immer auf meine lokale installalation durch den localhost-eintrag im domainnamen)

Verfasst: 29.03.2004 21:47
von Mister_X
a) dann gehe nachdem du dich eingeloggt hast (und dich innerhalb deines lokalen Forums befindest) mal mit der Zurück Taste deines Browser auf dein Onlineforum und drücke aktualisieren. Bist du jetzt dort eingeloggt?

b) ist völlig in Ordnung so

c) jau so geht es natürlich auch, hast du etwa noch gar keine Beiträge in deinem Forum (davon bin ich die ganze Zeit ausgegangen :oops:)

localhost online

Verfasst: 29.03.2004 22:11
von ollih
a) nachdem ich unter domainnamen localhost in www.acardi.de geändert habe und skriptpfad in content/forum habe ich das gemacht was du geschrieben hat... bin aber nicht eingelogged...
ich denke, das ich die änderungen lediglich lokal mache, da ich in die online konfig nicht gelange...oder ?

c) nun, bevor beiträge eingestellt werden können muss ich das das forum online stellen - und solange das mit dem login nicht funktioniert, möchte ich es nicht online stellen...