Loginbox MOD auf jeder Seite

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Razfaz
Mitglied
Beiträge: 29
Registriert: 08.10.2003 15:09
Wohnort: Hannover
Kontaktdaten:

Loginbox MOD auf jeder Seite

Beitrag von Razfaz »

Hallo,

ich weiß das es sowas in der Art schon gibt. Es ist nur etwas verfeinert.
Dieser Hack bietet die Möglichkeit, auf einer beliebigen Seite eine LoginBox zu erstellen. Diese LoginBox zeigt folgende Informationen:
  1. Login mit Name und Passwort
  2. AutoLogin
  3. Passwort vergessen
  4. Registrieren
  5. Namentliche Begrüssung
  6. Profil bearbeiten
  7. Private Nachrichten
  8. Ausloggen
So sieht das dann aus:

Nicht eingeloggt:
[ externes Bild ]

Eingeloggt:
[ externes Bild ]


Demo:
Klick hier

ACHTUNG:
Ihr müsst die URL natürlich ändern.
Weiterhin ist darauf zu achten, das wenn Ihr auf Eurer Seite weitere Hacks (nicht im Forum, sondern auf der Seite, wo Ihr die LoginBox erstellt) die nachfolgenden beiden Zeilen ausklammer ( // ).

Code: Alles auswählen

include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx); 
Hier nun der Code:

Code: Alles auswählen

<?php 
define('IN_PHPBB',true); 

$phpbb_root_path = "phpBB2/"; // set path to phpBB files 
include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx); 

$userid = $userdata['user_id']; 
$sql = "SELECT * FROM " . USER_GROUP_TABLE . " WHERE user_id = '$userid'"; 
$result = $db->sql_query($sql); 
$isauth = 0; 
while ($row = $db->sql_fetchrow($result)) 
{ 
if ($row['group_id'] == 'insert_group_id_here' || $row['group_id'] == 'insert_group_id_here') 
{ 
$isauth = 1; 
} 
} 

if($userdata['session_logged_in']){ 
?> 

<div align="left"> 
<center><font size="1" face="Verdana">Hallo, <?php echo $userdata[username] ?>! 
</font></center> 
</div><br> 
<div class="nav"><font face="Verdana"><font size="1">:: </font>
	<a class="nav" href="http://www.clantools.de/phpBB2/profile.php?mode=editprofile">
	<font size="1">Profil bearbeiten</font></a></font></div> 
<div class="nav"><font face="Verdana"><font size="1">:: </font>
	<a class="nav" href="http://www.clantools.de/phpBB2/privmsg.php?folder=inbox">
	<font size="1">Private Nachrichten</font></a></font></div> 
<div class="nav"><font face="Verdana"><font size="1">:: </font>
	<a class="nav" href="http://www.clantools.de/phpBB2/login.php?logout=true&redirect=../index.php">
	<font size="1">Ausloggen</font></a></font></div> 

<font size="1" face="Verdana"> 

<?php 
}else{ 
?> 

</font> 

<form action="http://www.clantools.de/phpBB2/login.php" method="post"><table border="0" cellpadding="3" cellspacing="1" width="100%"> 
        <tr> 
         <td> 
           <font size="1" face="Verdana">Username:<br>
           <input class="searchbox" type="text" name="username" size="10" maxlength="40"> 
         	</font> 
         </td> 
        </tr> 
        <tr> 
         <td> 
           <font size="1" face="Verdana">Passwort:<br>
           <input class="searchbox" type="password" name="password" size="10" maxlength="25">
			</font><br> 
			<font size="1" face="Verdana">Auto Login: </font>
      <font face="Verdana" size="1"><input class="text" type="checkbox" name="autologin"></font><br>
         </td> 
        </tr> 
        <tr align="center"> 
         <td colspan="2"><font size="1" face="Verdana"><input type="submit" name="login" value="Login"></font></td> 
        </tr> 
        <tr align="center"> 
         <td colspan="2"><font face="Verdana"><span class="smalltext">
			<font size="1">
			<a href="http://www.clantools.de/phpBB2/profile.php?mode=sendpassword" class="smalllink">Passwort 
			vergessen?</a></font></span><br>
			<font size="1">
			<a href="http://www.clantools.de/phpBB2/profile.php?mode=register">Registrieren</a></font><font size="1">! 

			</font></font></td> 
        </tr> 
      </table> 
	  <input type="hidden" name="redirect" value="../index.php">
</form> 
&nbsp; 

<?php 
} 
?>
Hoffe es klappt !
Gruß
Razfaz
Zuletzt geändert von Razfaz am 29.05.2004 10:59, insgesamt 1-mal geändert.
Gruß, RAZFAZ
Hypero
Mitglied
Beiträge: 10
Registriert: 10.02.2004 15:40

Beitrag von Hypero »

Geile Sache, hatte ich immer schon gesucht.
DANKE

Funktioniert übrigens einwandfrei !!! :D
Razfaz
Mitglied
Beiträge: 29
Registriert: 08.10.2003 15:09
Wohnort: Hannover
Kontaktdaten:

Beitrag von Razfaz »

Danke für Deine Meldung, schön wenn alles klappt.
Gruß, RAZFAZ
Hypero
Mitglied
Beiträge: 10
Registriert: 10.02.2004 15:40

Beitrag von Hypero »

Hallo Razfaz,

