Seite 1 von 2

Login auf Hauptseite (von phpBB.com)

Verfasst: 21.12.2007 21:08
von ~| Marc |~
Hey,

ich habe mich ja vor kurzem auf die Suche nach einem Mod gemacht, bei welchem ich das Login in die Hauptseite meiner Homepage einbauen kann.

Nun bin ich auf phpBB.com auf folgenden Code gestoßen:

http://www.phpbb.com/community/viewtopi ... e#p2985241

Das Problem ist, dass dieser Beitrag schon einige Monate zurückliegt und ich nicht genau weiß, ob dieser funktioniert. Außerdem habe ich Probleme beim Einbau, da meiner Meinung nach ein paar Sachen etwas verwirrend sind.

Ich hoffe, mir kann jemand dabei helfen!

Mit freundlichen Grüßen,
Marc

Re: Login auf Hauptseite (von phpBB.com)

Verfasst: 21.12.2007 22:46
von Boecki91
~| Marc |~ hat geschrieben:nicht genau weiß, ob dieser funktioniert. Außerdem habe ich Probleme beim Einbau, da meiner Meinung nach ein paar Sachen etwas verwirrend sind.
Am besten du testest das einfach mal, was genau verwirrt dich denn?

Verfasst: 22.12.2007 12:49
von ~| Marc |~
Ich bin mir nämlich nicht genau sicher, wo und wie ich die beiden Scripte einbinde.

Der erste Codeschnipsel wird ja mit <?php ... ?> eingebunden. Nur was wird in

Code: Alles auswählen

       $cookie_session_id_key = 'phpbb3_XXX_sid'; // Your indivudal code
       $cookie_session_key = 'phpbb3_XXX_k'; // Your individual code
eingefügt?

Ich habe den zweiten Codeschnipsel auch schon versucht mit <?php ... ?> einzubinden, jedoch gibt es direkt im Script schon immer die Endtags, wodurch es immer unterbunden wird. Wie füge ich also das zweite ein?

Vielleicht könnte mir das jemand umschreiben, sodass ich es problemlos einbinden kann!

Mit freundlichen Grüßen,
Marc

Verfasst: 22.12.2007 12:58
von UGC
Du fügst ein, was da steht ;)
Sollte so klappen, sonst wäre es so nicht geschrieben :D

Verfasst: 22.12.2007 13:11
von ~| Marc |~
Einfach mit den <?php ... ?>-Tags am Anfang und zum Schluss?

Verfasst: 22.12.2007 15:20
von ~| Marc |~
Habe jetzt einmal alles eingefügt, und zwar so:

Code: Alles auswählen

