mod_accept-terms_1_0_2 kein login mehr möglich?

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Helmut
Mitglied
Beiträge: 2048
Registriert: 27.12.2002 20:35
Wohnort: Augsburg

Re: mod_accept-terms_1_0_2 kein login mehr möglich?

Beitrag von Helmut »

Hallo Shorty1968,
Shorty1968 hat geschrieben:m erlich zu sein habe ich den nur mit Admin rechten getestet,weil ich nicht wusste wie ich ihm gründer rechte geben kaan,im ACP geht das ja nicht.
doch geht schon. Wenn du einen Testuser angelegt hast, dann musst du dich als Admin mit Gründerrechten einloggen und im ACP bei Allgemein --> Benutzer verwalten dann der Testuser auswählen. Dort fügst du ihn zur Admingruppe dazu und in der Auswahl: Übersicht kannst du dann direkt unter dem Punkt Beiträge einstellen ob der User Gründerrechte hat.

Deine functions.php sieht eigentlich ok aus, sollte normal funktionieren.

Mache mal folgendes:
Füge in die functions.php vor // The following assigns all _common_ variables that may be used at any point in a template. die Zeile echo $user->data['user_accept_rules']; ein. Nach if ($user->data['user_accept_rules'] == 0 && $user->data['is_registered'] && !$user->data['is_bot'] && (request_var('mode', '') != 'terms')) fügst du noch echo "<br />" . $user->data['user_id']; ein, damit lässt du dir den Status anzeigen, der sollte bei bestätigten Regeln auf 1 stehen und es sollte deine user_id angezeigt werden.

Nun setze im ACP die Option dass die Regeln bestätigt werden müssen, dann sollte 0 angezeigt werden. Wenn du jetzt die Regeln bestätigst, dann sollte wieder 1 dran stehen. Das machst du auch mal mit den Testuser mit Admin und Gründerrechten.

Damit prüfen wir, ob sich der Eintrag in der DB passend zu der user_id ändert.

