Seite 1 von 3

Loginbox MOD auf jeder Seite

Verfasst: 10.02.2004 13:13
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

Verfasst: 10.02.2004 15:41
von Hypero
Geile Sache, hatte ich immer schon gesucht.
DANKE

Funktioniert übrigens einwandfrei !!! :D

Verfasst: 10.02.2004 18:11
von Razfaz
Danke für Deine Meldung, schön wenn alles klappt.

Verfasst: 10.02.2004 23:25
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

Verfasst: 11.02.2004 20:26
von Razfaz
Nee das wird nicht funktionieren. Was willste den nich einbinden, dass nen Passwort braucht?

Verfasst: 28.02.2004 22:23
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

Verfasst: 01.03.2004 15:36
von Acid
Deine externen Seiten sind nach diesem Muster aufgebaut ?

Verfasst: 08.03.2004 13:16
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

Verfasst: 08.03.2004 13:33
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.

Verfasst: 08.03.2004 14:39
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 ...