<?php $userid = 0;
       $cookie_session_id_key = 'phpbb3_XXX_sid'; // Your indivudal code
       $cookie_session_key = 'phpbb3_XXX_k'; // Your individual code

       if(!empty($_COOKIE[$cookie_session_id_key]))
       {
        $result = mysql_query("SELECT session_user_id FROM phpbb_sessions WHERE session_id='".mysql_real_escape_string($_COOKIE[$cookie_session_id_key])."'");
   
        if(mysql_num_rows($result) == 1)
        {
    $userid = mysql_result($result, 0);o

    if($userid > 1)
    {
     $login = 1;

     $user = mysql_fetch_assoc(mysql_query("SELECT username FROM phpbb_users WHERE user_id=".(int)$userid));
     $nickname = $user["username"];
   
     mysql_query("UPDATE phpbb_sessions SET session_time = ".time()." WHERE session_id = '".mysql_real_escape_string($_COOKIE[$cookie_session_id_key])."'");
    }
        }
        else
        {
         $result = mysql_query("SELECT key_id, user_id FROM phpbb_sessions_keys");

         while($ds = mysql_fetch_object($result))
         {
          if($ds->key_id == md5($_COOKIE[$cookie_session_key]))
          {
      $login = 1;

      $ip = $_SERVER["REMOTE_ADDR"];
      $browser = addslashes($_SERVER["HTTP_USER_AGENT"]);

           mysql_query("INSERT INTO phpbb_sessions SET session_id = '".mysql_real_escape_string($_COOKIE[$cookie_session_id_key])."', session_user_id = '$ds->user_id', session_last_visit = ".time().", session_start = ".time().", session_time = ".time().", session_ip = '$ip', session_browser = '$browser', session_autologin = '1'");
      mysql_query("UPDATE phpbb_sessions SET last_ip = '$ip', last_login = ".time()." WHERE key_id = '".mysql_real_escape_string(md5($_COOKIE[$cookie_session_key]))."'");
   
      $user = mysql_fetch_assoc(mysql_query("SELECT username FROM phpbb_users WHERE user_id = '$ds->user_id'"));
      $nickname = $user["username"];
          }
         }   
        }
       }
	   ?>
	   
	   <?php if($login == 1)
       { ?>
        <?php echo "Hello ".$nickname;
       }
       else
       { ?>
    <form action="/community/ucp.php?mode=login" method="post"> // Individual path
       <input type="hidden" name="autologin" value="1" />
       <input type="hidden" name="login" value="Login" />
       <input type="hidden" name="site" value="<?php echo htmlentities($_SERVER["PHP_SELF"]."?".$_SERVER["QUERY_STRING"]); ?>" /> // Redirect
            <input type="text" name="username" value="Benutzername" />
       <input type="password" name="password" />
       <input type="image" src="..." />
          </form>

     <a href="/community/ucp.php?mode=register">[Registrierung]</a> // Individual path
    <?php   } ?>
Leider kommt ein Error, außerdem weiß ich jetzt nicht, durch welche Ziffern ich die XXX oben ersetzen muss!

http://www.wii-fans.de/login.php

In Zeile 13 steht folgendes:
if($userid > 1)

Verfasst: 22.12.2007 16:00
von Lord Luigi
~| Marc |~ hat geschrieben:[...]
if(mysql_num_rows($result) == 1)
{
$userid = mysql_result($result, 0);o

if($userid > 1)
{
Da steht ein o, was da sicher nicht hingehört.

Verfasst: 22.12.2007 17:03
von ~| Marc |~
Alles klar, danke, hat funktioniert!

Jetzt stehe ich jedoch vor dem nächsten Problem, dass folgende Fehler erscheinen:

Code: Alles auswählen

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/www/sp01_57/html/login.php on line 9 Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /home/www/sp01_57/html/login.php on line 27
Habe die drei XXX nun mit dem richtigen Cookie-Namen belegt!

Schaut also jetzt so aus:

Code: Alles auswählen

<?php $userid = 0;
       $cookie_session_id_key = 'phpbb3_36i51_sid'; // Your indivudal code
       $cookie_session_key = 'phpbb3_36i51_k'; // Your individual code
Ich glaube fast, dass es mit diesem Code nicht funktioniert ... aber ich lasse mich eines besseren belehren!

Verfasst: 01.01.2008 12:13
von michstro
Hallo zusammen,
Fehlt am Anfang ja zuerst einmal der connect zur Datenbank und zur Tabelle.

Code: Alles auswählen

$datenbank=mysql_connect("localhost","Benutzername","Passwort") or die ("Keine Verbindung zu mysql");
mysql_select_db('Tabelle',$datenbank) or die ("Konnte Datenbank nicht auswählen");
Wobei du natürlich zuerst einmal Benutzername Passwort und Tabelle durch eigene Werte ersetzen musst.

Dann solltest du auch sämtliche phpbb_sessions durch deine eigenen Werte ersetzen. Hast du am Anfang bei der Installation phpbb3 z.Bsp verwendet dann muss es phpbb3_sessions heissen.
Gruß Mike

Verfasst: 02.01.2008 01:04
von seoson
ein kleine frage was ist den it den 3 x gemeint durch was muss ich diese ersetzen?

Naja das hat sich erliedigt ins acp gehen und unter cookies gucken...^^