kann ich das ganze auch global für andere Scripte benutzen, so dass der Besucher sich nur einmal einloggen muss? Bin noch nen Newbie in Sachen PHP !!! :oops:

Hypero
Razfaz
Mitglied
Beiträge: 29
Registriert: 08.10.2003 15:09
Wohnort: Hannover
Kontaktdaten:

Beitrag von Razfaz »

Nee das wird nicht funktionieren. Was willste den nich einbinden, dass nen Passwort braucht?
Gruß, RAZFAZ
Benutzeravatar
SirBerberitz
Mitglied
Beiträge: 8
Registriert: 17.02.2004 01:42
Wohnort: OktoberfestCity

Beitrag von SirBerberitz »

Also ich werd jetzt noch wahnsinnig mit dem Login Problem das ich jetzt seit Tagen oder Wochen habe.

Ich habe jetzt sicher alle moeglichen Beitraege in diesem Forum zu diesem Thema vorwaerts und rueckwaerts probiert - es klappt nicht und wies jetzt aussieht, geh ich hier noch ein weil mir keiner helfen kann, dieses Problem zu loesen.

Ich moechte - wie viele hier - meine eigene Seite passworttechnisch in dieses Forum einbinden.

Einmal anmelden, und der User hat Zugsang zu saemtliche passwortgeschuetzte Bereichen. Ob mit Cookies oder anders ist mir voellig wursch - funktionieren soll es einfach.

Bei diesem Beitrag habe ich alles gemacht was noetig ist.
Wenn ich die Zeilen

Code: Alles auswählen

include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx);
weglasse, kommt folgender Fehler:

Code: Alles auswählen

Fatal error: Call to a member function on a non-object in /kunden/my_domain.com/de/php/rechteseite.php on line 105
also gehe ich davon aus, dass ich die Zeilen mitnehmen muss.

Die andere Moeglichkeit funktioniert aber nur bedingt, ich moechte dass sich nach erfolgreichem Login, die selbe Seite laedt - nicht die Login-Seite des Forums und sich die Seite wie von User Razfaz beschrieben von
nicht eingeloggt
nach
eingeloggt
aendert.

Leider ist das im Moment nicht der Fall. Ich bekomme weder die Aenderung der Seite, noch eine Fehlermeldung.

BITTE, BITTE, BITTE - FUEHRE MICH JEMAND ZUM ERFOLG !!!

Fettes Merci & Gruss
SirBerberitz
Die Hoelle, das sind die anderen. J.P. Satre
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Deine externen Seiten sind nach diesem Muster aufgebaut ?
Benutzeravatar
SirBerberitz
Mitglied
Beiträge: 8
Registriert: 17.02.2004 01:42
Wohnort: OktoberfestCity

Beitrag von SirBerberitz »

@ Acid:

nee, ich habe jetzt nur das Skript vom Razfaz genommen. Das andere hatte ich schon genommen, hat aber leider nicht funktioniert.

======

Witzigerweise funktioniert das jetzt bei mir soweit, dass nach erfolgreichem Login eine Session erstellt wird [oben in der URL-Leiste zu sehen] und wenn ich ueber den Link das Forum aufrufe, wird die Session ausgelesen und ich bin im Forum eingeloggt. PASST.

Leider funktioniert die Aenderung von
nicht eingeloggt
nach
eingeloggt
noch nicht.

Muss ich vielleicht hier

Code: Alles auswählen

$userid = $userdata['user_id']; 
$sql = "SELECT * FROM " . USER_GROUP_TABLE . " WHERE user_id = '$userid'"; 
$result = $db->sql_query($sql); 
$isauth = 0; 
while ($row = $db->sql_fetchrow($result)) 
{ 
if ($row['group_id'] == 'insert_group_id_here' || $row['group_id'] == 'insert_group_id_here') 
{ 
$isauth = 1; 
} 
}
noch was aendern, bzw mit meiner MySQL DB abgleichen ???

Fragen ueber Fragen - vieleicht weiss einer die Antwort, ich bin so kurz davor ...

Merci

SirBerberitz
Die Hoelle, das sind die anderen. J.P. Satre
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

hm.. beim obigen Script wird ja die login.php des Forums genutzt. Und in dieser steht die Umleitung zum Forenindex nach erfolgreichem Login/Logout drin. Da ja sicherlich im eigentlichen Forum weiterhin auf index.php weitergeleitet werden soll, könntest du die login.php duplizieren, den Verweis im <form> Tag beim obigen Script auf login2.php umändern und in dieser die redirects dann auf deine gewünschte Seite/Datei umändern.
Benutzeravatar
SirBerberitz
Mitglied
Beiträge: 8
Registriert: 17.02.2004 01:42
Wohnort: OktoberfestCity

Beitrag von SirBerberitz »

Ich hatte das bislang so geloest:

Code: Alles auswählen

<form action="http://www.meine_seite.de/de/forum/login.php?redirect=../php/index.php" method="post">
was denke ich den selben Effekt hat wie die Loesung von dir, die ich jetzt ausprobiert habe und die leider auch nicht funktioniert. Bei mir zumindest. :cry:

Ich bin ja im Prinzip auch eingeloggt, moechte aber, dass der User das auch genau sieht, indem sich der Loginbereich in einen Logoutbereich aendert. Und das tut's nicht. Das ist mein einziges Problem im Moment ...
Die Hoelle, das sind die anderen. J.P. Satre
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“