Es könnte auch an der Zeile liegen confirm_box(false, sprintf($user->lang['NEW_RULES'], '<a href="' . append_sid("{$phpbb_root_path}rules.php") . '">', '</a>'));, die sieht im Mod normal so aus: confirm_box(false, sprintf($user->lang['NEW_RULES'], '<a href="' . append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=terms') . '">', '</a>'));.

Zeige doch auch mal deine rules.php und die acp_main.php her.


Gruß Helmut
Ich bin nicht ganz dicht.... na und.
Benutzeravatar
Shorty1968
Mitglied
Beiträge: 1894
Registriert: 08.09.2011 17:37

Re: mod_accept-terms_1_0_2 kein login mehr möglich?

Beitrag von Shorty1968 »

Hallo Helmut

Code: Alles auswählen

Mache mal folgendes: 
Füge in die functions.php vor [c]// The following assigns all _common_ variables that may be used at any point in a template.[/c] die Zeile [c]echo $user->data['user_accept_rules'];[/c] ein. Nach [c]if ($user->data['user_accept_rules'] == 0 && $user->data['is_registered'] && !$user->data['is_bot'] && (request_var('mode', '') != 'terms'))[/c] fügst du noch [c]echo "<br />" . $user->data['user_id'];[/c] ein, damit lässt du dir den Status anzeigen, der sollte bei bestätigten Regeln auf 1 stehen und es sollte deine user_id angezeigt werden.
Wenn ich diese änderung mache komme ich immer wider zum Regeln bestätigen und überhaupt nicht weiter.

Code: Alles auswählen

Es könnte auch an der Zeile liegen [c]confirm_box(false, sprintf($user->lang['NEW_RULES'], '<a href="' . append_sid("{$phpbb_root_path}rules.php") . '">', '</a>'));[/c], die sieht im Mod normal so aus: [c]confirm_box(false, sprintf($user->lang['NEW_RULES'], '<a href="' . append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=terms') . '">', '</a>'));[/c]. 
Das habe ich auch geprüft und geändert,aber es hat sich dadurch nichts geändert gehabt.

Code: Alles auswählen

Zeige doch auch mal deine [b]rules.php[/b] und die [b]acp_main.php[/b] her.
rules.php und acp_main.php
Helmut
Mitglied
Beiträge: 2048
Registriert: 27.12.2002 20:35
Wohnort: Augsburg

Re: mod_accept-terms_1_0_2 kein login mehr möglich?

Beitrag von Helmut »

Hallo Shorty1968,
Shorty1968 hat geschrieben:
Helmut hat geschrieben: Mache mal folgendes:
Füge in die functions.php vor // The following assigns all _common_ variables that may be used at any point in a template. die Zeile echo $user->data['user_accept_rules']; ein. Nach if ($user->data['user_accept_rules'] == 0 && $user->data['is_registered'] && !$user->data['is_bot'] && (request_var('mode', '') != 'terms')) fügst du noch echo "<br />" . $user->data['user_id']; ein, damit lässt du dir den Status anzeigen, der sollte bei bestätigten Regeln auf 1 stehen und es sollte deine user_id angezeigt werden.
Wenn ich diese Änderung mache komme ich immer wider zum Regeln bestätigen und überhaupt nicht weiter.
Das solltest du ja machen und mir schreiben was dann für Werte angezeigt werden. Es geht bei dem Test ja darum ob der Wert für die jeweilige user_id richtig in der DB gesetzt wird. Wenn du mir aber nur schreibst dass es nicht geht, weiss ich genauso viel wie vorher und eine Glaskugel hab ich auch nicht......

Also nochmal, mach den Test so wie ich gesagt habe und schreibe genau auf was du der Reihe nach gemacht hast und was für Werte angezeigt wurden (links oben).

Gruß Helmut
Ich bin nicht ganz dicht.... na und.
Benutzeravatar
Shorty1968
Mitglied
Beiträge: 1894
Registriert: 08.09.2011 17:37

Re: mod_accept-terms_1_0_2 kein login mehr möglich?

Beitrag von Shorty1968 »

Ah ok sorry nun habe ich es verstanden,ich habe die änderungen gemachtund beim ersten mal erschien oben Links die 1 dann habe ich auf JA beim bestätigen geklickt dann erschien die 0,dann wurde ich Automatisch ausgeloggt und dabei erschien wider die 0.

Ich weiss jetzt nicht ob das wichtig ist aber in der Datenbank bei der Bestätigungs Mod stand die 1,ich weiss nun allerdings nicht ob dise noch vom letzten mal da ist oder von deinen einträgen her kommt.
Helmut
Mitglied
Beiträge: 2048
Registriert: 27.12.2002 20:35
Wohnort: Augsburg

Re: mod_accept-terms_1_0_2 kein login mehr möglich?

Beitrag von Helmut »

Hallo Shorty1968,

also noch einmal der Reihe nach:
  1. In der Datenbank den Wert auf 1 setzen damit du dich normal einloggen kannst.
  2. Wenn du dich dann als Admin/Gründer einloggst, dann müsste links oben auch 1 stehen
  3. Der Wert darf sich nicht ändern wenn du in deinem Forum diverse Beiträge ... anschaust
  4. Dann im ACP die Regeln bestätigen aktivieren
  5. Jetzt sollte die Info kommen dass du die Regeln bestätigen musst, der Wert oben muss nun auf 0 stehen
  6. Wenn du jetzt die Regeln bestätigst, dann sollte sich der Wert wieder auf 1 ändern
  7. Wenn du die Seite in Browser aktualisierst, dann sollte der Wert auf 1 bleiben
  8. Du solltest jetzt eingeloggt sein
  9. Bei jedem Schritt schaust du in die Datenbank ob der angezeigte Wert mit dem in der DB übereinstimmt
Du machst den Test jetzt für alle Testuser mit normalen Rechten bis hin zum Testuser mit Admin/Gründerrechten und schreibst jeweils auf was du gemacht hast und was oben für Werte angezeigt werden.

Noch etwas habe ich gefunden was vielleicht die Ursache sein könnte:
Du hast in der functions.php if ($user->data['user_accept_rules'] == 0 && $user->data['is_registered'] && !$user->data['is_bot'] && (request_var('mode', '') != 'rules')) stehen, sollte aber if ($user->data['user_accept_rules'] == 0 && $user->data['is_registered'] && !$user->data['is_bot'] && (request_var('mode', '') != 'terms')) lauten.

Gruß Helmut
Ich bin nicht ganz dicht.... na und.
Benutzeravatar
Shorty1968
Mitglied
Beiträge: 1894
Registriert: 08.09.2011 17:37

Re: mod_accept-terms_1_0_2 kein login mehr möglich?

Beitrag von Shorty1968 »

  1. In der Datenbank den Wert auf 1 setzen damit du dich normal einloggen kannst.
  2. Wenn du dich dann als Admin/Gründer einloggst, dann müsste links oben auch 1 stehen
Ja kann ich bestätigen diese beiden schritte sind so.
[*]Der Wert darf sich nicht ändern wenn du in deinem Forum diverse Beiträge ... anschaust
Nach dem einloggen erscheint nach der 1 und bleibt,im phpmyadmin in der Zeile user_accept_rules steht eine 1
[*]Dann im ACP die Regeln bestätigen aktivieren
[*]Jetzt sollte die Info kommen dass du die Regeln bestätigen musst, der Wert oben muss nun auf 0 stehen
[*]Wenn du jetzt die Regeln bestätigst, dann sollte sich der Wert wieder auf 1 ändern
Solange deine änderungen in der functions.php sind ist das nich möglich und diese müssen ja sein wegen der user id.

Mit der änderung von dir in der functions.php komme ich nicht weiter,den sie stellt alles dauerhaft auf 1,sorry aber ich denke so kommen wir nicht weiter.

Ich finde es aber sehr gut das du versuchst zu helfen,ich bin mir sicher hier sind einige die eine löung hätten.

*EDIT*
Ich habe nun auch mal rumgespielt und in diser Zeile:

Code: Alles auswählen

if ($user->data['user_accept_rules'] == 0 && $user->data['is_registered'] && !$user->data['is_bot'] && (request_var('mode', '') != 'rules'))
mal ein:

Code: Alles auswählen

&& $user->data['is_founder']
Reingesetzt,da konnte ich mich einloggen ohne bestätigung.
Ich bekomme dann Zwar noch diese Debug meldung:

Code: Alles auswählen

[phpBB Debug] PHP Notice: in file [ROOT]/includes/functions.php on line 5246: Undefined index: is_founder
Aber das einloggen geht.

Ich bin mir zimlich sicher eine änderung bezüglich des Gründers in diesem Code:

Code: Alles auswählen

if ($user->data['user_accept_rules'] == 0 && $user->data['is_registered'] && !$user->data['is_bot'] && (request_var('mode', '') != 'terms'))
	{
		if (confirm_box(true))
		{
			$sql = 'UPDATE ' . USERS_TABLE . '
				SET user_accept_rules = 1
				WHERE user_id = ' . $user->data['user_id'];
			$db->sql_query($sql);
könnte den Fehle schnell beheben,aber leider reicht mein wissen dafür nicht.
Helmut
Mitglied
Beiträge: 2048
Registriert: 27.12.2002 20:35
Wohnort: Augsburg

Re: mod_accept-terms_1_0_2 kein login mehr möglich?

Beitrag von Helmut »

Hallo Shorty1968,
Shorty1968 hat geschrieben: Solange deine änderungen in der functions.php sind ist das nich möglich und diese müssen ja sein wegen der user id.
Das sollte nichts machen wenn du diese an der von mir genannten Stelle eingebaut hast, es sind ja nur echo Anweisungen wo ein Wert Angezeit wird.

Es muss auch ohne && $user->data['is_founder'] gehen, bei mir läuft der Mod ja auch ohne Fehler. Klar bekommst du nen Fehler, denn is_founder ist ja nirgends definiert.

Helmut hat geschrieben:Noch etwas habe ich gefunden was vielleicht die Ursache sein könnte:
Du hast in der functions.phpif ($user->data['user_accept_rules'] == 0 && $user->data['is_registered'] && !$user->data['is_bot'] && (request_var('mode', '') != 'rules')) stehen, sollte aber if ($user->data['user_accept_rules'] == 0 && $user->data['is_registered'] && !$user->data['is_bot'] && (request_var('mode', '') != 'terms')) lauten.
Hast du diese Änderung schon mal getestet, denn du hast ja die Zeile gegenüber dem Mod verändert.


Noch ein anderer Vorschlag:
Du baust den Mod mit deinen Änderungen aus und baust ihn dann ohne die Änderungen wieder ein, wenn er dann läuft, dann war eine deiner Änderungen dafür verantwortlich.

Gruß Helmut
Ich bin nicht ganz dicht.... na und.
Benutzeravatar
Shorty1968
Mitglied
Beiträge: 1894
Registriert: 08.09.2011 17:37

Re: mod_accept-terms_1_0_2 kein login mehr möglich?

Beitrag von Shorty1968 »

Shorty1968 hat geschrieben: Solange deine änderungen in der functions.php sind ist das nich möglich und diese müssen ja sein wegen der user id.
Das sollte nichts machen wenn du diese an der von mir genannten Stelle eingebaut hast, es sind ja nur echo Anweisungen wo ein Wert Angezeit wird.
Leider geht es und sobald die änderunge drinne sind liegt der Login Lahm.
Es muss auch ohne && $user->data['is_founder'] gehen, bei mir läuft der Mod ja auch ohne Fehler. Klar bekommst du nen Fehler, denn is_founder ist ja nirgends definiert.
Das war so eine art Verzweiflungs Idee,dachte nicht das sie soweit Funktionieren würde,aber damit könnte ich leben wenn alles andere Funktioniert.
Den der admin/Gründer der die Regeln geändert hat muss sie ja nicht auch noch bestätigen.
Helmut hat geschrieben:Noch etwas habe ich gefunden was vielleicht die Ursache sein könnte:
Du hast in der functions.phpif ($user->data['user_accept_rules'] == 0 && $user->data['is_registered'] && !$user->data['is_bot'] && (request_var('mode', '') != 'rules')) stehen, sollte aber if ($user->data['user_accept_rules'] == 0 && $user->data['is_registered'] && !$user->data['is_bot'] && (request_var('mode', '') != 'terms')) lauten.
Hast du diese Änderung schon mal getestet, denn du hast ja die Zeile gegenüber dem Mod verändert.
Das habe ich schon getestet,aber das war es nicht.
Noch ein anderer Vorschlag:
Du baust den Mod mit deinen Änderungen aus und baust ihn dann ohne die Änderungen wieder ein, wenn er dann läuft, dann war eine deiner Änderungen dafür verantwortlich.
Auch darauf bin ich schon gekommen,aber auch beim Orginal einbau besteht das Problem.
Helmut
Mitglied
Beiträge: 2048
Registriert: 27.12.2002 20:35
Wohnort: Augsburg

Re: mod_accept-terms_1_0_2 kein login mehr möglich?

Beitrag von Helmut »

Hallo Shorty1968,

so langsam gehen mir die Ideen aus woran es liegen könnte. Du bist dir sicher dass der Wert richtig in die DB eingetragen wird wenn du die Regeln bestätigst?

Ein Effekt der bei mir auftritt ist folgender, manchmal muss ich 2x auf OK klicken damit die Regeln angenommen werden, aber nicht wenn ich ein paar Sekunden warte bis ich bestätige.

Hast du es schon mal mit einem anderen Browser versucht ob da das Verhalten gleich ist?

Gruß Helmut
Ich bin nicht ganz dicht.... na und.
Benutzeravatar
Shorty1968
Mitglied
Beiträge: 1894
Registriert: 08.09.2011 17:37

Re: mod_accept-terms_1_0_2 kein login mehr möglich?

Beitrag von Shorty1968 »

Du bist dir sicher dass der Wert richtig in die DB eingetragen wird wenn du die Regeln bestätigst?
Das ist ja das Problem das macht er beim Gründer nicht,sondern setzt es auf 0 und so bleibt es,der MOD setzt den Gründer nach bestigung nicht wider auf 1 in der Datenbank sondern bleibt bei 0 und schmeisst ihn raus.
Weil der Fehler an der änderung in der DB mit dem zurück setzen auf 1 ist,ist das verhalten bei jedem Browser gleich.

Der Fehler liegt darin das beim Gründer diese SQL ausführung nicht greift,warum weiss ich leider nicht:

Code: Alles auswählen

$sql = 'UPDATE ' . USERS_TABLE . '
				SET user_accept_rules = 1
				WHERE user_id = ' . $user->data['user_id'];
			$db->sql_query($sql);
*EDIT*
Hallo mir ist gerade eine idee gekommen,gibt es nichts was man hier einbinden kann um eine bestimmte User ID aus genommen werden soll von der abfrage?
Oder eine bestimmte User ID mit direkt angesprochen wird oder so was ähnliches?
Antworten

Zurück zu „[3.0.x] Mod Support“